Index: media/base/android/media_player_renderer_factory.h |
diff --git a/media/base/android/media_player_renderer_factory.h b/media/base/android/media_player_renderer_factory.h |
new file mode 100644 |
index 0000000000000000000000000000000000000000..20c9b4ec9fd2513cc5af7ad65864fa1955e2dbe6 |
--- /dev/null |
+++ b/media/base/android/media_player_renderer_factory.h |
@@ -0,0 +1,52 @@ |
+// Copyright 2016 The Chromium Authors. All rights reserved. |
+// Use of this source code is governed by a BSD-style license that can be |
+// found in the LICENSE file. |
+ |
+#ifndef MEDIA_BASE_ANDROID_MEDIA_PLAYER_RENDERER_FACTORY_H_ |
+#define MEDIA_BASE_ANDROID_MEDIA_PLAYER_RENDERER_FACTORY_H_ |
+ |
+#include "base/callback.h" |
+#include "base/macros.h" |
+#include "content/public/browser/render_frame_host.h" |
+#include "media/base/renderer_factory.h" |
+#include "media/mojo/interfaces/renderer.mojom.h" |
+#include "mojo/public/cpp/bindings/interface_request.h" |
+#include "url/gurl.h" |
+ |
+namespace media { |
+ |
+class GpuVideoAcceleratorFactories; |
+ |
+// Creates and returns a MojoRendererImpl communicating to a MojoRendererService |
+// instance in the browser process, wrapping a MediaPlayerRenderer. |
+class MEDIA_EXPORT MediaPlayerRendererFactory : public RendererFactory { |
+ public: |
+ using ConnectToRendererServiceCB = |
+ base::Callback<void(mojo::InterfaceRequest<mojom::Renderer>)>; |
+ using GetGpuFactoriesCB = base::Callback<GpuVideoAcceleratorFactories*()>; |
+ |
+ MediaPlayerRendererFactory( |
+ const GetGpuFactoriesCB& get_gpu_factories_cb, |
+ const ConnectToRendererServiceCB& connect_to_renderer_service_cb, |
+ const GURL& url); |
+ virtual ~MediaPlayerRendererFactory(); |
+ |
+ std::unique_ptr<Renderer> CreateRenderer( |
+ const scoped_refptr<base::SingleThreadTaskRunner>& media_task_runner, |
+ const scoped_refptr<base::TaskRunner>& worker_task_runner, |
+ AudioRendererSink* audio_renderer_sink, |
+ VideoRendererSink* video_renderer_sink, |
+ const RequestSurfaceCB& request_surface_cb) override; |
+ |
+ private: |
+ // URL to be given to the MediaPlayerRender on creation. |
+ GURL url_; |
+ |
+ GetGpuFactoriesCB get_gpu_factories_cb_; |
+ |
+ ConnectToRendererServiceCB connect_to_renderer_service_cb_; |
+}; |
+ |
+} // namespace media |
+ |
+#endif // MEDIA_BASE_ANDROID_MEDIA_PLAYER_RENDERER_FACTORY_H_ |