summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Android (Google) Code Review <android-gerrit@google.com> 2009-09-03 08:01:09 -0700
committer Android (Google) Code Review <android-gerrit@google.com> 2009-09-03 08:01:09 -0700
commit1a3af62bfb3583ac2fece18523927587b6b6a277 (patch)
tree0b4e5c53a5c8ec5e68a90a616f6f50ce8c4705a1
parentcabd01f42afd0661d6a29217c62353c2eae3149a (diff)
parenta160c6ea053ab317374327d8ba21684b2fac40e4 (diff)
Merge change 23801 into eclair
* changes: fix issue 2096657: Sholes: residue shutter sound heard ONCE while taking a picture AFTER the volume is turned off.
-rw-r--r--libs/audioflinger/AudioFlinger.cpp13
1 files changed, 7 insertions, 6 deletions
diff --git a/libs/audioflinger/AudioFlinger.cpp b/libs/audioflinger/AudioFlinger.cpp
index ef7164152367..8cb89c38e788 100644
--- a/libs/audioflinger/AudioFlinger.cpp
+++ b/libs/audioflinger/AudioFlinger.cpp
@@ -1319,19 +1319,20 @@ size_t AudioFlinger::MixerThread::prepareTracks_l(const SortedVector< wp<Track>
mAudioMixer->setBufferProvider(track);
mAudioMixer->enable(AudioMixer::MIXING);
- int param;
- if ( track->mFillingUpStatus == Track::FS_FILLED) {
+ int param = AudioMixer::VOLUME;
+ if (track->mFillingUpStatus == Track::FS_FILLED) {
// no ramp for the first volume setting
track->mFillingUpStatus = Track::FS_ACTIVE;
if (track->mState == TrackBase::RESUMING) {
track->mState = TrackBase::ACTIVE;
param = AudioMixer::RAMP_VOLUME;
- } else {
- param = AudioMixer::VOLUME;
}
- } else {
+ } else if (cblk->server != 0) {
+ // If the track is stopped before the first frame was mixed,
+ // do not apply ramp
param = AudioMixer::RAMP_VOLUME;
}
+
mAudioMixer->setParameter(param, AudioMixer::VOLUME0, left);
mAudioMixer->setParameter(param, AudioMixer::VOLUME1, right);
mAudioMixer->setParameter(
@@ -1365,7 +1366,7 @@ size_t AudioFlinger::MixerThread::prepareTracks_l(const SortedVector< wp<Track>
LOGV("BUFFER TIMEOUT: remove(%d) from active list", track->name());
tracksToRemove->add(track);
}
- // For tracks using static shared memry buffer, make sure that we have
+ // For tracks using static shared memory buffer, make sure that we have
// written enough data to audio hardware before disabling the track
// NOTE: this condition with arrive before track->mRetryCount <= 0 so we
// don't care about code removing track from active list above.