| Index: content/renderer/media/media_stream_video_renderer_sink.h
|
| diff --git a/content/renderer/media/media_stream_video_renderer_sink.h b/content/renderer/media/media_stream_video_renderer_sink.h
|
| index ed30c2ac7c3fc7450ed37f7eb3fc77a47b20746e..35f7d025b09696b45605f56612316335da09c188 100644
|
| --- a/content/renderer/media/media_stream_video_renderer_sink.h
|
| +++ b/content/renderer/media/media_stream_video_renderer_sink.h
|
| @@ -11,12 +11,18 @@
|
| #include "content/common/media/video_capture.h"
|
| #include "content/public/renderer/media_stream_video_sink.h"
|
| #include "content/public/renderer/video_frame_provider.h"
|
| +#include "media/video/gpu_memory_buffer_video_frame_pool.h"
|
| #include "third_party/WebKit/public/platform/WebMediaStreamTrack.h"
|
| #include "ui/gfx/geometry/size.h"
|
|
|
| namespace base {
|
| class SingleThreadTaskRunner;
|
| -}
|
| +class TaskRunner;
|
| +} // namespace base
|
| +
|
| +namespace media {
|
| +class GpuVideoAcceleratorFactories;
|
| +} // namespace media
|
|
|
| namespace content {
|
|
|
| @@ -36,15 +42,21 @@ class CONTENT_EXPORT MediaStreamVideoRendererSink
|
| : NON_EXPORTED_BASE(public VideoFrameProvider),
|
| NON_EXPORTED_BASE(public MediaStreamVideoSink) {
|
| public:
|
| - MediaStreamVideoRendererSink(const blink::WebMediaStreamTrack& video_track,
|
| - const base::Closure& error_cb,
|
| - const RepaintCB& repaint_cb);
|
| + MediaStreamVideoRendererSink(
|
| + const blink::WebMediaStreamTrack& video_track,
|
| + const base::Closure& error_cb,
|
| + const RepaintCB& repaint_cb,
|
| + const scoped_refptr<base::SingleThreadTaskRunner>& media_task_runner,
|
| + const scoped_refptr<base::TaskRunner>& worker_task_runner,
|
| + const scoped_refptr<media::GpuVideoAcceleratorFactories>& gpu_factories);
|
|
|
| // VideoFrameProvider implementation. Called on the main thread.
|
| void Start() override;
|
| void Stop() override;
|
| void Play() override;
|
| void Pause() override;
|
| + void SetGpuMemoryBufferVideoForTesting(
|
| + scoped_ptr<media::GpuMemoryBufferVideoFramePool> gpu_memory_buffer_pool);
|
|
|
| protected:
|
| ~MediaStreamVideoRendererSink() override;
|
| @@ -59,6 +71,7 @@ class CONTENT_EXPORT MediaStreamVideoRendererSink
|
|
|
| void OnVideoFrame(const scoped_refptr<media::VideoFrame>& frame,
|
| base::TimeTicks estimated_capture_time);
|
| + void FrameReady(const scoped_refptr<media::VideoFrame>& frame);
|
|
|
| // MediaStreamVideoSink implementation. Called on the main thread.
|
| void OnReadyStateChanged(
|
| @@ -68,10 +81,16 @@ class CONTENT_EXPORT MediaStreamVideoRendererSink
|
|
|
| const base::Closure error_cb_;
|
| const RepaintCB repaint_cb_;
|
| +
|
| const scoped_refptr<base::SingleThreadTaskRunner> task_runner_;
|
| State state_;
|
| gfx::Size frame_size_;
|
| const blink::WebMediaStreamTrack video_track_;
|
| +
|
| + // Pool of GpuMemoryBuffers and resources used to create hardware frames.
|
| + scoped_ptr<media::GpuMemoryBufferVideoFramePool> gpu_memory_buffer_pool_;
|
| + const scoped_refptr<base::SingleThreadTaskRunner> media_task_runner_;
|
| +
|
| base::WeakPtrFactory<MediaStreamVideoRendererSink> weak_factory_;
|
|
|
| DISALLOW_COPY_AND_ASSIGN(MediaStreamVideoRendererSink);
|
|
|