Index: webrtc/video_send_stream.h |
diff --git a/webrtc/video_send_stream.h b/webrtc/video_send_stream.h |
index 2948d46874245962bf3488b2090952abc4f9f2d6..afdec43c745cc2cc877b416ef5150f6d27c0cecb 100644 |
--- a/webrtc/video_send_stream.h |
+++ b/webrtc/video_send_stream.h |
@@ -19,13 +19,24 @@ |
#include "webrtc/common_video/include/frame_callback.h" |
#include "webrtc/config.h" |
#include "webrtc/media/base/videosinkinterface.h" |
-#include "webrtc/media/base/videosourceinterface.h" |
#include "webrtc/transport.h" |
namespace webrtc { |
class LoadObserver; |
class VideoEncoder; |
+ |
+// Class to deliver captured frame to the video send stream. |
+class VideoCaptureInput { |
+ public: |
+ // These methods do not lock internally and must be called sequentially. |
+ // If your application switches input sources synchronization must be done |
+ // externally to make sure that any old frames are not delivered concurrently. |
+ virtual void IncomingCapturedFrame(const VideoFrame& video_frame) = 0; |
+ |
+ protected: |
+ virtual ~VideoCaptureInput() {} |
+}; |
class VideoSendStream { |
public: |
@@ -182,8 +193,9 @@ |
// When a stream is stopped, it can't receive, process or deliver packets. |
virtual void Stop() = 0; |
- virtual void SetSource( |
- rtc::VideoSourceInterface<webrtc::VideoFrame>* source) = 0; |
+ // Gets interface used to insert captured frames. Valid as long as the |
+ // VideoSendStream is valid. |
+ virtual VideoCaptureInput* Input() = 0; |
// Set which streams to send. Must have at least as many SSRCs as configured |
// in the config. Encoder settings are passed on to the encoder instance along |