| OLD | NEW |
| 1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "content/renderer/media/android/webmediaplayer_android.h" | 5 #include "content/renderer/media/android/webmediaplayer_android.h" |
| 6 | 6 |
| 7 #include "base/bind.h" | 7 #include "base/bind.h" |
| 8 #include "base/command_line.h" | 8 #include "base/command_line.h" |
| 9 #include "base/files/file_path.h" | 9 #include "base/files/file_path.h" |
| 10 #include "base/logging.h" | 10 #include "base/logging.h" |
| (...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 58 #define BIND_TO_RENDER_LOOP(function) \ | 58 #define BIND_TO_RENDER_LOOP(function) \ |
| 59 media::BindToLoop(main_loop_, base::Bind(function, AsWeakPtr())) | 59 media::BindToLoop(main_loop_, base::Bind(function, AsWeakPtr())) |
| 60 | 60 |
| 61 WebMediaPlayerAndroid::WebMediaPlayerAndroid( | 61 WebMediaPlayerAndroid::WebMediaPlayerAndroid( |
| 62 WebKit::WebFrame* frame, | 62 WebKit::WebFrame* frame, |
| 63 WebKit::WebMediaPlayerClient* client, | 63 WebKit::WebMediaPlayerClient* client, |
| 64 base::WeakPtr<WebMediaPlayerDelegate> delegate, | 64 base::WeakPtr<WebMediaPlayerDelegate> delegate, |
| 65 RendererMediaPlayerManager* manager, | 65 RendererMediaPlayerManager* manager, |
| 66 WebMediaPlayerProxyAndroid* proxy, | 66 WebMediaPlayerProxyAndroid* proxy, |
| 67 StreamTextureFactory* factory, | 67 StreamTextureFactory* factory, |
| 68 const scoped_refptr<base::MessageLoopProxy>& media_loop, |
| 68 media::MediaLog* media_log) | 69 media::MediaLog* media_log) |
| 69 : frame_(frame), | 70 : frame_(frame), |
| 70 client_(client), | 71 client_(client), |
| 71 delegate_(delegate), | 72 delegate_(delegate), |
| 72 buffered_(1u), | 73 buffered_(1u), |
| 73 main_loop_(base::MessageLoopProxy::current()), | 74 main_loop_(base::MessageLoopProxy::current()), |
| 75 media_loop_(media_loop), |
| 74 ignore_metadata_duration_change_(false), | 76 ignore_metadata_duration_change_(false), |
| 75 pending_seek_(0), | 77 pending_seek_(0), |
| 76 seeking_(false), | 78 seeking_(false), |
| 77 did_loading_progress_(false), | 79 did_loading_progress_(false), |
| 78 manager_(manager), | 80 manager_(manager), |
| 79 network_state_(WebMediaPlayer::NetworkStateEmpty), | 81 network_state_(WebMediaPlayer::NetworkStateEmpty), |
| 80 ready_state_(WebMediaPlayer::ReadyStateHaveNothing), | 82 ready_state_(WebMediaPlayer::ReadyStateHaveNothing), |
| 81 texture_id_(0), | 83 texture_id_(0), |
| 82 texture_mailbox_sync_point_(0), | 84 texture_mailbox_sync_point_(0), |
| 83 stream_id_(0), | 85 stream_id_(0), |
| (...skipping 139 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 223 | 225 |
| 224 media::SetDecryptorReadyCB set_decryptor_ready_cb; | 226 media::SetDecryptorReadyCB set_decryptor_ready_cb; |
| 225 if (decryptor_) { // |decryptor_| can be NULL is EME if not enabled. | 227 if (decryptor_) { // |decryptor_| can be NULL is EME if not enabled. |
| 226 set_decryptor_ready_cb = base::Bind(&ProxyDecryptor::SetDecryptorReadyCB, | 228 set_decryptor_ready_cb = base::Bind(&ProxyDecryptor::SetDecryptorReadyCB, |
| 227 base::Unretained(decryptor_.get())); | 229 base::Unretained(decryptor_.get())); |
| 228 } | 230 } |
| 229 | 231 |
| 230 if (source_type_ != MediaPlayerAndroid::SOURCE_TYPE_URL) { | 232 if (source_type_ != MediaPlayerAndroid::SOURCE_TYPE_URL) { |
| 231 has_media_info_ = true; | 233 has_media_info_ = true; |
| 232 media_source_delegate_.reset( | 234 media_source_delegate_.reset( |
| 233 new MediaSourceDelegate(proxy_, player_id_, media_log_)); | 235 new MediaSourceDelegate(proxy_, player_id_, media_loop_, media_log_)); |
| 234 // |media_source_delegate_| is owned, so Unretained() is safe here. | 236 // |media_source_delegate_| is owned, so Unretained() is safe here. |
| 235 if (source_type_ == MediaPlayerAndroid::SOURCE_TYPE_MSE) { | 237 if (source_type_ == MediaPlayerAndroid::SOURCE_TYPE_MSE) { |
| 236 media_source_delegate_->InitializeMediaSource( | 238 media_source_delegate_->InitializeMediaSource( |
| 237 base::Bind(&WebMediaPlayerAndroid::OnMediaSourceOpened, | 239 base::Bind(&WebMediaPlayerAndroid::OnMediaSourceOpened, |
| 238 base::Unretained(this)), | 240 base::Unretained(this)), |
| 239 base::Bind(&WebMediaPlayerAndroid::OnNeedKey, base::Unretained(this)), | 241 base::Bind(&WebMediaPlayerAndroid::OnNeedKey, base::Unretained(this)), |
| 240 set_decryptor_ready_cb, | 242 set_decryptor_ready_cb, |
| 241 base::Bind(&WebMediaPlayerAndroid::UpdateNetworkState, | 243 base::Bind(&WebMediaPlayerAndroid::UpdateNetworkState, |
| 242 base::Unretained(this)), | 244 base::Unretained(this)), |
| 243 BIND_TO_RENDER_LOOP(&WebMediaPlayerAndroid::OnDurationChange)); | 245 BIND_TO_RENDER_LOOP(&WebMediaPlayerAndroid::OnDurationChange)); |
| (...skipping 934 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1178 | 1180 |
| 1179 void WebMediaPlayerAndroid::exitFullscreen() { | 1181 void WebMediaPlayerAndroid::exitFullscreen() { |
| 1180 proxy_->ExitFullscreen(player_id_); | 1182 proxy_->ExitFullscreen(player_id_); |
| 1181 } | 1183 } |
| 1182 | 1184 |
| 1183 bool WebMediaPlayerAndroid::canEnterFullscreen() const { | 1185 bool WebMediaPlayerAndroid::canEnterFullscreen() const { |
| 1184 return manager_->CanEnterFullscreen(frame_); | 1186 return manager_->CanEnterFullscreen(frame_); |
| 1185 } | 1187 } |
| 1186 | 1188 |
| 1187 } // namespace content | 1189 } // namespace content |
| OLD | NEW |