Index: chromecast/browser/media/cma_message_filter_host.cc |
diff --git a/chromecast/browser/media/cma_message_filter_host.cc b/chromecast/browser/media/cma_message_filter_host.cc |
index 71ea3201d095ce7af0134bf08926373b6dff0fdd..fe32848397243d70c3dd430e8007ca0dc9a52373 100644 |
--- a/chromecast/browser/media/cma_message_filter_host.cc |
+++ b/chromecast/browser/media/cma_message_filter_host.cc |
@@ -299,10 +299,14 @@ void UpdateVideoSurfaceHost(int surface_id, const gfx::QuadF& quad) { |
CmaMessageFilterHost::CmaMessageFilterHost( |
int render_process_id, |
- const CreateDeviceComponentsCB& create_device_components_cb) |
+ const CreateDeviceComponentsCB& create_device_components_cb, |
+ const base::Closure& on_device_components_create_cb, |
+ const base::Closure& on_device_components_destroy_cb) |
: content::BrowserMessageFilter(CastMediaMsgStart), |
process_id_(render_process_id), |
create_device_components_cb_(create_device_components_cb), |
+ on_device_components_create_cb_(on_device_components_create_cb), |
+ on_device_components_destroy_cb_(on_device_components_destroy_cb), |
task_runner_(MediaMessageLoop::GetTaskRunner()), |
weak_factory_(this) { |
weak_this_ = weak_factory_.GetWeakPtr(); |
@@ -380,6 +384,9 @@ void CmaMessageFilterHost::CreateMedia(int media_id, LoadType load_type) { |
client.error_cb = ::media::BindToCurrentLoop( |
base::Bind(&CmaMessageFilterHost::OnPlaybackError, |
weak_this_, media_id, media::kNoTrackId)); |
+ client.device_components_create_cb = on_device_components_create_cb_; |
+ client.device_components_destroy_cb = on_device_components_destroy_cb_; |
+ |
task_runner_->PostTask( |
FROM_HERE, |
base::Bind(&SetMediaPipeline, |