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

Unified Diff: media/renderers/video_renderer_impl.cc

Issue 1133563010: Add a GpuMemoryBuffer pool that creates hardware backed VideoFrames. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 7 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 side-by-side diff with in-line comments
Download patch
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);
}

Powered by Google App Engine
This is Rietveld 408576698