From de3b1c01146d2103f6bf56e2659a9c650734945a Mon Sep 17 00:00:00 2001 From: Haynes Mathew George Date: Tue, 8 Dec 2015 15:11:51 -0800 Subject: audiopolicy: Handle startOutput on output command thread Handle startOutput on AudioPolicyService output command thread to serialize with concurrent releaseOutput/stopOutput calls. CRs-Fixed: 944129 Change-Id: Ie333c736750c7dfb31d3036d79dfff13cd0486fc --- services/audiopolicy/service/AudioPolicyInterfaceImpl.cpp | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'services/audiopolicy/service/AudioPolicyInterfaceImpl.cpp') diff --git a/services/audiopolicy/service/AudioPolicyInterfaceImpl.cpp b/services/audiopolicy/service/AudioPolicyInterfaceImpl.cpp index a228798..c0d3866 100644 --- a/services/audiopolicy/service/AudioPolicyInterfaceImpl.cpp +++ b/services/audiopolicy/service/AudioPolicyInterfaceImpl.cpp @@ -187,6 +187,20 @@ status_t AudioPolicyService::startOutput(audio_io_handle_t output, return NO_INIT; } ALOGV("startOutput()"); + return mOutputCommandThread->startOutputCommand(output, stream, session); +} + +status_t AudioPolicyService::doStartOutput(audio_io_handle_t output, + audio_stream_type_t stream, + audio_session_t session) +{ + if (uint32_t(stream) >= AUDIO_STREAM_CNT) { + return BAD_VALUE; + } + if (mAudioPolicyManager == NULL) { + return NO_INIT; + } + ALOGV("doStartOutput()"); spaudioPolicyEffects; { Mutex::Autolock _l(mLock); -- cgit v1.1