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_);
 }
-
-