diff options
author | servolk <servolk@chromium.org> | 2016-01-11 17:10:45 -0800 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2016-01-12 01:11:49 +0000 |
commit | 79056ff84167df17a1e2159eeb32220f2dc6814d (patch) | |
tree | 1e0cd5e83baee4b5683234c804bd1a14bb9b217b /chromecast/renderer | |
parent | ce2375ee8262f3b29a89ffe7d297f0e8ef46eb00 (diff) | |
download | chromium_src-79056ff84167df17a1e2159eeb32220f2dc6814d.zip chromium_src-79056ff84167df17a1e2159eeb32220f2dc6814d.tar.gz chromium_src-79056ff84167df17a1e2159eeb32220f2dc6814d.tar.bz2 |
Call media_pipeline_client.error_cb on the CMA thread
We need to ensure that error_cb gets invoked on the CMA thread, since
that's where media::Pipeline weak_ptrs belong. Currently this gets
invoked by CmaMessageFilterProxy on the browser IO thread, and this
leads to DCHECK in WeakPtr::is_valid (see the bug for crash stack).
BUG=internal b/26495330
Review URL: https://codereview.chromium.org/1576263002
Cr-Commit-Position: refs/heads/master@{#368749}
Diffstat (limited to 'chromecast/renderer')
-rw-r--r-- | chromecast/renderer/media/cma_renderer.cc | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/chromecast/renderer/media/cma_renderer.cc b/chromecast/renderer/media/cma_renderer.cc index 338a138..5e914b0 100644 --- a/chromecast/renderer/media/cma_renderer.cc +++ b/chromecast/renderer/media/cma_renderer.cc @@ -115,7 +115,7 @@ void CmaRenderer::Initialize( waiting_for_decryption_key_cb_ = waiting_for_decryption_key_cb; MediaPipelineClient media_pipeline_client; - media_pipeline_client.error_cb = error_cb_; + media_pipeline_client.error_cb = ::media::BindToCurrentLoop(error_cb_); media_pipeline_client.buffering_state_cb = ::media::BindToCurrentLoop( base::Bind(&CmaRenderer::OnBufferingNotification, weak_this_)); media_pipeline_client.time_update_cb = ::media::BindToCurrentLoop( |