Loading services/audiopolicy/common/managerdefinitions/Android.mk +1 −0 Original line number Diff line number Diff line Loading @@ -14,6 +14,7 @@ LOCAL_SRC_FILES:= \ src/AudioOutputDescriptor.cpp \ src/EffectDescriptor.cpp \ src/ConfigParsingUtils.cpp \ src/SoundTriggerSession.cpp \ LOCAL_SHARED_LIBRARIES := \ libcutils \ Loading services/audiopolicy/common/managerdefinitions/include/SoundTriggerSession.h 0 → 100644 +33 −0 Original line number Diff line number Diff line /* * Copyright (C) 2015 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #pragma once #include <system/audio.h> #include <utils/Errors.h> #include <utils/KeyedVector.h> namespace android { class SoundTriggerSessionCollection : public DefaultKeyedVector<audio_session_t, audio_io_handle_t> { public: status_t releaseSession(audio_session_t session); status_t acquireSession(audio_session_t session, audio_io_handle_t ioHandle); }; }; // namespace android services/audiopolicy/common/managerdefinitions/src/SoundTriggerSession.cpp 0 → 100644 +45 −0 Original line number Diff line number Diff line /* * Copyright (C) 2015 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #define LOG_TAG "APM::SoundTriggerSession" //#define LOG_NDEBUG 0 #include "SoundTriggerSession.h" namespace android { status_t SoundTriggerSessionCollection::acquireSession(audio_session_t session, audio_io_handle_t ioHandle) { add(session, ioHandle); return NO_ERROR; } status_t SoundTriggerSessionCollection::releaseSession(audio_session_t session) { ssize_t index = indexOfKey(session); if (index < 0) { ALOGW("acquireSoundTriggerSession() session %d not registered", session); return BAD_VALUE; } removeItem(session); return NO_ERROR; } }; //namespace android services/audiopolicy/managerdefault/AudioPolicyManager.cpp +1 −15 Original line number Diff line number Diff line Loading @@ -2458,21 +2458,7 @@ status_t AudioPolicyManager::acquireSoundTriggerSession(audio_session_t *session *ioHandle = (audio_io_handle_t)mpClientInterface->newAudioUniqueId(); *device = getDeviceAndMixForInputSource(AUDIO_SOURCE_HOTWORD); mSoundTriggerSessions.add(*session, *ioHandle); return NO_ERROR; } status_t AudioPolicyManager::releaseSoundTriggerSession(audio_session_t session) { ssize_t index = mSoundTriggerSessions.indexOfKey(session); if (index < 0) { ALOGW("acquireSoundTriggerSession() session %d not registered", session); return BAD_VALUE; } mSoundTriggerSessions.removeItem(session); return NO_ERROR; return mSoundTriggerSessions.acquireSession(*session, *ioHandle); } // ---------------------------------------------------------------------------- Loading services/audiopolicy/managerdefault/AudioPolicyManager.h +6 −2 Original line number Diff line number Diff line Loading @@ -38,6 +38,7 @@ #include <AudioOutputDescriptor.h> #include <AudioPolicyMix.h> #include <EffectDescriptor.h> #include <SoundTriggerSession.h> namespace android { Loading Loading @@ -208,7 +209,10 @@ public: audio_io_handle_t *ioHandle, audio_devices_t *device); virtual status_t releaseSoundTriggerSession(audio_session_t session); virtual status_t releaseSoundTriggerSession(audio_session_t session) { return mSoundTriggerSessions.releaseSession(session); } virtual status_t registerPolicyMixes(Vector<AudioMix> mixes); virtual status_t unregisterPolicyMixes(Vector<AudioMix> mixes); Loading Loading @@ -448,7 +452,7 @@ protected: AudioPatchCollection mAudioPatches; DefaultKeyedVector<audio_session_t, audio_io_handle_t> mSoundTriggerSessions; SoundTriggerSessionCollection mSoundTriggerSessions; sp<AudioPatch> mCallTxPatch; sp<AudioPatch> mCallRxPatch; Loading Loading
services/audiopolicy/common/managerdefinitions/Android.mk +1 −0 Original line number Diff line number Diff line Loading @@ -14,6 +14,7 @@ LOCAL_SRC_FILES:= \ src/AudioOutputDescriptor.cpp \ src/EffectDescriptor.cpp \ src/ConfigParsingUtils.cpp \ src/SoundTriggerSession.cpp \ LOCAL_SHARED_LIBRARIES := \ libcutils \ Loading
services/audiopolicy/common/managerdefinitions/include/SoundTriggerSession.h 0 → 100644 +33 −0 Original line number Diff line number Diff line /* * Copyright (C) 2015 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #pragma once #include <system/audio.h> #include <utils/Errors.h> #include <utils/KeyedVector.h> namespace android { class SoundTriggerSessionCollection : public DefaultKeyedVector<audio_session_t, audio_io_handle_t> { public: status_t releaseSession(audio_session_t session); status_t acquireSession(audio_session_t session, audio_io_handle_t ioHandle); }; }; // namespace android
services/audiopolicy/common/managerdefinitions/src/SoundTriggerSession.cpp 0 → 100644 +45 −0 Original line number Diff line number Diff line /* * Copyright (C) 2015 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #define LOG_TAG "APM::SoundTriggerSession" //#define LOG_NDEBUG 0 #include "SoundTriggerSession.h" namespace android { status_t SoundTriggerSessionCollection::acquireSession(audio_session_t session, audio_io_handle_t ioHandle) { add(session, ioHandle); return NO_ERROR; } status_t SoundTriggerSessionCollection::releaseSession(audio_session_t session) { ssize_t index = indexOfKey(session); if (index < 0) { ALOGW("acquireSoundTriggerSession() session %d not registered", session); return BAD_VALUE; } removeItem(session); return NO_ERROR; } }; //namespace android
services/audiopolicy/managerdefault/AudioPolicyManager.cpp +1 −15 Original line number Diff line number Diff line Loading @@ -2458,21 +2458,7 @@ status_t AudioPolicyManager::acquireSoundTriggerSession(audio_session_t *session *ioHandle = (audio_io_handle_t)mpClientInterface->newAudioUniqueId(); *device = getDeviceAndMixForInputSource(AUDIO_SOURCE_HOTWORD); mSoundTriggerSessions.add(*session, *ioHandle); return NO_ERROR; } status_t AudioPolicyManager::releaseSoundTriggerSession(audio_session_t session) { ssize_t index = mSoundTriggerSessions.indexOfKey(session); if (index < 0) { ALOGW("acquireSoundTriggerSession() session %d not registered", session); return BAD_VALUE; } mSoundTriggerSessions.removeItem(session); return NO_ERROR; return mSoundTriggerSessions.acquireSession(*session, *ioHandle); } // ---------------------------------------------------------------------------- Loading
services/audiopolicy/managerdefault/AudioPolicyManager.h +6 −2 Original line number Diff line number Diff line Loading @@ -38,6 +38,7 @@ #include <AudioOutputDescriptor.h> #include <AudioPolicyMix.h> #include <EffectDescriptor.h> #include <SoundTriggerSession.h> namespace android { Loading Loading @@ -208,7 +209,10 @@ public: audio_io_handle_t *ioHandle, audio_devices_t *device); virtual status_t releaseSoundTriggerSession(audio_session_t session); virtual status_t releaseSoundTriggerSession(audio_session_t session) { return mSoundTriggerSessions.releaseSession(session); } virtual status_t registerPolicyMixes(Vector<AudioMix> mixes); virtual status_t unregisterPolicyMixes(Vector<AudioMix> mixes); Loading Loading @@ -448,7 +452,7 @@ protected: AudioPatchCollection mAudioPatches; DefaultKeyedVector<audio_session_t, audio_io_handle_t> mSoundTriggerSessions; SoundTriggerSessionCollection mSoundTriggerSessions; sp<AudioPatch> mCallTxPatch; sp<AudioPatch> mCallRxPatch; Loading