| 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/callback_helpers.h" | 10 #include "base/callback_helpers.h" |
| (...skipping 277 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 288 if (paused()) | 288 if (paused()) |
| 289 player_manager_->Start(player_id_); | 289 player_manager_->Start(player_id_); |
| 290 UpdatePlayingState(true); | 290 UpdatePlayingState(true); |
| 291 UpdateNetworkState(WebMediaPlayer::NetworkStateLoading); | 291 UpdateNetworkState(WebMediaPlayer::NetworkStateLoading); |
| 292 } | 292 } |
| 293 | 293 |
| 294 void WebMediaPlayerAndroid::pause() { | 294 void WebMediaPlayerAndroid::pause() { |
| 295 Pause(true); | 295 Pause(true); |
| 296 } | 296 } |
| 297 | 297 |
| 298 void WebMediaPlayerAndroid::requestRemotePlayback() { |
| 299 player_manager_->RequestRemotePlayback(player_id_); |
| 300 } |
| 301 |
| 302 void WebMediaPlayerAndroid::requestRemotePlaybackControl() { |
| 303 player_manager_->RequestRemotePlaybackControl(player_id_); |
| 304 } |
| 305 |
| 298 void WebMediaPlayerAndroid::seek(double seconds) { | 306 void WebMediaPlayerAndroid::seek(double seconds) { |
| 299 DCHECK(main_thread_checker_.CalledOnValidThread()); | 307 DCHECK(main_thread_checker_.CalledOnValidThread()); |
| 300 DVLOG(1) << __FUNCTION__ << "(" << seconds << ")"; | 308 DVLOG(1) << __FUNCTION__ << "(" << seconds << ")"; |
| 301 | 309 |
| 302 base::TimeDelta new_seek_time = ConvertSecondsToTimestamp(seconds); | 310 base::TimeDelta new_seek_time = ConvertSecondsToTimestamp(seconds); |
| 303 | 311 |
| 304 if (seeking_) { | 312 if (seeking_) { |
| 305 if (new_seek_time == seek_time_) { | 313 if (new_seek_time == seek_time_) { |
| 306 if (media_source_delegate_) { | 314 if (media_source_delegate_) { |
| 307 if (!pending_seek_) { | 315 if (!pending_seek_) { |
| (...skipping 496 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 804 current_time_ = current_time.InSecondsF(); | 812 current_time_ = current_time.InSecondsF(); |
| 805 } | 813 } |
| 806 | 814 |
| 807 void WebMediaPlayerAndroid::OnConnectedToRemoteDevice( | 815 void WebMediaPlayerAndroid::OnConnectedToRemoteDevice( |
| 808 const std::string& remote_playback_message) { | 816 const std::string& remote_playback_message) { |
| 809 DCHECK(main_thread_checker_.CalledOnValidThread()); | 817 DCHECK(main_thread_checker_.CalledOnValidThread()); |
| 810 DCHECK(!media_source_delegate_); | 818 DCHECK(!media_source_delegate_); |
| 811 DrawRemotePlaybackText(remote_playback_message); | 819 DrawRemotePlaybackText(remote_playback_message); |
| 812 is_remote_ = true; | 820 is_remote_ = true; |
| 813 SetNeedsEstablishPeer(false); | 821 SetNeedsEstablishPeer(false); |
| 822 client_->connectedToRemoteDevice(); |
| 814 } | 823 } |
| 815 | 824 |
| 816 void WebMediaPlayerAndroid::OnDisconnectedFromRemoteDevice() { | 825 void WebMediaPlayerAndroid::OnDisconnectedFromRemoteDevice() { |
| 817 DCHECK(main_thread_checker_.CalledOnValidThread()); | 826 DCHECK(main_thread_checker_.CalledOnValidThread()); |
| 818 DCHECK(!media_source_delegate_); | 827 DCHECK(!media_source_delegate_); |
| 819 SetNeedsEstablishPeer(true); | 828 SetNeedsEstablishPeer(true); |
| 820 if (!paused()) | 829 if (!paused()) |
| 821 EstablishSurfaceTexturePeer(); | 830 EstablishSurfaceTexturePeer(); |
| 822 is_remote_ = false; | 831 is_remote_ = false; |
| 823 ReallocateVideoFrame(); | 832 ReallocateVideoFrame(); |
| 833 client_->disconnectedFromRemoteDevice(); |
| 824 } | 834 } |
| 825 | 835 |
| 826 void WebMediaPlayerAndroid::OnDidEnterFullscreen() { | 836 void WebMediaPlayerAndroid::OnDidEnterFullscreen() { |
| 827 if (!player_manager_->IsInFullscreen(frame_)) | 837 if (!player_manager_->IsInFullscreen(frame_)) |
| 828 player_manager_->DidEnterFullscreen(frame_); | 838 player_manager_->DidEnterFullscreen(frame_); |
| 829 } | 839 } |
| 830 | 840 |
| 831 void WebMediaPlayerAndroid::OnDidExitFullscreen() { | 841 void WebMediaPlayerAndroid::OnDidExitFullscreen() { |
| 832 // |needs_external_surface_| is always false on non-TV devices. | 842 // |needs_external_surface_| is always false on non-TV devices. |
| 833 if (!needs_external_surface_) | 843 if (!needs_external_surface_) |
| (...skipping 19 matching lines...) Expand all Loading... |
| 853 | 863 |
| 854 void WebMediaPlayerAndroid::OnMediaPlayerPause() { | 864 void WebMediaPlayerAndroid::OnMediaPlayerPause() { |
| 855 UpdatePlayingState(false); | 865 UpdatePlayingState(false); |
| 856 client_->playbackStateChanged(); | 866 client_->playbackStateChanged(); |
| 857 } | 867 } |
| 858 | 868 |
| 859 void WebMediaPlayerAndroid::OnRequestFullscreen() { | 869 void WebMediaPlayerAndroid::OnRequestFullscreen() { |
| 860 client_->requestFullscreen(); | 870 client_->requestFullscreen(); |
| 861 } | 871 } |
| 862 | 872 |
| 873 void WebMediaPlayerAndroid::OnRemoteRouteAvailabilityChanged( |
| 874 bool routes_available) { |
| 875 client_->remoteRouteAvailabilityChanged(routes_available); |
| 876 } |
| 877 |
| 863 void WebMediaPlayerAndroid::OnDurationChanged(const base::TimeDelta& duration) { | 878 void WebMediaPlayerAndroid::OnDurationChanged(const base::TimeDelta& duration) { |
| 864 DCHECK(main_thread_checker_.CalledOnValidThread()); | 879 DCHECK(main_thread_checker_.CalledOnValidThread()); |
| 865 // Only MSE |player_type_| registers this callback. | 880 // Only MSE |player_type_| registers this callback. |
| 866 DCHECK_EQ(player_type_, MEDIA_PLAYER_TYPE_MEDIA_SOURCE); | 881 DCHECK_EQ(player_type_, MEDIA_PLAYER_TYPE_MEDIA_SOURCE); |
| 867 | 882 |
| 868 // Cache the new duration value and trust it over any subsequent duration | 883 // Cache the new duration value and trust it over any subsequent duration |
| 869 // values received in OnMediaMetadataChanged(). | 884 // values received in OnMediaMetadataChanged(). |
| 870 duration_ = duration; | 885 duration_ = duration; |
| 871 ignore_metadata_duration_change_ = true; | 886 ignore_metadata_duration_change_ = true; |
| 872 | 887 |
| (...skipping 729 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1602 player_manager_->EnterFullscreen(player_id_, frame_); | 1617 player_manager_->EnterFullscreen(player_id_, frame_); |
| 1603 SetNeedsEstablishPeer(false); | 1618 SetNeedsEstablishPeer(false); |
| 1604 } | 1619 } |
| 1605 } | 1620 } |
| 1606 | 1621 |
| 1607 bool WebMediaPlayerAndroid::canEnterFullscreen() const { | 1622 bool WebMediaPlayerAndroid::canEnterFullscreen() const { |
| 1608 return player_manager_->CanEnterFullscreen(frame_); | 1623 return player_manager_->CanEnterFullscreen(frame_); |
| 1609 } | 1624 } |
| 1610 | 1625 |
| 1611 } // namespace content | 1626 } // namespace content |
| OLD | NEW |