diff options
author | Glenn Kasten <gkasten@android.com> | 2014-01-29 17:53:44 +0000 |
---|---|---|
committer | Android Git Automerger <android-git-automerger@android.com> | 2014-01-29 17:53:44 +0000 |
commit | d2dc66a223b611142da8a019ebde79e3f8dc18f5 (patch) | |
tree | 8955825ac7bd77217744b35ad071a7c950e5f539 | |
parent | 06f7d1513ee325b5792ef26b77aeaae373f83ddc (diff) | |
parent | 1bf0eecd2ec6a3b3e29ad2c91bcefda76abef2fe (diff) | |
download | frameworks_av-d2dc66a223b611142da8a019ebde79e3f8dc18f5.zip frameworks_av-d2dc66a223b611142da8a019ebde79e3f8dc18f5.tar.gz frameworks_av-d2dc66a223b611142da8a019ebde79e3f8dc18f5.tar.bz2 |
am 1bf0eecd: Merge "AudioMixer: Remove tracks from enabledTracks after reseting outTemp"
* commit '1bf0eecd2ec6a3b3e29ad2c91bcefda76abef2fe':
AudioMixer: Remove tracks from enabledTracks after reseting outTemp
-rw-r--r-- | services/audioflinger/AudioMixer.cpp | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/services/audioflinger/AudioMixer.cpp b/services/audioflinger/AudioMixer.cpp index df4e029..07dc6dd 100644 --- a/services/audioflinger/AudioMixer.cpp +++ b/services/audioflinger/AudioMixer.cpp @@ -1122,10 +1122,6 @@ void AudioMixer::process__genericNoResampling(state_t* state, int64_t pts) t.bufferProvider->getNextBuffer(&t.buffer, pts); t.frameCount = t.buffer.frameCount; t.in = t.buffer.raw; - // t.in == NULL can happen if the track was flushed just after having - // been enabled for mixing. - if (t.in == NULL) - enabledTracks &= ~(1<<i); } e0 = enabledTracks; @@ -1161,6 +1157,13 @@ void AudioMixer::process__genericNoResampling(state_t* state, int64_t pts) aux = t.auxBuffer + numFrames; } while (outFrames) { + // t.in == NULL can happen if the track was flushed just after having + // been enabled for mixing. + if (t.in == NULL) { + enabledTracks &= ~(1<<i); + e1 &= ~(1<<i); + break; + } size_t inFrames = (t.frameCount > outFrames)?outFrames:t.frameCount; if (inFrames) { t.hook(&t, outTemp + (BLOCKSIZE-outFrames)*MAX_NUM_CHANNELS, inFrames, |