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

Unified Diff: media/renderers/default_renderer_factory.cc

Issue 2643713003: Allow to use the DefaultRendererFactory from a Utility Process (Closed)
Patch Set: Rebase Created 3 years, 10 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
« no previous file with comments | « media/renderers/default_renderer_factory.h ('k') | media/video/default_video_frame_provider_factory.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: media/renderers/default_renderer_factory.cc
diff --git a/media/renderers/default_renderer_factory.cc b/media/renderers/default_renderer_factory.cc
index a18a907f1e82dd7e66e46ec0d84683e4d618c92a..5359570491ef753bbf2455c40092103f023c9367 100644
--- a/media/renderers/default_renderer_factory.cc
+++ b/media/renderers/default_renderer_factory.cc
@@ -18,6 +18,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/default_video_frame_provider_factory.h"
#if !defined(MEDIA_DISABLE_FFMPEG)
#include "media/filters/ffmpeg_audio_decoder.h"
@@ -35,10 +36,15 @@ namespace media {
DefaultRendererFactory::DefaultRendererFactory(
const scoped_refptr<MediaLog>& media_log,
DecoderFactory* decoder_factory,
- const GetGpuFactoriesCB& get_gpu_factories_cb)
+ const GetGpuFactoriesCB& get_gpu_factories_cb,
+ std::unique_ptr<VideoFrameProviderFactory> video_frame_provider_factory)
: media_log_(media_log),
decoder_factory_(decoder_factory),
- get_gpu_factories_cb_(get_gpu_factories_cb) {}
+ get_gpu_factories_cb_(get_gpu_factories_cb),
+ video_frame_provider_factory_(std::move(video_frame_provider_factory)) {
+ if (!video_frame_provider_factory_)
+ video_frame_provider_factory_.reset(new DefaultVideoFrameProviderFactory());
+}
DefaultRendererFactory::~DefaultRendererFactory() {
}
@@ -84,12 +90,20 @@ ScopedVector<VideoDecoder> DefaultRendererFactory::CreateVideoDecoders(
new GpuVideoDecoder(gpu_factories, request_surface_cb, media_log_));
}
+ std::unique_ptr<VideoFrameProvider> video_frame_provider;
+
#if !defined(MEDIA_DISABLE_LIBVPX)
- video_decoders.push_back(new VpxVideoDecoder());
+ video_frame_provider =
+ video_frame_provider_factory_->CreateVideoFrameProvider();
+ video_decoders.push_back(
+ new VpxVideoDecoder(std::move(video_frame_provider)));
#endif
#if !defined(MEDIA_DISABLE_FFMPEG) && !defined(DISABLE_FFMPEG_VIDEO_DECODERS)
- video_decoders.push_back(new FFmpegVideoDecoder());
+ video_frame_provider =
+ video_frame_provider_factory_->CreateVideoFrameProvider();
+ video_decoders.push_back(
+ new FFmpegVideoDecoder(std::move(video_frame_provider)));
#endif
return video_decoders;
« no previous file with comments | « media/renderers/default_renderer_factory.h ('k') | media/video/default_video_frame_provider_factory.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698