Chromium Code Reviews| Index: content/renderer/media/rtc_video_renderer.h |
| diff --git a/content/renderer/media/rtc_video_renderer.h b/content/renderer/media/rtc_video_renderer.h |
| index d7bb9869dab8b5c2fd49222b813b28c3d03fd9c9..e891b88ee6734fc40decd04df6d1b8979766017d 100644 |
| --- a/content/renderer/media/rtc_video_renderer.h |
| +++ b/content/renderer/media/rtc_video_renderer.h |
| @@ -2,13 +2,14 @@ |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| -#ifndef CONTENT_RENDERER_MEDIA_LOCAL_VIDEO_RENDERER_H_ |
| -#define CONTENT_RENDERER_MEDIA_LOCAL_VIDEO_RENDERER_H_ |
| +#ifndef CONTENT_RENDERER_MEDIA_RTC_VIDEO_RENDERER_H_ |
| +#define CONTENT_RENDERER_MEDIA_RTC_VIDEO_RENDERER_H_ |
| #include "base/callback.h" |
| #include "content/common/content_export.h" |
| +#include "content/public/renderer/media_stream_video_sink.h" |
| #include "content/renderer/media/video_frame_provider.h" |
| -#include "third_party/libjingle/source/talk/app/webrtc/mediastreaminterface.h" |
| +#include "third_party/WebKit/public/platform/WebMediaStreamTrack.h" |
| #include "ui/gfx/size.h" |
| namespace base { |
| @@ -20,23 +21,20 @@ namespace content { |
| // RTCVideoRenderer is a VideoFrameProvider designed for rendering |
| // Video MediaStreamTracks, |
| // http://dev.w3.org/2011/webrtc/editor/getusermedia.html#mediastreamtrack |
| -// RTCVideoRenderer implements webrtc::VideoRendererInterface in order to render |
| -// video frames provided from a webrtc::VideoTrackInteface. |
| -// RTCVideoRenderer register itself to the Video Track when the |
| +// RTCVideoRenderer implements VideoTrackSink in order to render |
| +// video frames provided from a VideoTrack. |
| +// RTCVideoRenderer register itself as a sink to the VideoTrack when the |
| // VideoFrameProvider is started and deregisters itself when it is stopped. |
| -// Calls to webrtc::VideoTrackInterface must occur on the main thread. |
| // TODO(wuchengli): Add unit test. See the link below for reference. |
| // http://src.chromium.org/viewvc/chrome/trunk/src/content/renderer/media/rtc_vi |
| // deo_decoder_unittest.cc?revision=180591&view=markup |
| class CONTENT_EXPORT RTCVideoRenderer |
| : NON_EXPORTED_BASE(public VideoFrameProvider), |
| - NON_EXPORTED_BASE(public webrtc::VideoRendererInterface), |
| - NON_EXPORTED_BASE(public webrtc::ObserverInterface) { |
| + NON_EXPORTED_BASE(public MediaStreamVideoSink) { |
| public: |
| - RTCVideoRenderer( |
| - webrtc::VideoTrackInterface* video_track, |
| - const base::Closure& error_cb, |
| - const RepaintCB& repaint_cb); |
| + RTCVideoRenderer(const blink::WebMediaStreamTrack& video_track, |
| + const base::Closure& error_cb, |
| + const RepaintCB& repaint_cb); |
| // VideoFrameProvider implementation. Called on the main thread. |
| virtual void Start() OVERRIDE; |
| @@ -44,14 +42,6 @@ class CONTENT_EXPORT RTCVideoRenderer |
| virtual void Play() OVERRIDE; |
| virtual void Pause() OVERRIDE; |
| - // webrtc::VideoRendererInterface implementation. May be called on |
| - // a different thread. |
| - virtual void SetSize(int width, int height) OVERRIDE; |
| - virtual void RenderFrame(const cricket::VideoFrame* frame) OVERRIDE; |
| - |
| - // webrtc::ObserverInterface implementation. |
| - virtual void OnChanged() OVERRIDE; |
| - |
| protected: |
| virtual ~RTCVideoRenderer(); |
| @@ -62,20 +52,24 @@ class CONTENT_EXPORT RTCVideoRenderer |
| kStopped, |
| }; |
| - void MaybeRenderSignalingFrame(); |
| - void DoRenderFrameOnMainThread(scoped_refptr<media::VideoFrame> video_frame); |
| + // VideoTrackSink implementation. Called on the main thread. |
| + virtual void OnVideoFrame( |
| + const scoped_refptr<media::VideoFrame>& frame) OVERRIDE; |
| + virtual void OnReadyStateChanged( |
| + blink::WebMediaStreamSource::ReadyState state) OVERRIDE; |
| + |
| + void MaybeRenderSignalingFrame( |
| + blink::WebMediaStreamSource::ReadyState state); |
| base::Closure error_cb_; |
| RepaintCB repaint_cb_; |
| scoped_refptr<base::MessageLoopProxy> message_loop_proxy_; |
| State state_; |
| - |
| - // The video track the renderer is connected to. |
| - scoped_refptr<webrtc::VideoTrackInterface> video_track_; |
| + blink::WebMediaStreamTrack video_track_; |
|
Alpha Left Google
2013/12/02 17:44:37
Sorry I missed this before. I don't think it is sa
perkj_chrome
2013/12/03 16:14:17
Are you sure this is a problem?
To my understandi
|
| DISALLOW_COPY_AND_ASSIGN(RTCVideoRenderer); |
| }; |
| } // namespace content |
| -#endif // CONTENT_RENDERER_MEDIA_LOCAL_VIDEO_RENDERER_H_ |
| +#endif // CONTENT_RENDERER_MEDIA_RTC_VIDEO_RENDERER_H_ |