diff options
author | Steve Kondik <steve@cyngn.com> | 2016-04-19 02:41:45 -0700 |
---|---|---|
committer | Steve Kondik <steve@cyngn.com> | 2016-04-19 22:21:40 -0700 |
commit | 32ef0556ae58ff6b7c6fe6fb0a17d3ff7f01de31 (patch) | |
tree | e134a8ab7a0b5a00c7f3680b7b3ed6562ccbef80 /services/audiopolicy/service/AudioPolicyInterfaceImpl.cpp | |
parent | 489c9fb62f02e1d23d6d6c89b22f7d19c596e65e (diff) | |
download | frameworks_av-32ef0556ae58ff6b7c6fe6fb0a17d3ff7f01de31.zip frameworks_av-32ef0556ae58ff6b7c6fe6fb0a17d3ff7f01de31.tar.gz frameworks_av-32ef0556ae58ff6b7c6fe6fb0a17d3ff7f01de31.tar.bz2 |
audiopolicy: Clean up the mess
* Since we're not using the policy directly to auto-attach,
let's clean it up and remove the unused stuff.
* Also fixes notifications for session release.
This reverts commit 47f8c7303c9e2054f1492b02b6c7472385c52dc9.
Change-Id: Ibe65f427773c6ef012dde4f289d10e4089c094ea
Diffstat (limited to 'services/audiopolicy/service/AudioPolicyInterfaceImpl.cpp')
-rw-r--r-- | services/audiopolicy/service/AudioPolicyInterfaceImpl.cpp | 33 |
1 files changed, 13 insertions, 20 deletions
diff --git a/services/audiopolicy/service/AudioPolicyInterfaceImpl.cpp b/services/audiopolicy/service/AudioPolicyInterfaceImpl.cpp index 51af20b..96bc4c7 100644 --- a/services/audiopolicy/service/AudioPolicyInterfaceImpl.cpp +++ b/services/audiopolicy/service/AudioPolicyInterfaceImpl.cpp @@ -182,30 +182,12 @@ status_t AudioPolicyService::getOutputForAttr(const audio_attributes_t *attr, } if (audioPolicyEffects != 0) { - addOutputSessionEffects(*output, *stream, session, flags, channelMask, uid); + audioPolicyEffects->doAddOutputSessionEffects(*output, *stream, session, flags, channelMask, uid); } return status; } -status_t AudioPolicyService::addOutputSessionEffects(audio_io_handle_t output, - audio_stream_type_t stream, - audio_session_t session, - audio_output_flags_t flags, - audio_channel_mask_t channelMask, - uid_t uid) -{ - if (uint32_t(stream) >= AUDIO_STREAM_CNT) { - return BAD_VALUE; - } - if (mAudioPolicyManager == NULL) { - return NO_INIT; - } - ALOGV("addOutputSessionEffects()"); - return mOutputCommandThread->addOutputSessionEffectsCommand( - output, stream, session, flags, channelMask, uid); -} - status_t AudioPolicyService::startOutput(audio_io_handle_t output, audio_stream_type_t stream, audio_session_t session) @@ -231,8 +213,19 @@ status_t AudioPolicyService::doStartOutput(audio_io_handle_t output, return NO_INIT; } ALOGV("doStartOutput()"); + sp<AudioPolicyEffects>audioPolicyEffects; + { + Mutex::Autolock _l(mLock); + audioPolicyEffects = mAudioPolicyEffects; + } + if (audioPolicyEffects != 0) { + // create audio processors according to stream + status_t status = audioPolicyEffects->addOutputSessionEffects(output, stream, session); + if (status != NO_ERROR && status != ALREADY_EXISTS) { + ALOGW("Failed to add effects on session %d", session); + } + } Mutex::Autolock _l(mLock); - return mAudioPolicyManager->startOutput(output, stream, session); } |