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

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

Issue 1580493004: Plumb audio focus support for spitzer clients. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@delegate_hookup
Patch Set: Fix crash, plumb. Created 4 years, 11 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
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 <stddef.h> 7 #include <stddef.h>
8 8
9 #include <limits> 9 #include <limits>
10 10
(...skipping 207 matching lines...) Expand 10 before | Expand all | Expand 10 after
218 interpolator_(&default_tick_clock_), 218 interpolator_(&default_tick_clock_),
219 frame_id_(frame_id), 219 frame_id_(frame_id),
220 suppress_deleting_texture_(false), 220 suppress_deleting_texture_(false),
221 weak_factory_(this) { 221 weak_factory_(this) {
222 DCHECK(player_manager_); 222 DCHECK(player_manager_);
223 DCHECK(cdm_factory_); 223 DCHECK(cdm_factory_);
224 224
225 DCHECK(main_thread_checker_.CalledOnValidThread()); 225 DCHECK(main_thread_checker_.CalledOnValidThread());
226 stream_texture_factory_->AddObserver(this); 226 stream_texture_factory_->AddObserver(this);
227 227
228 if (delegate)
229 delegate->AddObserver(this);
230
228 player_id_ = player_manager_->RegisterMediaPlayer(this); 231 player_id_ = player_manager_->RegisterMediaPlayer(this);
229 232
230 #if defined(VIDEO_HOLE) 233 #if defined(VIDEO_HOLE)
231 const RendererPreferences& prefs = 234 const RendererPreferences& prefs =
232 static_cast<RenderFrameImpl*>(render_frame()) 235 static_cast<RenderFrameImpl*>(render_frame())
233 ->render_view() 236 ->render_view()
234 ->renderer_preferences(); 237 ->renderer_preferences();
235 force_use_overlay_embedded_video_ = prefs.use_view_overlay_for_all_video; 238 force_use_overlay_embedded_video_ = prefs.use_view_overlay_for_all_video;
236 if (force_use_overlay_embedded_video_ || 239 if (force_use_overlay_embedded_video_ ||
237 player_manager_->ShouldUseVideoOverlayForEmbeddedEncryptedVideo()) { 240 player_manager_->ShouldUseVideoOverlayForEmbeddedEncryptedVideo()) {
(...skipping 1589 matching lines...) Expand 10 before | Expand all | Expand 10 after
1827 1830
1828 void WebMediaPlayerAndroid::OnWaitingForDecryptionKey() { 1831 void WebMediaPlayerAndroid::OnWaitingForDecryptionKey() {
1829 encrypted_client_->didBlockPlaybackWaitingForKey(); 1832 encrypted_client_->didBlockPlaybackWaitingForKey();
1830 1833
1831 // TODO(jrummell): didResumePlaybackBlockedForKey() should only be called 1834 // TODO(jrummell): didResumePlaybackBlockedForKey() should only be called
1832 // when a key has been successfully added (e.g. OnSessionKeysChange() with 1835 // when a key has been successfully added (e.g. OnSessionKeysChange() with
1833 // |has_additional_usable_key| = true). http://crbug.com/461903 1836 // |has_additional_usable_key| = true). http://crbug.com/461903
1834 encrypted_client_->didResumePlaybackBlockedForKey(); 1837 encrypted_client_->didResumePlaybackBlockedForKey();
1835 } 1838 }
1836 1839
1840 blink::WebMediaPlayer* WebMediaPlayerAndroid::GetPlayer() {
1841 return this;
1842 }
1843
1844 void WebMediaPlayerAndroid::OnHidden() {}
1845
1846 void WebMediaPlayerAndroid::OnShown() {}
1847
1848 void WebMediaPlayerAndroid::OnPlay() {
1849 play();
1850 client_->playbackStateChanged();
1851 }
1852
1853 void WebMediaPlayerAndroid::OnPause() {
1854 pause();
1855 client_->playbackStateChanged();
1856 }
1857
1837 void WebMediaPlayerAndroid::OnCdmContextReady(media::CdmContext* cdm_context) { 1858 void WebMediaPlayerAndroid::OnCdmContextReady(media::CdmContext* cdm_context) {
1838 DCHECK(!cdm_context_); 1859 DCHECK(!cdm_context_);
1839 1860
1840 if (!cdm_context) { 1861 if (!cdm_context) {
1841 LOG(ERROR) << "CdmContext not available (e.g. CDM creation failed)."; 1862 LOG(ERROR) << "CdmContext not available (e.g. CDM creation failed).";
1842 return; 1863 return;
1843 } 1864 }
1844 1865
1845 cdm_context_ = cdm_context; 1866 cdm_context_ = cdm_context;
1846 1867
(...skipping 106 matching lines...) Expand 10 before | Expand all | Expand 10 after
1953 result = PREDICTION_RESULT_PATH_BASED_WAS_BETTER; 1974 result = PREDICTION_RESULT_PATH_BASED_WAS_BETTER;
1954 } else if (is_hls_url == is_hls) { 1975 } else if (is_hls_url == is_hls) {
1955 result = PREDICTION_RESULT_URL_BASED_WAS_BETTER; 1976 result = PREDICTION_RESULT_URL_BASED_WAS_BETTER;
1956 } 1977 }
1957 UMA_HISTOGRAM_ENUMERATION( 1978 UMA_HISTOGRAM_ENUMERATION(
1958 "Media.Android.IsHttpLiveStreamingMediaPredictionResult", 1979 "Media.Android.IsHttpLiveStreamingMediaPredictionResult",
1959 result, PREDICTION_RESULT_MAX); 1980 result, PREDICTION_RESULT_MAX);
1960 } 1981 }
1961 1982
1962 } // namespace content 1983 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698