summaryrefslogtreecommitdiffstats
path: root/media/libmediaplayerservice/nuplayer/NuPlayerRenderer.cpp
diff options
context:
space:
mode:
authorWei Jia <wjia@google.com>2015-05-01 16:35:43 -0700
committerWei Jia <wjia@google.com>2015-05-01 17:22:46 -0700
commit9e7ed3315298b42db485963b182a572e9ab42f9f (patch)
treeaaf3b6c0025a9bb509b8a5dfc4a6570080013569 /media/libmediaplayerservice/nuplayer/NuPlayerRenderer.cpp
parent457e82586d51c6d360ce4feb4c1dff1a31dcb8d3 (diff)
downloadframeworks_av-9e7ed3315298b42db485963b182a572e9ab42f9f.zip
frameworks_av-9e7ed3315298b42db485963b182a572e9ab42f9f.tar.gz
frameworks_av-9e7ed3315298b42db485963b182a572e9ab42f9f.tar.bz2
mediaplayer: flush audio sink when renderer is flushed.
Bug: 17488729 Change-Id: Ie56018367cb6aec1749ca148e94173e6c5864b27
Diffstat (limited to 'media/libmediaplayerservice/nuplayer/NuPlayerRenderer.cpp')
-rw-r--r--media/libmediaplayerservice/nuplayer/NuPlayerRenderer.cpp10
1 files changed, 10 insertions, 0 deletions
diff --git a/media/libmediaplayerservice/nuplayer/NuPlayerRenderer.cpp b/media/libmediaplayerservice/nuplayer/NuPlayerRenderer.cpp
index f229452..6fc48b1 100644
--- a/media/libmediaplayerservice/nuplayer/NuPlayerRenderer.cpp
+++ b/media/libmediaplayerservice/nuplayer/NuPlayerRenderer.cpp
@@ -1087,6 +1087,16 @@ void NuPlayer::Renderer::onFlush(const sp<AMessage> &msg) {
mAudioSink->pause();
mAudioSink->flush();
mAudioSink->start();
+ } else {
+ mAudioSink->pause();
+ mAudioSink->flush();
+ // Call stop() to signal to the AudioSink to completely fill the
+ // internal buffer before resuming playback.
+ mAudioSink->stop();
+ if (!mPaused) {
+ mAudioSink->start();
+ }
+ mNumFramesWritten = 0;
}
} else {
flushQueue(&mVideoQueue);