summaryrefslogtreecommitdiffstats
path: root/media/libmediaplayerservice
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
commitdc5ba0451c6372b2579a2dcac1aa08d279a51c68 (patch)
tree9b8a6b173448b987a4073d228201e88d1d5fefdf /media/libmediaplayerservice
parentfd125f0c4b36dab48111ba9bb8c618da27ab6624 (diff)
parentc6e3b27fa1c2bf9863dcf017019c976ec98bce42 (diff)
downloadframeworks_base-dc5ba0451c6372b2579a2dcac1aa08d279a51c68.zip
frameworks_base-dc5ba0451c6372b2579a2dcac1aa08d279a51c68.tar.gz
frameworks_base-dc5ba0451c6372b2579a2dcac1aa08d279a51c68.tar.bz2
Merge "This reverts an earlier change 4aeec2da39fce4de9b07b694d59fd308ffb3d491"
Diffstat (limited to 'media/libmediaplayerservice')
-rw-r--r--media/libmediaplayerservice/MediaPlayerService.cpp9
1 files changed, 8 insertions, 1 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()