Commit 345b686c authored by xhwang@chromium.org's avatar xhwang@chromium.org

Fix BrowserMediaPlayerManager and BrowserCdmManager destruction order.

The order was reverted accidentally in r276200 which was wrong.

BUG=315312

Review URL: https://codereview.chromium.org/325363002

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@276657 0039d316-1c4b-4281-b951-d872f2087c98
parent 6786c6fe
...@@ -31,10 +31,12 @@ MediaWebContentsObserver::~MediaWebContentsObserver() { ...@@ -31,10 +31,12 @@ MediaWebContentsObserver::~MediaWebContentsObserver() {
void MediaWebContentsObserver::RenderFrameDeleted( void MediaWebContentsObserver::RenderFrameDeleted(
RenderFrameHost* render_frame_host) { RenderFrameHost* render_frame_host) {
uintptr_t key = reinterpret_cast<uintptr_t>(render_frame_host); uintptr_t key = reinterpret_cast<uintptr_t>(render_frame_host);
cdm_managers_.erase(key); // Always destroy the media players before CDMs because we do not support
// detaching CDMs from media players yet. See http://crbug.com/330324
#if defined(OS_ANDROID) #if defined(OS_ANDROID)
media_player_managers_.erase(key); media_player_managers_.erase(key);
#endif #endif
cdm_managers_.erase(key);
} }
bool MediaWebContentsObserver::OnMessageReceived( bool MediaWebContentsObserver::OnMessageReceived(
......
...@@ -744,11 +744,15 @@ void MediaSourcePlayer::OnKeyAdded() { ...@@ -744,11 +744,15 @@ void MediaSourcePlayer::OnKeyAdded() {
void MediaSourcePlayer::OnCdmUnset() { void MediaSourcePlayer::OnCdmUnset() {
DVLOG(1) << __FUNCTION__; DVLOG(1) << __FUNCTION__;
DCHECK(drm_bridge_);
// TODO(xhwang): Support detachment of CDM. This will be needed when we start // TODO(xhwang): Support detachment of CDM. This will be needed when we start
// to support setMediaKeys(0), or when we release MediaDrm when the video is // to support setMediaKeys(0) (see http://crbug.com/330324), or when we
// paused, or when the device goes to sleep. See http://crbug.com/272421 // release MediaDrm when the video is paused, or when the device goes to
DVLOG(1) << "CDM detachment not supported."; // sleep (see http://crbug.com/272421).
NOTREACHED() << "CDM detachment not supported.";
DCHECK(drm_bridge_);
audio_decoder_job_->SetDrmBridge(NULL);
video_decoder_job_->SetDrmBridge(NULL);
drm_bridge_ = NULL;
} }
} // namespace media } // namespace media
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment