Index: media/renderers/default_renderer_factory.cc |
diff --git a/media/renderers/default_renderer_factory.cc b/media/renderers/default_renderer_factory.cc |
index d50bd1171481a1a986052012f3301ba2c7ef9646..db909137602085a022f9689bdf6b12bf969a3cbc 100644 |
--- a/media/renderers/default_renderer_factory.cc |
+++ b/media/renderers/default_renderer_factory.cc |
@@ -87,8 +87,8 @@ ScopedVector<VideoDecoder> DefaultRendererFactory::CreateVideoDecoders( |
video_decoders.push_back( |
new GpuVideoDecoder(gpu_factories, request_surface_cb)); |
-#if !defined(MEDIA_DISABLE_LIBVPX) |
std::unique_ptr<GpuMemoryBufferVideoFramePool> gpu_video_frame_pool; |
+#if !defined(MEDIA_DISABLE_LIBVPX) |
if (gpu_factories && |
gpu_factories->ShouldUseGpuMemoryBuffersForVideoFrames()) { |
gpu_video_frame_pool.reset( |
@@ -99,7 +99,13 @@ ScopedVector<VideoDecoder> DefaultRendererFactory::CreateVideoDecoders( |
#endif |
#if !defined(MEDIA_DISABLE_FFMPEG) && !defined(DISABLE_FFMPEG_VIDEO_DECODERS) |
- video_decoders.push_back(new FFmpegVideoDecoder()); |
+ if (gpu_factories && |
+ gpu_factories->ShouldUseGpuMemoryBuffersForVideoFrames()) { |
+ gpu_video_frame_pool.reset( |
+ new GpuMemoryBufferVideoFramePool(media_task_runner, gpu_factories)); |
+ } |
+ video_decoders.push_back( |
+ new FFmpegVideoDecoder(std::move(gpu_video_frame_pool))); |
#endif |
return video_decoders; |