diff options
author | Glenn Kasten <gkasten@google.com> | 2014-01-29 10:02:59 -0800 |
---|---|---|
committer | Glenn Kasten <gkasten@google.com> | 2014-01-29 10:02:59 -0800 |
commit | 0eed5ac1a14067d0fd51282e97b43b4fd9121842 (patch) | |
tree | a097082c6034c43e851e3adb8aaba670f859ca60 /services/audioflinger/AudioMixer.cpp | |
parent | de3736015c82798c431a9fa8cab5c2ec3fb181fd (diff) | |
parent | adf3f9b98b482180fc1d0835c1b6212b1659e249 (diff) | |
download | frameworks_av-0eed5ac1a14067d0fd51282e97b43b4fd9121842.zip frameworks_av-0eed5ac1a14067d0fd51282e97b43b4fd9121842.tar.gz frameworks_av-0eed5ac1a14067d0fd51282e97b43b4fd9121842.tar.bz2 |
Merge commit 'adf3f9b9' into manualmerge
Change-Id: Icdef7d075b160eb2a5ced7c57f90c6a6a4b4c64a
Diffstat (limited to 'services/audioflinger/AudioMixer.cpp')
-rw-r--r-- | services/audioflinger/AudioMixer.cpp | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/services/audioflinger/AudioMixer.cpp b/services/audioflinger/AudioMixer.cpp index 8bea752..6808105 100644 --- a/services/audioflinger/AudioMixer.cpp +++ b/services/audioflinger/AudioMixer.cpp @@ -1100,11 +1100,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; @@ -1140,6 +1135,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 > 0) { t.hook(&t, outTemp + (BLOCKSIZE-outFrames)*MAX_NUM_CHANNELS, inFrames, |