Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1825)

Unified Diff: content/renderer/media/android/webmediaplayer_android.cc

Issue 270373003: Separate RendererCdmManager from RendererMediaPlayerManager. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fix compile error on Windows Created 6 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: content/renderer/media/android/webmediaplayer_android.cc
diff --git a/content/renderer/media/android/webmediaplayer_android.cc b/content/renderer/media/android/webmediaplayer_android.cc
index 9946500baf88a53c0095e5c8dd60e3b2bd195645..d33f388ff185f144f72bbd81cab1b70b7acbb728 100644
--- a/content/renderer/media/android/webmediaplayer_android.cc
+++ b/content/renderer/media/android/webmediaplayer_android.cc
@@ -85,7 +85,8 @@ WebMediaPlayerAndroid::WebMediaPlayerAndroid(
blink::WebFrame* frame,
blink::WebMediaPlayerClient* client,
base::WeakPtr<WebMediaPlayerDelegate> delegate,
- RendererMediaPlayerManager* manager,
+ RendererMediaPlayerManager* player_manager,
+ RendererCdmManager* cdm_manager,
scoped_refptr<StreamTextureFactory> factory,
const scoped_refptr<base::MessageLoopProxy>& media_loop,
media::MediaLog* media_log)
@@ -99,7 +100,8 @@ WebMediaPlayerAndroid::WebMediaPlayerAndroid(
pending_seek_(false),
seeking_(false),
did_loading_progress_(false),
- manager_(manager),
+ player_manager_(player_manager),
+ cdm_manager_(cdm_manager),
network_state_(WebMediaPlayer::NetworkStateEmpty),
ready_state_(WebMediaPlayer::ReadyStateHaveNothing),
texture_id_(0),
@@ -121,11 +123,12 @@ WebMediaPlayerAndroid::WebMediaPlayerAndroid(
media_log_(media_log),
web_cdm_(NULL),
weak_factory_(this) {
- DCHECK(manager_);
+ DCHECK(player_manager_);
+ DCHECK(cdm_manager_);
DCHECK(main_thread_checker_.CalledOnValidThread());
- player_id_ = manager_->RegisterMediaPlayer(this);
+ player_id_ = player_manager_->RegisterMediaPlayer(this);
#if defined(VIDEO_HOLE)
if (manager_->ShouldUseVideoOverlayForEmbeddedEncryptedVideo()) {
@@ -143,9 +146,9 @@ WebMediaPlayerAndroid::~WebMediaPlayerAndroid() {
SetVideoFrameProviderClient(NULL);
client_->setWebLayer(NULL);
- if (manager_) {
- manager_->DestroyPlayer(player_id_);
- manager_->UnregisterMediaPlayer(player_id_);
+ if (player_manager_) {
+ player_manager_->DestroyPlayer(player_id_);
+ player_manager_->UnregisterMediaPlayer(player_id_);
}
if (stream_id_) {
@@ -231,11 +234,11 @@ void WebMediaPlayerAndroid::load(LoadType load_type,
url_ = url;
GURL first_party_url = frame_->document().firstPartyForCookies();
- manager_->Initialize(
+ player_manager_->Initialize(
player_type_, player_id_, url, first_party_url, demuxer_client_id);
- if (manager_->ShouldEnterFullscreen(frame_))
- manager_->EnterFullscreen(player_id_, frame_);
+ if (player_manager_->ShouldEnterFullscreen(frame_))
+ player_manager_->EnterFullscreen(player_id_, frame_);
UpdateNetworkState(WebMediaPlayer::NetworkStateLoading);
UpdateReadyState(WebMediaPlayer::ReadyStateHaveNothing);
@@ -265,20 +268,22 @@ void WebMediaPlayerAndroid::DidLoadMediaInfo(MediaInfoLoader::Status status) {
void WebMediaPlayerAndroid::play() {
#if defined(VIDEO_HOLE)
if (hasVideo() && needs_external_surface_ &&
- !manager_->IsInFullscreen(frame_)) {
+ !player_manager_->IsInFullscreen(frame_)) {
DCHECK(!needs_establish_peer_);
- manager_->RequestExternalSurface(player_id_, last_computed_rect_);
+ player_manager_->RequestExternalSurface(player_id_, last_computed_rect_);
}
#endif // defined(VIDEO_HOLE)
TryCreateStreamTextureProxyIfNeeded();
// There is no need to establish the surface texture peer for fullscreen
// video.
- if (hasVideo() && needs_establish_peer_ && !manager_->IsInFullscreen(frame_))
+ if (hasVideo() && needs_establish_peer_ &&
+ !player_manager_->IsInFullscreen(frame_)) {
EstablishSurfaceTexturePeer();
+ }
if (paused())
- manager_->Start(player_id_);
+ player_manager_->Start(player_id_);
UpdatePlayingState(true);
UpdateNetworkState(WebMediaPlayer::NetworkStateLoading);
playing_started_ = true;
@@ -329,7 +334,7 @@ void WebMediaPlayerAndroid::seek(double seconds) {
media_source_delegate_->StartWaitingForSeek(seek_time_);
// Kick off the asynchronous seek!
- manager_->Seek(player_id_, seek_time_);
+ player_manager_->Seek(player_id_, seek_time_);
}
bool WebMediaPlayerAndroid::supportsSave() const {
@@ -341,7 +346,7 @@ void WebMediaPlayerAndroid::setRate(double rate) {
}
void WebMediaPlayerAndroid::setVolume(double volume) {
- manager_->SetVolume(player_id_, volume);
+ player_manager_->SetVolume(player_id_, volume);
}
bool WebMediaPlayerAndroid::hasVideo() const {
@@ -698,8 +703,8 @@ void WebMediaPlayerAndroid::OnVideoSizeChanged(int width, int height) {
(media_source_delegate_ && media_source_delegate_->IsVideoEncrypted() &&
manager_->ShouldUseVideoOverlayForEmbeddedEncryptedVideo())) {
needs_external_surface_ = true;
- if (!paused() && !manager_->IsInFullscreen(frame_))
- manager_->RequestExternalSurface(player_id_, last_computed_rect_);
+ if (!paused() && !player_manager_->IsInFullscreen(frame_))
+ player_manager_->RequestExternalSurface(player_id_, last_computed_rect_);
} else if (stream_texture_proxy_ && !stream_id_) {
// Do deferred stream texture creation finally.
DoCreateStreamTexture();
@@ -756,10 +761,10 @@ void WebMediaPlayerAndroid::OnDisconnectedFromRemoteDevice() {
}
void WebMediaPlayerAndroid::OnDidEnterFullscreen() {
- if (!manager_->IsInFullscreen(frame_)) {
+ if (!player_manager_->IsInFullscreen(frame_)) {
frame_->view()->willEnterFullScreen();
frame_->view()->didEnterFullScreen();
- manager_->DidEnterFullscreen(frame_);
+ player_manager_->DidEnterFullscreen(frame_);
}
}
@@ -774,12 +779,12 @@ void WebMediaPlayerAndroid::OnDidExitFullscreen() {
#if defined(VIDEO_HOLE)
if (!paused() && needs_external_surface_)
- manager_->RequestExternalSurface(player_id_, last_computed_rect_);
+ player_manager_->RequestExternalSurface(player_id_, last_computed_rect_);
#endif // defined(VIDEO_HOLE)
frame_->view()->willExitFullScreen();
frame_->view()->didExitFullScreen();
- manager_->DidExitFullscreen();
+ player_manager_->DidExitFullscreen();
client_->repaint();
}
@@ -865,13 +870,13 @@ void WebMediaPlayerAndroid::ReleaseMediaResources() {
case WebMediaPlayer::NetworkStateDecodeError:
break;
}
- manager_->ReleaseResources(player_id_);
+ player_manager_->ReleaseResources(player_id_);
OnPlayerReleased();
}
void WebMediaPlayerAndroid::OnDestruct() {
- if (manager_)
- manager_->UnregisterMediaPlayer(player_id_);
+ if (player_manager_)
+ player_manager_->UnregisterMediaPlayer(player_id_);
Detach();
}
@@ -890,11 +895,11 @@ void WebMediaPlayerAndroid::Detach() {
current_frame_ = NULL;
}
is_remote_ = false;
- manager_ = NULL;
+ player_manager_ = NULL;
}
void WebMediaPlayerAndroid::Pause(bool is_media_related_action) {
- manager_->Pause(player_id_, is_media_related_action);
+ player_manager_->Pause(player_id_, is_media_related_action);
UpdatePlayingState(false);
}
@@ -1144,7 +1149,7 @@ void WebMediaPlayerAndroid::SetNeedsEstablishPeer(bool needs_establish_peer) {
}
void WebMediaPlayerAndroid::setPoster(const blink::WebURL& poster) {
- manager_->SetPoster(player_id_, poster);
+ player_manager_->SetPoster(player_id_, poster);
}
void WebMediaPlayerAndroid::UpdatePlayingState(bool is_playing) {
@@ -1303,7 +1308,7 @@ WebMediaPlayerAndroid::GenerateKeyRequestInternal(
if (current_key_system_.empty()) {
if (!proxy_decryptor_) {
proxy_decryptor_.reset(new ProxyDecryptor(
- manager_,
+ cdm_manager_,
base::Bind(&WebMediaPlayerAndroid::OnKeyAdded,
weak_factory_.GetWeakPtr()),
base::Bind(&WebMediaPlayerAndroid::OnKeyError,
@@ -1321,7 +1326,7 @@ WebMediaPlayerAndroid::GenerateKeyRequestInternal(
.Run(proxy_decryptor_->GetDecryptor());
}
- manager_->SetCdm(player_id_, proxy_decryptor_->GetCdmId());
+ player_manager_->SetCdm(player_id_, proxy_decryptor_->GetCdmId());
current_key_system_ = key_system;
} else if (key_system != current_key_system_) {
return WebMediaPlayer::MediaKeyExceptionInvalidPlayerState;
@@ -1436,7 +1441,7 @@ void WebMediaPlayerAndroid::setContentDecryptionModule(
if (!decryptor_ready_cb_.is_null())
base::ResetAndReturn(&decryptor_ready_cb_).Run(web_cdm_->GetDecryptor());
- manager_->SetCdm(player_id_, web_cdm_->GetCdmId());
+ player_manager_->SetCdm(player_id_, web_cdm_->GetCdmId());
}
void WebMediaPlayerAndroid::OnKeyAdded(const std::string& session_id) {
@@ -1544,18 +1549,18 @@ void WebMediaPlayerAndroid::SetDecryptorReadyCB(
}
void WebMediaPlayerAndroid::enterFullscreen() {
- if (manager_->CanEnterFullscreen(frame_)) {
- manager_->EnterFullscreen(player_id_, frame_);
+ if (player_manager_->CanEnterFullscreen(frame_)) {
+ player_manager_->EnterFullscreen(player_id_, frame_);
SetNeedsEstablishPeer(false);
}
}
void WebMediaPlayerAndroid::exitFullscreen() {
- manager_->ExitFullscreen(player_id_);
+ player_manager_->ExitFullscreen(player_id_);
}
bool WebMediaPlayerAndroid::canEnterFullscreen() const {
- return manager_->CanEnterFullscreen(frame_);
+ return player_manager_->CanEnterFullscreen(frame_);
}
} // namespace content

Powered by Google App Engine
This is Rietveld 408576698