Make VideoTrack and VideoTrackRenderers implement rtc::VideoSourceInterface.
This patch tries to only change the interface to VideoTrack, with
minimal changes to the implementation. Some points worth noting:
VideoTrackRenderers should ultimately be deleted, but it is kept for
now since we need an object implementing webrtc::VideoRenderer, and
that shouldn't be VideoTrack.
BUG=webrtc:5426
TBR=glaznev@webrtc.org // please look at examples
Review URL: https://codereview.webrtc.org/1684423002
Cr-Commit-Position: refs/heads/master@{#11775}
diff --git a/webrtc/examples/peerconnection/client/linux/main_wnd.cc b/webrtc/examples/peerconnection/client/linux/main_wnd.cc
index cf98c1c..5a9c268 100644
--- a/webrtc/examples/peerconnection/client/linux/main_wnd.cc
+++ b/webrtc/examples/peerconnection/client/linux/main_wnd.cc
@@ -460,11 +460,11 @@
height_(0),
main_wnd_(main_wnd),
rendered_track_(track_to_render) {
- rendered_track_->AddRenderer(this);
+ rendered_track_->AddOrUpdateSink(this, rtc::VideoSinkWants());
}
GtkMainWnd::VideoRenderer::~VideoRenderer() {
- rendered_track_->RemoveRenderer(this);
+ rendered_track_->RemoveSink(this);
}
void GtkMainWnd::VideoRenderer::SetSize(int width, int height) {
@@ -480,11 +480,11 @@
gdk_threads_leave();
}
-void GtkMainWnd::VideoRenderer::RenderFrame(
- const cricket::VideoFrame* video_frame) {
+void GtkMainWnd::VideoRenderer::OnFrame(
+ const cricket::VideoFrame& video_frame) {
gdk_threads_enter();
- const cricket::VideoFrame* frame = video_frame->GetCopyWithRotationApplied();
+ const cricket::VideoFrame* frame = video_frame.GetCopyWithRotationApplied();
SetSize(static_cast<int>(frame->GetWidth()),
static_cast<int>(frame->GetHeight()));
@@ -511,5 +511,3 @@
g_idle_add(Redraw, main_wnd_);
}
-
-