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 |