Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(418)

Side by Side Diff: content/renderer/media/rtc_video_renderer.h

Issue 18123002: Migrate webkit/renderer/media/ to content/renderer/media/. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef CONTENT_RENDERER_MEDIA_LOCAL_VIDEO_RENDERER_H_ 5 #ifndef CONTENT_RENDERER_MEDIA_LOCAL_VIDEO_RENDERER_H_
6 #define CONTENT_RENDERER_MEDIA_LOCAL_VIDEO_RENDERER_H_ 6 #define CONTENT_RENDERER_MEDIA_LOCAL_VIDEO_RENDERER_H_
7 7
8 #include "base/callback.h" 8 #include "base/callback.h"
9 #include "content/common/content_export.h" 9 #include "content/common/content_export.h"
10 #include "content/renderer/media/video_frame_provider.h"
10 #include "third_party/libjingle/source/talk/app/webrtc/mediastreaminterface.h" 11 #include "third_party/libjingle/source/talk/app/webrtc/mediastreaminterface.h"
11 #include "ui/gfx/size.h" 12 #include "ui/gfx/size.h"
12 #include "webkit/renderer/media/video_frame_provider.h"
13 13
14 namespace base { 14 namespace base {
15 class MessageLoopProxy; 15 class MessageLoopProxy;
16 } 16 }
17 17
18 namespace content { 18 namespace content {
19 19
20 // RTCVideoRenderer is a webkit_media::VideoFrameProvider designed for rendering 20 // RTCVideoRenderer is a VideoFrameProvider designed for rendering
21 // Video MediaStreamTracks, 21 // Video MediaStreamTracks,
22 // http://dev.w3.org/2011/webrtc/editor/getusermedia.html#mediastreamtrack 22 // http://dev.w3.org/2011/webrtc/editor/getusermedia.html#mediastreamtrack
23 // RTCVideoRenderer implements webrtc::VideoRendererInterface in order to render 23 // RTCVideoRenderer implements webrtc::VideoRendererInterface in order to render
24 // video frames provided from a webrtc::VideoTrackInteface. 24 // video frames provided from a webrtc::VideoTrackInteface.
25 // RTCVideoRenderer register itself to the Video Track when the 25 // RTCVideoRenderer register itself to the Video Track when the
26 // VideoFrameProvider is started and deregisters itself when it is stopped. 26 // VideoFrameProvider is started and deregisters itself when it is stopped.
27 // Calls to webrtc::VideoTrackInterface must occur on the main thread. 27 // Calls to webrtc::VideoTrackInterface must occur on the main thread.
28 // TODO(wuchengli): Add unit test. See the link below for reference. 28 // TODO(wuchengli): Add unit test. See the link below for reference.
29 // http://src.chromium.org/viewvc/chrome/trunk/src/content/renderer/media/rtc_vi 29 // http://src.chromium.org/viewvc/chrome/trunk/src/content/renderer/media/rtc_vi
30 // deo_decoder_unittest.cc?revision=180591&view=markup 30 // deo_decoder_unittest.cc?revision=180591&view=markup
31 class CONTENT_EXPORT RTCVideoRenderer 31 class CONTENT_EXPORT RTCVideoRenderer
32 : NON_EXPORTED_BASE(public webkit_media::VideoFrameProvider), 32 : NON_EXPORTED_BASE(public VideoFrameProvider),
33 NON_EXPORTED_BASE(public webrtc::VideoRendererInterface), 33 NON_EXPORTED_BASE(public webrtc::VideoRendererInterface),
34 NON_EXPORTED_BASE(public webrtc::ObserverInterface) { 34 NON_EXPORTED_BASE(public webrtc::ObserverInterface) {
35 public: 35 public:
36 RTCVideoRenderer( 36 RTCVideoRenderer(
37 webrtc::VideoTrackInterface* video_track, 37 webrtc::VideoTrackInterface* video_track,
38 const base::Closure& error_cb, 38 const base::Closure& error_cb,
39 const RepaintCB& repaint_cb); 39 const RepaintCB& repaint_cb);
40 40
41 // webkit_media::VideoFrameProvider implementation. Called on the main thread. 41 // VideoFrameProvider implementation. Called on the main thread.
42 virtual void Start() OVERRIDE; 42 virtual void Start() OVERRIDE;
43 virtual void Stop() OVERRIDE; 43 virtual void Stop() OVERRIDE;
44 virtual void Play() OVERRIDE; 44 virtual void Play() OVERRIDE;
45 virtual void Pause() OVERRIDE; 45 virtual void Pause() OVERRIDE;
46 46
47 // webrtc::VideoRendererInterface implementation. May be called on 47 // webrtc::VideoRendererInterface implementation. May be called on
48 // a different thread. 48 // a different thread.
49 virtual void SetSize(int width, int height) OVERRIDE; 49 virtual void SetSize(int width, int height) OVERRIDE;
50 virtual void RenderFrame(const cricket::VideoFrame* frame) OVERRIDE; 50 virtual void RenderFrame(const cricket::VideoFrame* frame) OVERRIDE;
51 51
(...skipping 20 matching lines...) Expand all
72 72
73 // The video track the renderer is connected to. 73 // The video track the renderer is connected to.
74 scoped_refptr<webrtc::VideoTrackInterface> video_track_; 74 scoped_refptr<webrtc::VideoTrackInterface> video_track_;
75 75
76 DISALLOW_COPY_AND_ASSIGN(RTCVideoRenderer); 76 DISALLOW_COPY_AND_ASSIGN(RTCVideoRenderer);
77 }; 77 };
78 78
79 } // namespace content 79 } // namespace content
80 80
81 #endif // CONTENT_RENDERER_MEDIA_LOCAL_VIDEO_RENDERER_H_ 81 #endif // CONTENT_RENDERER_MEDIA_LOCAL_VIDEO_RENDERER_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698