summaryrefslogtreecommitdiffstats
path: root/chromecast/browser
diff options
context:
space:
mode:
authorgunsch <gunsch@chromium.org>2015-04-20 13:25:42 -0700
committerCommit bot <commit-bot@chromium.org>2015-04-20 20:25:47 +0000
commit5ffcbfc45f3ffff328a85025f1e61a76655b7a76 (patch)
tree161643e3fc16d55c761af4a7ccb224e22c219178 /chromecast/browser
parent09877427f49f72cdfb804d493c97a8398f348c98 (diff)
downloadchromium_src-5ffcbfc45f3ffff328a85025f1e61a76655b7a76.zip
chromium_src-5ffcbfc45f3ffff328a85025f1e61a76655b7a76.tar.gz
chromium_src-5ffcbfc45f3ffff328a85025f1e61a76655b7a76.tar.bz2
Bind BrowserCdmManager callbacks to UI thread before passing to CDM.
R=xhwang@chromium.org BUG=478808 Review URL: https://codereview.chromium.org/1099633003 Cr-Commit-Position: refs/heads/master@{#325898}
Diffstat (limited to 'chromecast/browser')
-rw-r--r--chromecast/browser/media/cast_browser_cdm_factory.cc11
1 files changed, 8 insertions, 3 deletions
diff --git a/chromecast/browser/media/cast_browser_cdm_factory.cc b/chromecast/browser/media/cast_browser_cdm_factory.cc
index ee2107a..10bcfd3 100644
--- a/chromecast/browser/media/cast_browser_cdm_factory.cc
+++ b/chromecast/browser/media/cast_browser_cdm_factory.cc
@@ -9,6 +9,8 @@
#include "base/message_loop/message_loop_proxy.h"
#include "chromecast/browser/media/cma_message_loop.h"
#include "chromecast/media/cdm/browser_cdm_cast.h"
+#include "media/base/bind_to_current_loop.h"
+#include "media/base/cdm_key_information.h"
namespace chromecast {
namespace media {
@@ -36,9 +38,12 @@ scoped_ptr<::media::BrowserCdm> CastBrowserCdmFactory::CreateBrowserCdm(
CmaMessageLoop::GetMessageLoopProxy()->PostTask(
FROM_HERE,
base::Bind(&BrowserCdmCast::Initialize,
- base::Unretained(browser_cdm.get()), session_message_cb,
- session_closed_cb, legacy_session_error_cb,
- session_keys_change_cb, session_expiration_update_cb));
+ base::Unretained(browser_cdm.get()),
+ ::media::BindToCurrentLoop(session_message_cb),
+ ::media::BindToCurrentLoop(session_closed_cb),
+ ::media::BindToCurrentLoop(legacy_session_error_cb),
+ ::media::BindToCurrentLoop(session_keys_change_cb),
+ ::media::BindToCurrentLoop(session_expiration_update_cb)));
return make_scoped_ptr(
new BrowserCdmCastUi(browser_cdm.Pass(),
CmaMessageLoop::GetMessageLoopProxy()));