Index: media/renderers/default_renderer_factory.cc |
diff --git a/media/renderers/default_renderer_factory.cc b/media/renderers/default_renderer_factory.cc |
index e09f90eb84ef4363702ee06f2908d4f88846f555..d50bd1171481a1a986052012f3301ba2c7ef9646 100644 |
--- a/media/renderers/default_renderer_factory.cc |
+++ b/media/renderers/default_renderer_factory.cc |
@@ -17,6 +17,7 @@ |
#include "media/renderers/gpu_video_accelerator_factories.h" |
#include "media/renderers/renderer_impl.h" |
#include "media/renderers/video_renderer_impl.h" |
+#include "media/video/gpu_memory_buffer_video_frame_pool.h" |
#if !defined(MEDIA_DISABLE_FFMPEG) |
#include "media/filters/ffmpeg_audio_decoder.h" |
@@ -87,7 +88,14 @@ ScopedVector<VideoDecoder> DefaultRendererFactory::CreateVideoDecoders( |
new GpuVideoDecoder(gpu_factories, request_surface_cb)); |
#if !defined(MEDIA_DISABLE_LIBVPX) |
- video_decoders.push_back(new VpxVideoDecoder()); |
+ std::unique_ptr<GpuMemoryBufferVideoFramePool> gpu_video_frame_pool; |
+ if (gpu_factories && |
+ gpu_factories->ShouldUseGpuMemoryBuffersForVideoFrames()) { |
+ gpu_video_frame_pool.reset( |
+ new GpuMemoryBufferVideoFramePool(media_task_runner, gpu_factories)); |
+ } |
+ video_decoders.push_back( |
+ new VpxVideoDecoder(std::move(gpu_video_frame_pool))); |
#endif |
#if !defined(MEDIA_DISABLE_FFMPEG) && !defined(DISABLE_FFMPEG_VIDEO_DECODERS) |