diff options
author | Eric Laurent <elaurent@google.com> | 2012-06-25 11:29:21 -0700 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2012-06-25 11:29:21 -0700 |
commit | 52a530fda9ae2bb8e00b35972c73e9cd0b110ab4 (patch) | |
tree | 29e75a784f5690aee9e96f17cdd8b500be40406f /services | |
parent | 624a7fcb377f2a40109c16de5109ae8ea1f67a69 (diff) | |
parent | 22167855ff9af7b13fda669ca27c67a037a7d585 (diff) | |
download | frameworks_av-52a530fda9ae2bb8e00b35972c73e9cd0b110ab4.zip frameworks_av-52a530fda9ae2bb8e00b35972c73e9cd0b110ab4.tar.gz frameworks_av-52a530fda9ae2bb8e00b35972c73e9cd0b110ab4.tar.bz2 |
Merge "audioflinger: fix setStreamOutput()"
Diffstat (limited to 'services')
-rw-r--r-- | services/audioflinger/AudioFlinger.cpp | 14 | ||||
-rw-r--r-- | services/audioflinger/AudioFlinger.h | 3 |
2 files changed, 4 insertions, 13 deletions
diff --git a/services/audioflinger/AudioFlinger.cpp b/services/audioflinger/AudioFlinger.cpp index b78c6d1..50fde86 100644 --- a/services/audioflinger/AudioFlinger.cpp +++ b/services/audioflinger/AudioFlinger.cpp @@ -3359,7 +3359,7 @@ void AudioFlinger::PlaybackThread::cacheParameters_l() idleSleepTime = idleSleepTimeUs(); } -void AudioFlinger::MixerThread::invalidateTracks(audio_stream_type_t streamType) +void AudioFlinger::PlaybackThread::invalidateTracks(audio_stream_type_t streamType) { ALOGV ("MixerThread::invalidateTracks() mixer %p, streamType %d, mTracks.size %d", this, streamType, mTracks.size()); @@ -7026,21 +7026,11 @@ status_t AudioFlinger::closeInput(audio_io_handle_t input) status_t AudioFlinger::setStreamOutput(audio_stream_type_t stream, audio_io_handle_t output) { Mutex::Autolock _l(mLock); - MixerThread *dstThread = checkMixerThread_l(output); - if (dstThread == NULL) { - ALOGW("setStreamOutput() bad output id %d", output); - return BAD_VALUE; - } - ALOGV("setStreamOutput() stream %d to output %d", stream, output); - audioConfigChanged_l(AudioSystem::STREAM_CONFIG_CHANGED, output, &stream); for (size_t i = 0; i < mPlaybackThreads.size(); i++) { PlaybackThread *thread = mPlaybackThreads.valueAt(i).get(); - if (thread != dstThread && thread->type() != ThreadBase::DIRECT) { - MixerThread *srcThread = (MixerThread *)thread; - srcThread->invalidateTracks(stream); - } + thread->invalidateTracks(stream); } return NO_ERROR; diff --git a/services/audioflinger/AudioFlinger.h b/services/audioflinger/AudioFlinger.h index 384306c..9e42ae2 100644 --- a/services/audioflinger/AudioFlinger.h +++ b/services/audioflinger/AudioFlinger.h @@ -1016,6 +1016,8 @@ public: virtual status_t setSyncEvent(const sp<SyncEvent>& event); virtual bool isValidSyncEvent(const sp<SyncEvent>& event); + void invalidateTracks(audio_stream_type_t streamType); + protected: int16_t* mMixBuffer; @@ -1143,7 +1145,6 @@ public: // Thread virtuals - void invalidateTracks(audio_stream_type_t streamType); virtual bool checkForNewParameters_l(); virtual status_t dumpInternals(int fd, const Vector<String16>& args); |