diff options
author | Wei Jia <wjia@google.com> | 2015-05-01 16:35:43 -0700 |
---|---|---|
committer | Wei Jia <wjia@google.com> | 2015-05-01 17:22:46 -0700 |
commit | 9e7ed3315298b42db485963b182a572e9ab42f9f (patch) | |
tree | aaf3b6c0025a9bb509b8a5dfc4a6570080013569 /media/libmediaplayerservice/nuplayer/NuPlayerRenderer.cpp | |
parent | 457e82586d51c6d360ce4feb4c1dff1a31dcb8d3 (diff) | |
download | frameworks_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.cpp | 10 |
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); |