| 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 419aee199185af9de76345e7e2d198f60385c2f0..47f3763c392d607adf429d85dd9f34a247322ccc 100644
|
| --- a/content/renderer/media/android/webmediaplayer_android.cc
|
| +++ b/content/renderer/media/android/webmediaplayer_android.cc
|
| @@ -108,12 +108,9 @@ WebMediaPlayerAndroid::WebMediaPlayerAndroid(
|
| texture_id_(0),
|
| stream_id_(0),
|
| is_playing_(false),
|
| - playing_started_(false),
|
| needs_establish_peer_(true),
|
| stream_texture_proxy_initialized_(false),
|
| has_size_info_(false),
|
| - has_media_metadata_(false),
|
| - has_media_info_(false),
|
| stream_texture_factory_(factory),
|
| needs_external_surface_(false),
|
| video_frame_provider_client_(NULL),
|
| @@ -190,13 +187,9 @@ void WebMediaPlayerAndroid::load(LoadType load_type,
|
| return;
|
| }
|
|
|
| - has_media_metadata_ = false;
|
| - has_media_info_ = false;
|
| -
|
| + url_ = url;
|
| int demuxer_client_id = 0;
|
| if (player_type_ != MEDIA_PLAYER_TYPE_URL) {
|
| - has_media_info_ = true;
|
| -
|
| RendererDemuxerAndroid* demuxer =
|
| RenderThreadImpl::current()->renderer_demuxer();
|
| demuxer_client_id = demuxer->GetNextDemuxerClientID();
|
| @@ -220,6 +213,7 @@ void WebMediaPlayerAndroid::load(LoadType load_type,
|
| weak_factory_.GetWeakPtr()),
|
| base::Bind(&WebMediaPlayerAndroid::OnDurationChanged,
|
| weak_factory_.GetWeakPtr()));
|
| + InitializePlayer(demuxer_client_id);
|
| }
|
| } else {
|
| info_loader_.reset(
|
| @@ -236,12 +230,6 @@ void WebMediaPlayerAndroid::load(LoadType load_type,
|
| info_loader_->Start(frame_);
|
| }
|
|
|
| - url_ = url;
|
| - GURL first_party_url = frame_->document().firstPartyForCookies();
|
| - player_manager_->Initialize(
|
| - player_type_, player_id_, url, first_party_url, demuxer_client_id,
|
| - frame_->document().url());
|
| -
|
| if (player_manager_->ShouldEnterFullscreen(frame_))
|
| player_manager_->EnterFullscreen(player_id_, frame_);
|
|
|
| @@ -257,17 +245,9 @@ void WebMediaPlayerAndroid::DidLoadMediaInfo(MediaInfoLoader::Status status) {
|
| return;
|
| }
|
|
|
| - has_media_info_ = true;
|
| - if (has_media_metadata_ &&
|
| - ready_state_ != WebMediaPlayer::ReadyStateHaveEnoughData) {
|
| - UpdateReadyState(WebMediaPlayer::ReadyStateHaveMetadata);
|
| - UpdateReadyState(WebMediaPlayer::ReadyStateHaveEnoughData);
|
| - }
|
| - // Android doesn't start fetching resources until an implementation-defined
|
| - // event (e.g. playback request) occurs. Sets the network state to IDLE
|
| - // if play is not requested yet.
|
| - if (!playing_started_)
|
| - UpdateNetworkState(WebMediaPlayer::NetworkStateIdle);
|
| + InitializePlayer(0);
|
| +
|
| + UpdateNetworkState(WebMediaPlayer::NetworkStateIdle);
|
| }
|
|
|
| void WebMediaPlayerAndroid::play() {
|
| @@ -291,7 +271,6 @@ void WebMediaPlayerAndroid::play() {
|
| player_manager_->Start(player_id_);
|
| UpdatePlayingState(true);
|
| UpdateNetworkState(WebMediaPlayer::NetworkStateLoading);
|
| - playing_started_ = true;
|
| }
|
|
|
| void WebMediaPlayerAndroid::pause() {
|
| @@ -613,9 +592,7 @@ void WebMediaPlayerAndroid::OnMediaMetadataChanged(
|
| }
|
| }
|
|
|
| - has_media_metadata_ = true;
|
| - if (has_media_info_ &&
|
| - ready_state_ != WebMediaPlayer::ReadyStateHaveEnoughData) {
|
| + if (ready_state_ != WebMediaPlayer::ReadyStateHaveEnoughData) {
|
| UpdateReadyState(WebMediaPlayer::ReadyStateHaveMetadata);
|
| UpdateReadyState(WebMediaPlayer::ReadyStateHaveEnoughData);
|
| }
|
| @@ -880,6 +857,14 @@ void WebMediaPlayerAndroid::OnDestruct() {
|
| "the RenderFrame goes away.";
|
| }
|
|
|
| +void WebMediaPlayerAndroid::InitializePlayer(
|
| + int demuxer_client_id) {
|
| + GURL first_party_url = frame_->document().firstPartyForCookies();
|
| + player_manager_->Initialize(
|
| + player_type_, player_id_, url_, first_party_url, demuxer_client_id,
|
| + frame_->document().url());
|
| +}
|
| +
|
| void WebMediaPlayerAndroid::Pause(bool is_media_related_action) {
|
| player_manager_->Pause(player_id_, is_media_related_action);
|
| UpdatePlayingState(false);
|
|
|