diff options
author | Andreas Huber <andih@google.com> | 2011-04-04 12:45:23 -0700 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2011-04-04 12:45:23 -0700 |
commit | dc5ba0451c6372b2579a2dcac1aa08d279a51c68 (patch) | |
tree | 9b8a6b173448b987a4073d228201e88d1d5fefdf /media/libmediaplayerservice | |
parent | fd125f0c4b36dab48111ba9bb8c618da27ab6624 (diff) | |
parent | c6e3b27fa1c2bf9863dcf017019c976ec98bce42 (diff) | |
download | frameworks_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.cpp | 9 |
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() |