diff options
author | Marco Nelissen <marcone@google.com> | 2012-07-20 09:50:46 -0700 |
---|---|---|
committer | Marco Nelissen <marcone@google.com> | 2012-07-20 10:58:53 -0700 |
commit | 6f434482331b55876cb09c638149c21ca40c7690 (patch) | |
tree | 93973261c6356026e56c46700b51ab76b61266db /media/libstagefright/AwesomePlayer.cpp | |
parent | ea682976030a3930f6ee49b33b7e21abfc68174a (diff) | |
download | frameworks_av-6f434482331b55876cb09c638149c21ca40c7690.zip frameworks_av-6f434482331b55876cb09c638149c21ca40c7690.tar.gz frameworks_av-6f434482331b55876cb09c638149c21ca40c7690.tar.bz2 |
Ensure MEDIA_INFO_BUFFERING_END is always sent
b/6620761
Change-Id: Iafd2eeac7b3cbbeb42af3638628a32dc6c2bb414
Diffstat (limited to 'media/libstagefright/AwesomePlayer.cpp')
-rw-r--r-- | media/libstagefright/AwesomePlayer.cpp | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/media/libstagefright/AwesomePlayer.cpp b/media/libstagefright/AwesomePlayer.cpp index 2c68075..661d7cd 100644 --- a/media/libstagefright/AwesomePlayer.cpp +++ b/media/libstagefright/AwesomePlayer.cpp @@ -710,7 +710,6 @@ void AwesomePlayer::onBufferingUpdate() { kHighWaterMarkBytes); modifyFlags(CACHE_UNDERRUN, CLEAR); play_l(); - notifyListener_l(MEDIA_INFO, MEDIA_INFO_BUFFERING_END); } else if (mFlags & PREPARING) { ALOGV("cache has filled up (> %d), prepare is done", kHighWaterMarkBytes); @@ -770,7 +769,6 @@ void AwesomePlayer::onBufferingUpdate() { cachedDurationUs / 1E6); play_l(); } - notifyListener_l(MEDIA_INFO, MEDIA_INFO_BUFFERING_END); } else if (mFlags & PREPARING) { ALOGV("cache has filled up (%.2f secs), prepare is done", cachedDurationUs / 1E6); @@ -2626,6 +2624,9 @@ void AwesomePlayer::modifyFlags(unsigned value, FlagMode mode) { mFlags |= value; break; case CLEAR: + if ((value & CACHE_UNDERRUN) && (mFlags & CACHE_UNDERRUN)) { + notifyListener_l(MEDIA_INFO, MEDIA_INFO_BUFFERING_END); + } mFlags &= ~value; break; case ASSIGN: |