Index: media/renderers/video_renderer_impl.cc |
diff --git a/media/renderers/video_renderer_impl.cc b/media/renderers/video_renderer_impl.cc |
index 8d3f2ae0e41c75f9cbdc64fa902829294493961b..9487782461b98a01b2b7413b06fb40f8955dd3a5 100644 |
--- a/media/renderers/video_renderer_impl.cc |
+++ b/media/renderers/video_renderer_impl.cc |
@@ -21,6 +21,8 @@ |
#include "media/base/media_switches.h" |
#include "media/base/pipeline.h" |
#include "media/base/video_frame.h" |
+#include "media/renderers/gpu_video_accelerator_factories.h" |
+#include "media/video/gpu_memory_buffer_video_frame_pool.h" |
namespace media { |
@@ -43,6 +45,7 @@ VideoRendererImpl::VideoRendererImpl( |
VideoRendererSink* sink, |
ScopedVector<VideoDecoder> decoders, |
bool drop_frames, |
+ scoped_refptr<GpuVideoAcceleratorFactories> gpu_factories, |
const scoped_refptr<MediaLog>& media_log) |
: task_runner_(task_runner), |
use_new_video_renderering_path_(ShouldUseVideoRenderingPath()), |
@@ -50,6 +53,8 @@ VideoRendererImpl::VideoRendererImpl( |
sink_started_(false), |
video_frame_stream_( |
new VideoFrameStream(task_runner, decoders.Pass(), media_log)), |
+ gpu_memory_buffer_pool_( |
+ new GpuMemoryBufferVideoFramePool(task_runner, gpu_factories)), |
low_delay_(false), |
received_end_of_stream_(false), |
rendered_end_of_stream_(false), |
@@ -499,6 +504,9 @@ void VideoRendererImpl::FrameReady(VideoFrameStream::Status status, |
algorithm_->Reset(); |
ready_frames_.clear(); |
} |
+ // TODO(dcastagna): Enable GpuMemoryBuffer VideoFrames. |
DaleCurtis
2015/05/12 17:23:20
Some notes:
- To avoid blocking the media thread w
Daniele Castagna
2015/05/12 21:21:29
Good point. In our tests we noticed that the copy
DaleCurtis
2015/05/13 02:52:14
Should be okay to do in a second pass, we can watc
Daniele Castagna
2015/05/13 04:29:45
Sounds good to me to do it in a second pass.
I'm g
|
+ //AddReadyFrame_Locked( |
+ // gpu_memory_buffer_pool_->MaybeCreateHardwareFrame(frame)); |
AddReadyFrame_Locked(frame); |
} |