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

Unified Diff: content/browser/media/android/media_player_renderer.cc

Issue 2387293007: Register MediaPlayerRenderer service (Closed)
Patch Set: Added nogncheck Created 4 years, 2 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 side-by-side diff with in-line comments
Download patch
Index: content/browser/media/android/media_player_renderer.cc
diff --git a/content/browser/media/android/media_player_renderer.cc b/content/browser/media/android/media_player_renderer.cc
index 62ae926689cf23d0c23dadeb745b8dde1174aacc..756b9a98cb16b7f5d58a35a0f217b6eb498212b1 100644
--- a/content/browser/media/android/media_player_renderer.cc
+++ b/content/browser/media/android/media_player_renderer.cc
@@ -81,6 +81,18 @@ void MediaPlayerRenderer::StartPlayingFrom(base::TimeDelta time) {
media_player_->Start();
media_player_->SeekTo(time);
+
+ // WMPI needs to receive a BUFFERING_HAVE_ENOUGH data before sending a
+ // playback_rate > 0. The MediaPlayer manages its own buffering and will pause
+ // internally if ever it runs out of data. Sending BUFFERING_HAVE_ENOUGH here
+ // is always safe.
+ //
+ // NOTE: OnBufferingUpdate is triggered whenever the media has buffered or
+ // played up to a % value between 1-100, and it's not a reliable indicator of
+ // the buffering state.
+ //
+ // TODO(tguilbert): Investigate the effect of this call on UMAs.
+ renderer_client_->OnBufferingStateChange(media::BUFFERING_HAVE_ENOUGH);
}
void MediaPlayerRenderer::SetPlaybackRate(double playback_rate) {
@@ -182,15 +194,7 @@ void MediaPlayerRenderer::OnPlaybackComplete(int player_id) {
void MediaPlayerRenderer::OnMediaInterrupted(int player_id) {}
-void MediaPlayerRenderer::OnBufferingUpdate(int player_id, int percentage) {
- // As per Android documentation, |percentage| actually indicates "percentage
- // buffered or played". E.g. if we are at 50% playback and have 1%
- // buffered, |percentage| will be equal to 51.
- //
- // MediaPlayer manages its own buffering and will pause internally if ever it
- // runs out of data. Therefore, we can always return BUFFERING_HAVE_ENOUGH.
- renderer_client_->OnBufferingStateChange(media::BUFFERING_HAVE_ENOUGH);
-}
+void MediaPlayerRenderer::OnBufferingUpdate(int player_id, int percentage) {}
void MediaPlayerRenderer::OnSeekComplete(int player_id,
const base::TimeDelta& current_time) {}

Powered by Google App Engine
This is Rietveld 408576698