Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(310)

Side by Side Diff: content/renderer/media/android/webmediaplayer_android.cc

Issue 349923007: Implement media Cast button in Blink (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Clean up Created 6 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
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
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
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
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
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
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698