summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndreas Huber <andih@google.com>2011-04-04 12:45:23 -0700
committerAndroid (Google) Code Review <android-gerrit@google.com>2011-04-04 12:45:23 -0700
commit7fb4b427d5fca79c09d69b212ddca41539c215a2 (patch)
tree76e0d913dfdfc18fc07348a003b4dc35c0ffec81
parentbd7b7177f88ae6e83bd7bb8bfd9b7018be923931 (diff)
parent51c1e0e86a0ad95bf3d890a9a2f51e54b8ef9444 (diff)
downloadframeworks_av-7fb4b427d5fca79c09d69b212ddca41539c215a2.zip
frameworks_av-7fb4b427d5fca79c09d69b212ddca41539c215a2.tar.gz
frameworks_av-7fb4b427d5fca79c09d69b212ddca41539c215a2.tar.bz2
Merge "This reverts an earlier change 4aeec2da39fce4de9b07b694d59fd308ffb3d491"
-rw-r--r--media/libmediaplayerservice/MediaPlayerService.cpp9
-rw-r--r--media/libstagefright/AudioPlayer.cpp4
2 files changed, 9 insertions, 4 deletions
diff --git a/media/libmediaplayerservice/MediaPlayerService.cpp b/media/libmediaplayerservice/MediaPlayerService.cpp
index 5eecbde..9c9ac97 100644
--- a/media/libmediaplayerservice/MediaPlayerService.cpp
+++ b/media/libmediaplayerservice/MediaPlayerService.cpp
@@ -1449,8 +1449,15 @@ void MediaPlayerService::AudioOutput::CallbackWrapper(
size_t actualSize = (*me->mCallback)(
me, buffer->raw, buffer->size, me->mCallbackCookie);
- buffer->size = actualSize;
+ if (actualSize == 0 && buffer->size > 0) {
+ // We've reached EOS but the audio track is not stopped yet,
+ // keep playing silence.
+
+ memset(buffer->raw, 0, buffer->size);
+ actualSize = buffer->size;
+ }
+ buffer->size = actualSize;
}
int MediaPlayerService::AudioOutput::getSessionId()
diff --git a/media/libstagefright/AudioPlayer.cpp b/media/libstagefright/AudioPlayer.cpp
index 07b9522..fcea848 100644
--- a/media/libstagefright/AudioPlayer.cpp
+++ b/media/libstagefright/AudioPlayer.cpp
@@ -306,9 +306,7 @@ size_t AudioPlayer::fillBuffer(void *data, size_t size) {
}
if (mReachedEOS) {
- memset(data, 0, size);
-
- return size;
+ return 0;
}
bool postSeekComplete = false;