summaryrefslogtreecommitdiffstats
path: root/remoting
diff options
context:
space:
mode:
authornisse <nisse@chromium.org>2016-03-17 02:57:56 -0700
committerCommit bot <commit-bot@chromium.org>2016-03-17 09:59:13 +0000
commitc69f2f97d6b9e4cf13d8fad44fad45eded6a119f (patch)
treee93e42ff48290769c490cb9d6e46746f9e10cf03 /remoting
parent983f26ab52a1e2e0f6f6512dbb1810b41c34c169 (diff)
downloadchromium_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.cc10
-rw-r--r--remoting/protocol/webrtc_video_renderer_adapter.h12
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);