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

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: Rebase, now that the Blink patch has landed. Created 6 years, 3 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
« no previous file with comments | « content/renderer/media/android/webmediaplayer_android.h ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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/android/build_info.h" 9 #include "base/android/build_info.h"
10 #include "base/bind.h" 10 #include "base/bind.h"
(...skipping 316 matching lines...) Expand 10 before | Expand all | Expand 10 after
327 player_manager_->Start(player_id_); 327 player_manager_->Start(player_id_);
328 UpdatePlayingState(true); 328 UpdatePlayingState(true);
329 UpdateNetworkState(WebMediaPlayer::NetworkStateLoading); 329 UpdateNetworkState(WebMediaPlayer::NetworkStateLoading);
330 } 330 }
331 331
332 void WebMediaPlayerAndroid::pause() { 332 void WebMediaPlayerAndroid::pause() {
333 DCHECK(main_thread_checker_.CalledOnValidThread()); 333 DCHECK(main_thread_checker_.CalledOnValidThread());
334 Pause(true); 334 Pause(true);
335 } 335 }
336 336
337 void WebMediaPlayerAndroid::requestRemotePlayback() {
338 player_manager_->RequestRemotePlayback(player_id_);
339 }
340
341 void WebMediaPlayerAndroid::requestRemotePlaybackControl() {
342 player_manager_->RequestRemotePlaybackControl(player_id_);
343 }
344
337 void WebMediaPlayerAndroid::seek(double seconds) { 345 void WebMediaPlayerAndroid::seek(double seconds) {
338 DCHECK(main_thread_checker_.CalledOnValidThread()); 346 DCHECK(main_thread_checker_.CalledOnValidThread());
339 DVLOG(1) << __FUNCTION__ << "(" << seconds << ")"; 347 DVLOG(1) << __FUNCTION__ << "(" << seconds << ")";
340 348
341 base::TimeDelta new_seek_time = media::ConvertSecondsToTimestamp(seconds); 349 base::TimeDelta new_seek_time = media::ConvertSecondsToTimestamp(seconds);
342 350
343 if (seeking_) { 351 if (seeking_) {
344 if (new_seek_time == seek_time_) { 352 if (new_seek_time == seek_time_) {
345 if (media_source_delegate_) { 353 if (media_source_delegate_) {
346 if (!pending_seek_) { 354 if (!pending_seek_) {
(...skipping 551 matching lines...) Expand 10 before | Expand all | Expand 10 after
898 interpolator_.SetBounds(lower_bound, upper_bound); 906 interpolator_.SetBounds(lower_bound, upper_bound);
899 } 907 }
900 908
901 void WebMediaPlayerAndroid::OnConnectedToRemoteDevice( 909 void WebMediaPlayerAndroid::OnConnectedToRemoteDevice(
902 const std::string& remote_playback_message) { 910 const std::string& remote_playback_message) {
903 DCHECK(main_thread_checker_.CalledOnValidThread()); 911 DCHECK(main_thread_checker_.CalledOnValidThread());
904 DCHECK(!media_source_delegate_); 912 DCHECK(!media_source_delegate_);
905 DrawRemotePlaybackText(remote_playback_message); 913 DrawRemotePlaybackText(remote_playback_message);
906 is_remote_ = true; 914 is_remote_ = true;
907 SetNeedsEstablishPeer(false); 915 SetNeedsEstablishPeer(false);
916 client_->connectedToRemoteDevice();
908 } 917 }
909 918
910 void WebMediaPlayerAndroid::OnDisconnectedFromRemoteDevice() { 919 void WebMediaPlayerAndroid::OnDisconnectedFromRemoteDevice() {
911 DCHECK(main_thread_checker_.CalledOnValidThread()); 920 DCHECK(main_thread_checker_.CalledOnValidThread());
912 DCHECK(!media_source_delegate_); 921 DCHECK(!media_source_delegate_);
913 SetNeedsEstablishPeer(true); 922 SetNeedsEstablishPeer(true);
914 if (!paused()) 923 if (!paused())
915 EstablishSurfaceTexturePeer(); 924 EstablishSurfaceTexturePeer();
916 is_remote_ = false; 925 is_remote_ = false;
917 ReallocateVideoFrame(); 926 ReallocateVideoFrame();
927 client_->disconnectedFromRemoteDevice();
918 } 928 }
919 929
920 void WebMediaPlayerAndroid::OnDidEnterFullscreen() { 930 void WebMediaPlayerAndroid::OnDidEnterFullscreen() {
921 if (!player_manager_->IsInFullscreen(frame_)) 931 if (!player_manager_->IsInFullscreen(frame_))
922 player_manager_->DidEnterFullscreen(frame_); 932 player_manager_->DidEnterFullscreen(frame_);
923 } 933 }
924 934
925 void WebMediaPlayerAndroid::OnDidExitFullscreen() { 935 void WebMediaPlayerAndroid::OnDidExitFullscreen() {
926 // |needs_external_surface_| is always false on non-TV devices. 936 // |needs_external_surface_| is always false on non-TV devices.
927 if (!needs_external_surface_) 937 if (!needs_external_surface_)
(...skipping 19 matching lines...) Expand all
947 957
948 void WebMediaPlayerAndroid::OnMediaPlayerPause() { 958 void WebMediaPlayerAndroid::OnMediaPlayerPause() {
949 UpdatePlayingState(false); 959 UpdatePlayingState(false);
950 client_->playbackStateChanged(); 960 client_->playbackStateChanged();
951 } 961 }
952 962
953 void WebMediaPlayerAndroid::OnRequestFullscreen() { 963 void WebMediaPlayerAndroid::OnRequestFullscreen() {
954 client_->requestFullscreen(); 964 client_->requestFullscreen();
955 } 965 }
956 966
967 void WebMediaPlayerAndroid::OnRemoteRouteAvailabilityChanged(
968 bool routes_available) {
969 client_->remoteRouteAvailabilityChanged(routes_available);
970 }
971
957 void WebMediaPlayerAndroid::OnDurationChanged(const base::TimeDelta& duration) { 972 void WebMediaPlayerAndroid::OnDurationChanged(const base::TimeDelta& duration) {
958 DCHECK(main_thread_checker_.CalledOnValidThread()); 973 DCHECK(main_thread_checker_.CalledOnValidThread());
959 // Only MSE |player_type_| registers this callback. 974 // Only MSE |player_type_| registers this callback.
960 DCHECK_EQ(player_type_, MEDIA_PLAYER_TYPE_MEDIA_SOURCE); 975 DCHECK_EQ(player_type_, MEDIA_PLAYER_TYPE_MEDIA_SOURCE);
961 976
962 // Cache the new duration value and trust it over any subsequent duration 977 // Cache the new duration value and trust it over any subsequent duration
963 // values received in OnMediaMetadataChanged(). 978 // values received in OnMediaMetadataChanged().
964 duration_ = duration; 979 duration_ = duration;
965 ignore_metadata_duration_change_ = true; 980 ignore_metadata_duration_change_ = true;
966 981
(...skipping 852 matching lines...) Expand 10 before | Expand all | Expand 10 after
1819 1834
1820 bool WebMediaPlayerAndroid::IsHLSStream() const { 1835 bool WebMediaPlayerAndroid::IsHLSStream() const {
1821 std::string mime; 1836 std::string mime;
1822 GURL url = redirected_url_.is_empty() ? url_ : redirected_url_; 1837 GURL url = redirected_url_.is_empty() ? url_ : redirected_url_;
1823 if (!net::GetMimeTypeFromFile(base::FilePath(url.path()), &mime)) 1838 if (!net::GetMimeTypeFromFile(base::FilePath(url.path()), &mime))
1824 return false; 1839 return false;
1825 return !mime.compare("application/x-mpegurl"); 1840 return !mime.compare("application/x-mpegurl");
1826 } 1841 }
1827 1842
1828 } // namespace content 1843 } // namespace content
OLDNEW
« no previous file with comments | « content/renderer/media/android/webmediaplayer_android.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698