Chromium Code Reviews| 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 <limits> | 7 #include <limits> |
| 8 | 8 |
| 9 #include "base/bind.h" | 9 #include "base/bind.h" |
| 10 #include "base/command_line.h" | 10 #include "base/command_line.h" |
| (...skipping 278 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 289 UpdateNetworkState(WebMediaPlayer::NetworkStateNetworkError); | 289 UpdateNetworkState(WebMediaPlayer::NetworkStateNetworkError); |
| 290 return; | 290 return; |
| 291 } | 291 } |
| 292 | 292 |
| 293 has_media_info_ = true; | 293 has_media_info_ = true; |
| 294 if (has_media_metadata_ && | 294 if (has_media_metadata_ && |
| 295 ready_state_ != WebMediaPlayer::ReadyStateHaveEnoughData) { | 295 ready_state_ != WebMediaPlayer::ReadyStateHaveEnoughData) { |
| 296 UpdateReadyState(WebMediaPlayer::ReadyStateHaveMetadata); | 296 UpdateReadyState(WebMediaPlayer::ReadyStateHaveMetadata); |
| 297 UpdateReadyState(WebMediaPlayer::ReadyStateHaveEnoughData); | 297 UpdateReadyState(WebMediaPlayer::ReadyStateHaveEnoughData); |
| 298 } | 298 } |
| 299 // Android doesn't start fetching resources until an implementation-defined | |
| 300 // event (e.g. playback request) occurs. Sets to the network state to IDLE | |
| 301 // if play is not requested yet. | |
| 302 if (paused()) | |
| 303 UpdateNetworkState(WebMediaPlayer::NetworkStateIdle); | |
|
scherkus (not reviewing)
2013/09/25 00:23:54
this still isn't technically correct
for example,
Jinsuk Kim
2013/09/25 01:42:11
That's true. I think I need a new flag rather than
| |
| 299 } | 304 } |
| 300 | 305 |
| 301 void WebMediaPlayerAndroid::play() { | 306 void WebMediaPlayerAndroid::play() { |
| 302 #if defined(GOOGLE_TV) | 307 #if defined(GOOGLE_TV) |
| 303 if (hasVideo() && needs_external_surface_ && | 308 if (hasVideo() && needs_external_surface_ && |
| 304 !manager_->IsInFullscreen(frame_)) { | 309 !manager_->IsInFullscreen(frame_)) { |
| 305 DCHECK(!needs_establish_peer_); | 310 DCHECK(!needs_establish_peer_); |
| 306 proxy_->RequestExternalSurface(player_id_, last_computed_rect_); | 311 proxy_->RequestExternalSurface(player_id_, last_computed_rect_); |
| 307 } | 312 } |
| 308 if (audio_renderer_ && paused()) | 313 if (audio_renderer_ && paused()) |
| 309 audio_renderer_->Play(); | 314 audio_renderer_->Play(); |
| 310 #endif | 315 #endif |
| 311 if (hasVideo() && needs_establish_peer_) | 316 if (hasVideo() && needs_establish_peer_) |
| 312 EstablishSurfaceTexturePeer(); | 317 EstablishSurfaceTexturePeer(); |
| 313 | 318 |
| 314 if (paused()) | 319 if (paused()) |
| 315 proxy_->Start(player_id_); | 320 proxy_->Start(player_id_); |
| 316 UpdatePlayingState(true); | 321 UpdatePlayingState(true); |
| 322 UpdateNetworkState(WebMediaPlayer::NetworkStateLoading); | |
| 317 } | 323 } |
| 318 | 324 |
| 319 void WebMediaPlayerAndroid::pause() { | 325 void WebMediaPlayerAndroid::pause() { |
| 320 #if defined(GOOGLE_TV) | 326 #if defined(GOOGLE_TV) |
| 321 if (audio_renderer_ && !paused()) | 327 if (audio_renderer_ && !paused()) |
| 322 audio_renderer_->Pause(); | 328 audio_renderer_->Pause(); |
| 323 #endif | 329 #endif |
| 324 proxy_->Pause(player_id_); | 330 proxy_->Pause(player_id_); |
| 325 UpdatePlayingState(false); | 331 UpdatePlayingState(false); |
| 326 } | 332 } |
| (...skipping 872 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1199 | 1205 |
| 1200 void WebMediaPlayerAndroid::exitFullscreen() { | 1206 void WebMediaPlayerAndroid::exitFullscreen() { |
| 1201 proxy_->ExitFullscreen(player_id_); | 1207 proxy_->ExitFullscreen(player_id_); |
| 1202 } | 1208 } |
| 1203 | 1209 |
| 1204 bool WebMediaPlayerAndroid::canEnterFullscreen() const { | 1210 bool WebMediaPlayerAndroid::canEnterFullscreen() const { |
| 1205 return manager_->CanEnterFullscreen(frame_); | 1211 return manager_->CanEnterFullscreen(frame_); |
| 1206 } | 1212 } |
| 1207 | 1213 |
| 1208 } // namespace content | 1214 } // namespace content |
| OLD | NEW |