diff options
author | nisse <nisse@chromium.org> | 2016-03-17 02:57:56 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2016-03-17 09:59:13 +0000 |
commit | c69f2f97d6b9e4cf13d8fad44fad45eded6a119f (patch) | |
tree | e93e42ff48290769c490cb9d6e46746f9e10cf03 /remoting | |
parent | 983f26ab52a1e2e0f6f6512dbb1810b41c34c169 (diff) | |
download | chromium_src-c69f2f97d6b9e4cf13d8fad44fad45eded6a119f.zip chromium_src-c69f2f97d6b9e4cf13d8fad44fad45eded6a119f.tar.gz chromium_src-c69f2f97d6b9e4cf13d8fad44fad45eded6a119f.tar.bz2 |
Replace all uses of webrtc::VideoRendererInterface by rtc::VideoSinkInterface.
BUG=webrtc:5426
Review URL: https://codereview.chromium.org/1809623002
Cr-Commit-Position: refs/heads/master@{#381678}
Diffstat (limited to 'remoting')
-rw-r--r-- | remoting/protocol/webrtc_video_renderer_adapter.cc | 10 | ||||
-rw-r--r-- | remoting/protocol/webrtc_video_renderer_adapter.h | 12 |
2 files changed, 14 insertions, 8 deletions
diff --git a/remoting/protocol/webrtc_video_renderer_adapter.cc b/remoting/protocol/webrtc_video_renderer_adapter.cc index ec38ed5..1dcd4ac 100644 --- a/remoting/protocol/webrtc_video_renderer_adapter.cc +++ b/remoting/protocol/webrtc_video_renderer_adapter.cc @@ -41,23 +41,23 @@ WebrtcVideoRendererAdapter::WebrtcVideoRendererAdapter( LOG(WARNING) << "Received media stream with multiple video tracks."; } - video_tracks[0]->AddRenderer(this); + video_tracks[0]->AddOrUpdateSink(this, rtc::VideoSinkWants()); } WebrtcVideoRendererAdapter::~WebrtcVideoRendererAdapter() { DCHECK(task_runner_->BelongsToCurrentThread()); } -void WebrtcVideoRendererAdapter::RenderFrame(const cricket::VideoFrame* frame) { - // TODO(sergeyu): WebRTC calls RenderFrame on a separate thread it creates. +void WebrtcVideoRendererAdapter::OnFrame(const cricket::VideoFrame& frame) { + // TODO(sergeyu): WebRTC calls OnFrame on a separate thread it creates. // FrameConsumer normally expects to be called on the network thread, so we // cannot call FrameConsumer::AllocateFrame() here and instead // BasicDesktopFrame is created directly. This will not work correctly with // all FrameConsumer implementations. Fix this somehow. scoped_ptr<webrtc::DesktopFrame> rgb_frame(new webrtc::BasicDesktopFrame( - webrtc::DesktopSize(frame->GetWidth(), frame->GetHeight()))); + webrtc::DesktopSize(frame.GetWidth(), frame.GetHeight()))); - frame->ConvertToRgbBuffer( + frame.ConvertToRgbBuffer( output_format_fourcc_, rgb_frame->data(), std::abs(rgb_frame->stride()) * rgb_frame->size().height(), rgb_frame->stride()); diff --git a/remoting/protocol/webrtc_video_renderer_adapter.h b/remoting/protocol/webrtc_video_renderer_adapter.h index e9cbb72..f05e0b2 100644 --- a/remoting/protocol/webrtc_video_renderer_adapter.h +++ b/remoting/protocol/webrtc_video_renderer_adapter.h @@ -8,6 +8,7 @@ #include "base/memory/ref_counted.h" #include "base/memory/weak_ptr.h" #include "third_party/webrtc/api/mediastreaminterface.h" +#include "third_party/webrtc/media/base/videosinkinterface.h" namespace base { class SingleThreadTaskRunner; @@ -17,12 +18,17 @@ namespace webrtc { class DesktopFrame; } // namespace webrtc +namespace cricket { +class VideoFrame; +} // namespace cricket + namespace remoting { namespace protocol { class FrameConsumer; -class WebrtcVideoRendererAdapter : public webrtc::VideoRendererInterface { +class WebrtcVideoRendererAdapter + : public rtc::VideoSinkInterface<cricket::VideoFrame> { public: WebrtcVideoRendererAdapter( scoped_refptr<webrtc::MediaStreamInterface> media_stream, @@ -31,8 +37,8 @@ class WebrtcVideoRendererAdapter : public webrtc::VideoRendererInterface { std::string label() const { return media_stream_->label(); } - // webrtc::VideoRendererInterface implementation. - void RenderFrame(const cricket::VideoFrame* frame) override; + // rtc::VideoSinkInterface implementation. + void OnFrame(const cricket::VideoFrame& frame) override; private: void DrawFrame(scoped_ptr<webrtc::DesktopFrame> frame); |