Chromium Code Reviews| Index: webrtc/common_video/include/incoming_video_stream.h |
| diff --git a/webrtc/common_video/include/incoming_video_stream.h b/webrtc/common_video/include/incoming_video_stream.h |
| index b6ab917bc18197610e76e583bb10c7cb1d2883bd..cfa3cc97df5be0df9a81e0fa908f2cec1b752ab3 100644 |
| --- a/webrtc/common_video/include/incoming_video_stream.h |
| +++ b/webrtc/common_video/include/incoming_video_stream.h |
| @@ -17,34 +17,26 @@ |
| #include "webrtc/base/platform_thread.h" |
| #include "webrtc/base/thread_annotations.h" |
| #include "webrtc/common_video/video_render_frames.h" |
| +#include "webrtc/media/base/videosinkinterface.h" |
| namespace webrtc { |
| class EventTimerWrapper; |
| -class VideoRenderCallback { |
| - public: |
| - virtual int32_t RenderFrame(const uint32_t streamId, |
| - const VideoFrame& videoFrame) = 0; |
| - |
| - protected: |
| - virtual ~VideoRenderCallback() {} |
| -}; |
| -class IncomingVideoStream : public VideoRenderCallback { |
| +class IncomingVideoStream : public rtc::VideoSinkInterface<VideoFrame> { |
|
perkj_webrtc
2016/03/22 09:06:59
I suspect this whole class can be removed...
nisse-webrtc
2016/03/22 10:36:03
Maybe, but not trivially. It's the place where the
|
| public: |
| - IncomingVideoStream(uint32_t stream_id, bool disable_prerenderer_smoothing); |
| + IncomingVideoStream(bool disable_prerenderer_smoothing); |
| ~IncomingVideoStream(); |
| // Get callback to deliver frames to the module. |
| - VideoRenderCallback* ModuleCallback(); |
| - virtual int32_t RenderFrame(const uint32_t stream_id, |
| - const VideoFrame& video_frame); |
| + rtc::VideoSinkInterface<VideoFrame>* ModuleCallback(); |
| + void OnFrame(const VideoFrame& video_frame) override; |
| // Set callback to the platform dependent code. |
| - void SetRenderCallback(VideoRenderCallback* render_callback); |
| + void SetRenderCallback(rtc::VideoSinkInterface<VideoFrame>* render_callback); |
| // Callback for file recording, snapshot, ... |
| - void SetExternalCallback(VideoRenderCallback* render_object); |
| + void SetExternalCallback(rtc::VideoSinkInterface<VideoFrame>* render_object); |
| // Start/Stop. |
| int32_t Start(); |
| @@ -54,7 +46,6 @@ class IncomingVideoStream : public VideoRenderCallback { |
| int32_t Reset(); |
| // Properties. |
| - uint32_t StreamId() const; |
| uint32_t IncomingRate() const; |
| void SetStartImage(const VideoFrame& video_frame); |
| @@ -75,7 +66,6 @@ class IncomingVideoStream : public VideoRenderCallback { |
| void DeliverFrame(const VideoFrame& video_frame); |
| - uint32_t const stream_id_; |
| const bool disable_prerenderer_smoothing_; |
| // Critsects in allowed to enter order. |
| rtc::CriticalSection stream_critsect_; |
| @@ -88,8 +78,8 @@ class IncomingVideoStream : public VideoRenderCallback { |
| std::unique_ptr<EventTimerWrapper> deliver_buffer_event_; |
| bool running_ GUARDED_BY(stream_critsect_); |
| - VideoRenderCallback* external_callback_ GUARDED_BY(thread_critsect_); |
| - VideoRenderCallback* render_callback_ GUARDED_BY(thread_critsect_); |
| + rtc::VideoSinkInterface<VideoFrame>* external_callback_ GUARDED_BY(thread_critsect_); |
| + rtc::VideoSinkInterface<VideoFrame>* render_callback_ GUARDED_BY(thread_critsect_); |
| const std::unique_ptr<VideoRenderFrames> render_buffers_ |
| GUARDED_BY(buffer_critsect_); |