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

Unified Diff: content/gpu/gpu_process_control_impl.cc

Issue 1899363002: Finish plumbing MojoVideoDecoder. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 8 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: content/gpu/gpu_process_control_impl.cc
diff --git a/content/gpu/gpu_process_control_impl.cc b/content/gpu/gpu_process_control_impl.cc
index f281b05cfbfd90d101d933ff6460584f97616eb8..2941d47e3549b1d1fd9510d25204defef0e4d4bb 100644
--- a/content/gpu/gpu_process_control_impl.cc
+++ b/content/gpu/gpu_process_control_impl.cc
@@ -6,13 +6,27 @@
#if defined(ENABLE_MOJO_MEDIA_IN_GPU_PROCESS)
#include "base/bind.h"
-#include "base/bind_helpers.h"
-#include "media/mojo/services/mojo_media_application_factory.h"
-#endif
+#include "base/memory/ptr_util.h"
+#include "media/mojo/services/gpu_mojo_media_client.h"
+#include "media/mojo/services/mojo_media_application.h"
+#include "services/shell/public/cpp/shell_client.h"
+#endif // defined(ENABLE_MOJO_MEDIA_IN_GPU_PROCESS)
namespace content {
-GpuProcessControlImpl::GpuProcessControlImpl() {}
+namespace {
+#if defined(ENABLE_MOJO_MEDIA_IN_GPU_PROCESS)
+std::unique_ptr<shell::ShellClient> CreateMojoMediaApplication(
+ scoped_refptr<base::SingleThreadTaskRunner> gpu_task_runner) {
+ return base::WrapUnique(new media::MojoMediaApplication(
+ base::WrapUnique(new media::GpuMojoMediaClient(gpu_task_runner))));
+}
+#endif // defined(ENABLE_MOJO_MEDIA_IN_GPU_PROCESS)
+} // namespace
+
+GpuProcessControlImpl::GpuProcessControlImpl(
+ scoped_refptr<base::SingleThreadTaskRunner> gpu_task_runner)
+ : gpu_task_runner_(gpu_task_runner) {}
GpuProcessControlImpl::~GpuProcessControlImpl() {}
@@ -20,8 +34,8 @@ void GpuProcessControlImpl::RegisterApplicationFactories(
ApplicationFactoryMap* factories) {
#if defined(ENABLE_MOJO_MEDIA_IN_GPU_PROCESS)
factories->insert(std::make_pair(
- "mojo:media", base::Bind(&media::CreateMojoMediaApplication)));
-#endif
+ "mojo:media", base::Bind(&CreateMojoMediaApplication, gpu_task_runner_)));
+#endif // defined(ENABLE_MOJO_MEDIA_IN_GPU_PROCESS)
}
} // namespace content

Powered by Google App Engine
This is Rietveld 408576698