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 61 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 72 pending_seek_(0), | 72 pending_seek_(0), |
| 73 seeking_(false), | 73 seeking_(false), |
| 74 did_loading_progress_(false), | 74 did_loading_progress_(false), |
| 75 manager_(manager), | 75 manager_(manager), |
| 76 network_state_(WebMediaPlayer::NetworkStateEmpty), | 76 network_state_(WebMediaPlayer::NetworkStateEmpty), |
| 77 ready_state_(WebMediaPlayer::ReadyStateHaveNothing), | 77 ready_state_(WebMediaPlayer::ReadyStateHaveNothing), |
| 78 texture_id_(0), | 78 texture_id_(0), |
| 79 texture_mailbox_sync_point_(0), | 79 texture_mailbox_sync_point_(0), |
| 80 stream_id_(0), | 80 stream_id_(0), |
| 81 is_playing_(false), | 81 is_playing_(false), |
| 82 playing_started_(false), | |
| 82 needs_establish_peer_(true), | 83 needs_establish_peer_(true), |
| 83 stream_texture_proxy_initialized_(false), | 84 stream_texture_proxy_initialized_(false), |
| 84 has_size_info_(false), | 85 has_size_info_(false), |
| 85 has_media_metadata_(false), | 86 has_media_metadata_(false), |
| 86 has_media_info_(false), | 87 has_media_info_(false), |
| 87 stream_texture_factory_(factory), | 88 stream_texture_factory_(factory), |
| 88 needs_external_surface_(false), | 89 needs_external_surface_(false), |
| 89 video_frame_provider_client_(NULL), | 90 video_frame_provider_client_(NULL), |
| 90 pending_playback_(false), | 91 pending_playback_(false), |
| 91 player_type_(MEDIA_PLAYER_TYPE_URL), | 92 player_type_(MEDIA_PLAYER_TYPE_URL), |
| (...skipping 136 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 228 UpdateNetworkState(WebMediaPlayer::NetworkStateNetworkError); | 229 UpdateNetworkState(WebMediaPlayer::NetworkStateNetworkError); |
| 229 return; | 230 return; |
| 230 } | 231 } |
| 231 | 232 |
| 232 has_media_info_ = true; | 233 has_media_info_ = true; |
| 233 if (has_media_metadata_ && | 234 if (has_media_metadata_ && |
| 234 ready_state_ != WebMediaPlayer::ReadyStateHaveEnoughData) { | 235 ready_state_ != WebMediaPlayer::ReadyStateHaveEnoughData) { |
| 235 UpdateReadyState(WebMediaPlayer::ReadyStateHaveMetadata); | 236 UpdateReadyState(WebMediaPlayer::ReadyStateHaveMetadata); |
| 236 UpdateReadyState(WebMediaPlayer::ReadyStateHaveEnoughData); | 237 UpdateReadyState(WebMediaPlayer::ReadyStateHaveEnoughData); |
| 237 } | 238 } |
| 239 // Android doesn't start fetching resources until an implementation-defined | |
| 240 // event (e.g. playback request) occurs. Sets to the network state to IDLE | |
|
qinmin
2013/10/01 03:34:28
nit: s/Sets to/Sets/
Jinsuk Kim
2013/10/01 04:14:48
Done.
| |
| 241 // if play is not requested yet. | |
| 242 if (!playing_started_) | |
| 243 UpdateNetworkState(WebMediaPlayer::NetworkStateIdle); | |
| 238 } | 244 } |
| 239 | 245 |
| 240 void WebMediaPlayerAndroid::play() { | 246 void WebMediaPlayerAndroid::play() { |
| 241 if (hasVideo() && needs_establish_peer_) | 247 if (hasVideo() && needs_establish_peer_) |
| 242 EstablishSurfaceTexturePeer(); | 248 EstablishSurfaceTexturePeer(); |
| 243 | 249 |
| 244 if (paused()) | 250 if (paused()) |
| 245 proxy_->Start(player_id_); | 251 proxy_->Start(player_id_); |
| 246 UpdatePlayingState(true); | 252 UpdatePlayingState(true); |
| 253 UpdateNetworkState(WebMediaPlayer::NetworkStateLoading); | |
| 254 playing_started_ = true; | |
| 247 } | 255 } |
| 248 | 256 |
| 249 void WebMediaPlayerAndroid::pause() { | 257 void WebMediaPlayerAndroid::pause() { |
| 250 proxy_->Pause(player_id_); | 258 proxy_->Pause(player_id_); |
| 251 UpdatePlayingState(false); | 259 UpdatePlayingState(false); |
| 252 } | 260 } |
| 253 | 261 |
| 254 void WebMediaPlayerAndroid::seek(double seconds) { | 262 void WebMediaPlayerAndroid::seek(double seconds) { |
| 255 pending_seek_ = seconds; | 263 pending_seek_ = seconds; |
| 256 seeking_ = true; | 264 seeking_ = true; |
| (...skipping 788 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1045 | 1053 |
| 1046 void WebMediaPlayerAndroid::exitFullscreen() { | 1054 void WebMediaPlayerAndroid::exitFullscreen() { |
| 1047 proxy_->ExitFullscreen(player_id_); | 1055 proxy_->ExitFullscreen(player_id_); |
| 1048 } | 1056 } |
| 1049 | 1057 |
| 1050 bool WebMediaPlayerAndroid::canEnterFullscreen() const { | 1058 bool WebMediaPlayerAndroid::canEnterFullscreen() const { |
| 1051 return manager_->CanEnterFullscreen(frame_); | 1059 return manager_->CanEnterFullscreen(frame_); |
| 1052 } | 1060 } |
| 1053 | 1061 |
| 1054 } // namespace content | 1062 } // namespace content |
| OLD | NEW |