summaryrefslogtreecommitdiffstats
path: root/chromecast/browser/cast_content_browser_client.h
diff options
context:
space:
mode:
authorhalliwell <halliwell@chromium.org>2015-06-05 10:53:17 -0700
committerCommit bot <commit-bot@chromium.org>2015-06-05 17:54:40 +0000
commit1a4282180660fce54726f648ac465afea227109c (patch)
tree3d68e809f97279c42d0d3f24890745792c92fac4 /chromecast/browser/cast_content_browser_client.h
parentcd7c64859aba1c58428fe4d4c3eeb16aeb335dcd (diff)
downloadchromium_src-1a4282180660fce54726f648ac465afea227109c.zip
chromium_src-1a4282180660fce54726f648ac465afea227109c.tar.gz
chromium_src-1a4282180660fce54726f648ac465afea227109c.tar.bz2
Allow CastContentBrowserClient to customise media pipeline device
We need a hook to customise how MediaPipelineDevice is created, orthogonal to the vendor-specific aspect of creation. Decided to keep existing factory method for the vendor customisation so there's no need to change vendor implementations for now (although this will all get moved into libcast_media before long). New hook is in CastContentBrowserClient and can be substituted as the other Platform* functions already are. BUG= Review URL: https://codereview.chromium.org/1168643004 Cr-Commit-Position: refs/heads/master@{#333090}
Diffstat (limited to 'chromecast/browser/cast_content_browser_client.h')
-rw-r--r--chromecast/browser/cast_content_browser_client.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/chromecast/browser/cast_content_browser_client.h b/chromecast/browser/cast_content_browser_client.h
index 5e5c262..f15537a 100644
--- a/chromecast/browser/cast_content_browser_client.h
+++ b/chromecast/browser/cast_content_browser_client.h
@@ -30,6 +30,11 @@ class HostResolver;
}
namespace chromecast {
+namespace media {
+class MediaPipelineDevice;
+class MediaPipelineDeviceParams;
+}
+
namespace shell {
class CastBrowserMainParts;
@@ -48,6 +53,13 @@ class CastContentBrowserClient: public content::ContentBrowserClient {
std::vector<scoped_refptr<content::BrowserMessageFilter>>
PlatformGetBrowserMessageFilters();
+#if !defined(OS_ANDROID)
+ // Creates a MediaPipelineDevice (CMA backend) for media playback, called
+ // once per media player instance.
+ scoped_ptr<media::MediaPipelineDevice> PlatformCreateMediaPipelineDevice(
+ const media::MediaPipelineDeviceParams& params);
+#endif
+
// content::ContentBrowserClient implementation:
content::BrowserMainParts* CreateBrowserMainParts(
const content::MainFunctionParams& parameters) override;