| 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
|
|
|