summaryrefslogtreecommitdiffstats
path: root/media/libmediaplayerservice
diff options
context:
space:
mode:
authorRobert Shih <robertshih@google.com>2015-07-23 17:54:13 -0700
committerRobert Shih <robertshih@google.com>2015-07-24 09:45:29 -0700
commite1d701902765c710398133025cfeee3ea8b6d280 (patch)
tree9c603e6de41377f9af9196296f0c9d0a454522aa /media/libmediaplayerservice
parent70c1f74f3d4c43b67949f3e742195d60f4677462 (diff)
downloadframeworks_av-e1d701902765c710398133025cfeee3ea8b6d280.zip
frameworks_av-e1d701902765c710398133025cfeee3ea8b6d280.tar.gz
frameworks_av-e1d701902765c710398133025cfeee3ea8b6d280.tar.bz2
NuPlayerRenderer: prepareForMediaRenderingStart_l on en/disable offload audio
Bug: 22662910 Change-Id: I8fb4a9fce801295a4b251e27965aef048d217da6
Diffstat (limited to 'media/libmediaplayerservice')
-rw-r--r--media/libmediaplayerservice/nuplayer/NuPlayer.cpp6
-rw-r--r--media/libmediaplayerservice/nuplayer/NuPlayerRenderer.cpp6
2 files changed, 10 insertions, 2 deletions
diff --git a/media/libmediaplayerservice/nuplayer/NuPlayer.cpp b/media/libmediaplayerservice/nuplayer/NuPlayer.cpp
index 8e3e460..bfdb1ad 100644
--- a/media/libmediaplayerservice/nuplayer/NuPlayer.cpp
+++ b/media/libmediaplayerservice/nuplayer/NuPlayer.cpp
@@ -1474,8 +1474,10 @@ void NuPlayer::determineAudioModeChange() {
sp<AMessage> format = mSource->getFormat(true /*audio*/);
tryOpenAudioSinkForOffload(format, hasVideo);
} else {
- mRenderer->signalDisableOffloadAudio();
- mOffloadAudio = false;
+ if (mOffloadAudio) {
+ mRenderer->signalDisableOffloadAudio();
+ mOffloadAudio = false;
+ }
}
}
diff --git a/media/libmediaplayerservice/nuplayer/NuPlayerRenderer.cpp b/media/libmediaplayerservice/nuplayer/NuPlayerRenderer.cpp
index 767417b..e9f3799 100644
--- a/media/libmediaplayerservice/nuplayer/NuPlayerRenderer.cpp
+++ b/media/libmediaplayerservice/nuplayer/NuPlayerRenderer.cpp
@@ -1422,12 +1422,18 @@ void NuPlayer::Renderer::onDisableOffloadAudio() {
Mutex::Autolock autoLock(mLock);
mFlags &= ~FLAG_OFFLOAD_AUDIO;
++mAudioDrainGeneration;
+ if (mAudioRenderingStartGeneration != -1) {
+ prepareForMediaRenderingStart_l();
+ }
}
void NuPlayer::Renderer::onEnableOffloadAudio() {
Mutex::Autolock autoLock(mLock);
mFlags |= FLAG_OFFLOAD_AUDIO;
++mAudioDrainGeneration;
+ if (mAudioRenderingStartGeneration != -1) {
+ prepareForMediaRenderingStart_l();
+ }
}
void NuPlayer::Renderer::onPause() {