diff options
author | François Gaffie <francois.gaffie@intel.com> | 2015-03-18 17:52:40 +0100 |
---|---|---|
committer | Jean-Michel Trivi <jmtrivi@google.com> | 2015-04-01 10:19:16 -0700 |
commit | 98cc191247388132b6fd8a4ecd07abd6e4c5a0ed (patch) | |
tree | b447149a320aabc6fb28f2522e6a55db835ce537 /services | |
parent | ad3183e2d4cecd02f6261270a7ea1c68be0efa0f (diff) | |
download | frameworks_av-98cc191247388132b6fd8a4ecd07abd6e4c5a0ed.zip frameworks_av-98cc191247388132b6fd8a4ecd07abd6e4c5a0ed.tar.gz frameworks_av-98cc191247388132b6fd8a4ecd07abd6e4c5a0ed.tar.bz2 |
Split ManagerDefault into Manager and ManagerDefinitions
This patch splits the managerdefault into a manager and a manager
defintion library that contains all pillar elements of a policy manager.
It renames the file with the name of the main class they contains.
It splits the AudioPort into AudioPort and AudioPatch.
Change-Id: I992cf0b8aed895805cc003ba0980d2c9e92c985b
Signed-off-by: François Gaffie <francois.gaffie@intel.com>
Diffstat (limited to 'services')
25 files changed, 233 insertions, 132 deletions
diff --git a/services/audiopolicy/Android.mk b/services/audiopolicy/Android.mk index 351ed79..fb56fd8 100644 --- a/services/audiopolicy/Android.mk +++ b/services/audiopolicy/Android.mk @@ -16,6 +16,7 @@ else LOCAL_SRC_FILES += \ service/AudioPolicyInterfaceImpl.cpp \ service/AudioPolicyClientImpl.cpp + endif LOCAL_C_INCLUDES := \ @@ -39,7 +40,8 @@ LOCAL_SHARED_LIBRARIES += \ endif LOCAL_STATIC_LIBRARIES := \ - libmedia_helper + libmedia_helper \ + libaudiopolicycomponents LOCAL_MODULE:= libaudiopolicyservice @@ -54,14 +56,6 @@ include $(CLEAR_VARS) LOCAL_SRC_FILES:= \ managerdefault/AudioPolicyManager.cpp \ - managerdefault/ConfigParsingUtils.cpp \ - managerdefault/Devices.cpp \ - managerdefault/Gains.cpp \ - managerdefault/HwModule.cpp \ - managerdefault/IOProfile.cpp \ - managerdefault/Ports.cpp \ - managerdefault/AudioInputDescriptor.cpp \ - managerdefault/AudioOutputDescriptor.cpp LOCAL_SHARED_LIBRARIES := \ libcutils \ @@ -70,7 +64,8 @@ LOCAL_SHARED_LIBRARIES := \ libsoundtrigger LOCAL_STATIC_LIBRARIES := \ - libmedia_helper + libmedia_helper \ + libaudiopolicycomponents LOCAL_MODULE:= libaudiopolicymanagerdefault @@ -86,9 +81,17 @@ LOCAL_SRC_FILES:= \ LOCAL_SHARED_LIBRARIES := \ libaudiopolicymanagerdefault +LOCAL_STATIC_LIBRARIES := \ + libaudiopolicycomponents + LOCAL_MODULE:= libaudiopolicymanager include $(BUILD_SHARED_LIBRARY) endif endif + +####################################################################### +# Recursive call sub-folder Android.mk +# +include $(call all-makefiles-under,$(LOCAL_PATH)) diff --git a/services/audiopolicy/common/Android.mk b/services/audiopolicy/common/Android.mk new file mode 100644 index 0000000..dcce8e3 --- /dev/null +++ b/services/audiopolicy/common/Android.mk @@ -0,0 +1,9 @@ + +LOCAL_PATH := $(call my-dir) +include $(CLEAR_VARS) + +####################################################################### +# Recursive call sub-folder Android.mk +# +include $(call all-makefiles-under,$(LOCAL_PATH)) + diff --git a/services/audiopolicy/common/managerdefinitions/Android.mk b/services/audiopolicy/common/managerdefinitions/Android.mk new file mode 100644 index 0000000..d9d1477 --- /dev/null +++ b/services/audiopolicy/common/managerdefinitions/Android.mk @@ -0,0 +1,29 @@ +LOCAL_PATH:= $(call my-dir) + +include $(CLEAR_VARS) + +LOCAL_SRC_FILES:= \ + src/DeviceDescriptor.cpp \ + src/AudioGain.cpp \ + src/HwModule.cpp \ + src/IOProfile.cpp \ + src/AudioPort.cpp \ + src/AudioPatch.cpp \ + src/AudioInputDescriptor.cpp \ + src/AudioOutputDescriptor.cpp \ + src/ConfigParsingUtils.cpp \ + +LOCAL_SHARED_LIBRARIES := \ + libcutils \ + libutils \ + liblog \ + +LOCAL_C_INCLUDES += \ + $(LOCAL_PATH)/include \ + +LOCAL_EXPORT_C_INCLUDE_DIRS := \ + $(LOCAL_PATH)/include + +LOCAL_MODULE := libaudiopolicycomponents + +include $(BUILD_STATIC_LIBRARY) diff --git a/services/audiopolicy/managerdefault/ApmImplDefinitions.h b/services/audiopolicy/common/managerdefinitions/include/ApmImplDefinitions.h index 62927da..62927da 100644 --- a/services/audiopolicy/managerdefault/ApmImplDefinitions.h +++ b/services/audiopolicy/common/managerdefinitions/include/ApmImplDefinitions.h diff --git a/services/audiopolicy/managerdefault/Gains.h b/services/audiopolicy/common/managerdefinitions/include/AudioGain.h index f638c8e..f638c8e 100644 --- a/services/audiopolicy/managerdefault/Gains.h +++ b/services/audiopolicy/common/managerdefinitions/include/AudioGain.h diff --git a/services/audiopolicy/managerdefault/AudioInputDescriptor.h b/services/audiopolicy/common/managerdefinitions/include/AudioInputDescriptor.h index ce96228..599c295 100644 --- a/services/audiopolicy/managerdefault/AudioInputDescriptor.h +++ b/services/audiopolicy/common/managerdefinitions/include/AudioInputDescriptor.h @@ -16,7 +16,7 @@ #pragma once -#include "Ports.h" +#include "AudioPort.h" #include <utils/Errors.h> #include <system/audio.h> #include <utils/SortedVector.h> @@ -32,6 +32,7 @@ class AudioInputDescriptor: public AudioPortConfig { public: AudioInputDescriptor(const sp<IOProfile>& profile); + void setIoHandle(audio_io_handle_t ioHandle); status_t dump(int fd); diff --git a/services/audiopolicy/managerdefault/AudioOutputDescriptor.h b/services/audiopolicy/common/managerdefinitions/include/AudioOutputDescriptor.h index f7a06ee..8469b81 100644 --- a/services/audiopolicy/managerdefault/AudioOutputDescriptor.h +++ b/services/audiopolicy/common/managerdefinitions/include/AudioOutputDescriptor.h @@ -16,7 +16,7 @@ #pragma once -#include "Ports.h" +#include "AudioPort.h" #include "ApmImplDefinitions.h" #include <utils/Errors.h> #include <utils/Timers.h> @@ -39,6 +39,7 @@ public: audio_devices_t device() const; void changeRefCount(audio_stream_type_t stream, int delta); + void setIoHandle(audio_io_handle_t ioHandle); bool isDuplicated() const { return (mOutput1 != NULL && mOutput2 != NULL); } audio_devices_t supportedDevices(); uint32_t latency(); diff --git a/services/audiopolicy/common/managerdefinitions/include/AudioPatch.h b/services/audiopolicy/common/managerdefinitions/include/AudioPatch.h new file mode 100644 index 0000000..6e8fb32 --- /dev/null +++ b/services/audiopolicy/common/managerdefinitions/include/AudioPatch.h @@ -0,0 +1,41 @@ +/* + * 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/RefBase.h> +#include <utils/Errors.h> + +namespace android { + +class AudioPatch : public RefBase +{ +public: + AudioPatch(const struct audio_patch *patch, uid_t uid); + + status_t dump(int fd, int spaces, int index) const; + + audio_patch_handle_t mHandle; + struct audio_patch mPatch; + uid_t mUid; + audio_patch_handle_t mAfPatchHandle; + +private: + static volatile int32_t mNextUniqueId; +}; + +}; // namespace android diff --git a/services/audiopolicy/managerdefault/Ports.h b/services/audiopolicy/common/managerdefinitions/include/AudioPort.h index 6e0e2fe..52e845c 100644 --- a/services/audiopolicy/managerdefault/Ports.h +++ b/services/audiopolicy/common/managerdefinitions/include/AudioPort.h @@ -43,6 +43,8 @@ public: void attach(const sp<HwModule>& module); bool isAttached() { return mId != 0; } + static audio_port_handle_t getNextUniqueId(); + virtual void toAudioPort(struct audio_port *port) const; void importAudioPort(const sp<AudioPort> port); @@ -121,18 +123,4 @@ public: struct audio_gain_config mGain; }; - -class AudioPatch: public RefBase -{ -public: - AudioPatch(audio_patch_handle_t handle, const struct audio_patch *patch, uid_t uid); - - status_t dump(int fd, int spaces, int index) const; - - audio_patch_handle_t mHandle; - struct audio_patch mPatch; - uid_t mUid; - audio_patch_handle_t mAfPatchHandle; -}; - }; // namespace android diff --git a/services/audiopolicy/managerdefault/ConfigParsingUtils.h b/services/audiopolicy/common/managerdefinitions/include/ConfigParsingUtils.h index 45e96d9..45e96d9 100644 --- a/services/audiopolicy/managerdefault/ConfigParsingUtils.h +++ b/services/audiopolicy/common/managerdefinitions/include/ConfigParsingUtils.h diff --git a/services/audiopolicy/managerdefault/Devices.h b/services/audiopolicy/common/managerdefinitions/include/DeviceDescriptor.h index 7ccf559..e63ea2b 100644 --- a/services/audiopolicy/managerdefault/Devices.h +++ b/services/audiopolicy/common/managerdefinitions/include/DeviceDescriptor.h @@ -16,7 +16,7 @@ #pragma once -#include "Ports.h" +#include "AudioPort.h" #include <utils/Errors.h> #include <utils/String8.h> #include <utils/SortedVector.h> diff --git a/services/audiopolicy/managerdefault/HwModule.h b/services/audiopolicy/common/managerdefinitions/include/HwModule.h index d9e6cdf..3d4e2ad 100644 --- a/services/audiopolicy/managerdefault/HwModule.h +++ b/services/audiopolicy/common/managerdefinitions/include/HwModule.h @@ -16,7 +16,7 @@ #pragma once -#include "Devices.h" +#include "DeviceDescriptor.h" #include <utils/RefBase.h> #include <utils/String8.h> #include <utils/Errors.h> diff --git a/services/audiopolicy/managerdefault/IOProfile.h b/services/audiopolicy/common/managerdefinitions/include/IOProfile.h index a9d93d1..095e759 100644 --- a/services/audiopolicy/managerdefault/IOProfile.h +++ b/services/audiopolicy/common/managerdefinitions/include/IOProfile.h @@ -16,8 +16,8 @@ #pragma once -#include "Ports.h" -#include "Devices.h" +#include "AudioPort.h" +#include "DeviceDescriptor.h" #include <utils/String8.h> #include <system/audio.h> diff --git a/services/audiopolicy/managerdefault/audio_policy_conf.h b/services/audiopolicy/common/managerdefinitions/include/audio_policy_conf.h index 441bf7b..441bf7b 100644 --- a/services/audiopolicy/managerdefault/audio_policy_conf.h +++ b/services/audiopolicy/common/managerdefinitions/include/audio_policy_conf.h diff --git a/services/audiopolicy/managerdefault/Gains.cpp b/services/audiopolicy/common/managerdefinitions/src/AudioGain.cpp index 98a8d1c..ebd3548 100644 --- a/services/audiopolicy/managerdefault/Gains.cpp +++ b/services/audiopolicy/common/managerdefinitions/src/AudioGain.cpp @@ -14,7 +14,7 @@ * limitations under the License. */ -#define LOG_TAG "APM::Gains" +#define LOG_TAG "APM::AudioGain" //#define LOG_NDEBUG 0 //#define VERY_VERBOSE_LOGGING @@ -24,7 +24,7 @@ #define ALOGVV(a...) do { } while(0) #endif -#include "Gains.h" +#include "AudioGain.h" #include <utils/Log.h> #include <utils/String8.h> diff --git a/services/audiopolicy/managerdefault/AudioInputDescriptor.cpp b/services/audiopolicy/common/managerdefinitions/src/AudioInputDescriptor.cpp index ce6b1e7..fa7761a 100644 --- a/services/audiopolicy/managerdefault/AudioInputDescriptor.cpp +++ b/services/audiopolicy/common/managerdefinitions/src/AudioInputDescriptor.cpp @@ -19,7 +19,7 @@ #include "AudioInputDescriptor.h" #include "IOProfile.h" -#include "Gains.h" +#include "AudioGain.h" #include "HwModule.h" #include <media/AudioPolicy.h> @@ -40,6 +40,12 @@ AudioInputDescriptor::AudioInputDescriptor(const sp<IOProfile>& profile) } } +void AudioInputDescriptor::setIoHandle(audio_io_handle_t ioHandle) +{ + mId = AudioPort::getNextUniqueId(); + mIoHandle = ioHandle; +} + void AudioInputDescriptor::toAudioPortConfig( struct audio_port_config *dstConfig, const struct audio_port_config *srcConfig) const diff --git a/services/audiopolicy/managerdefault/AudioOutputDescriptor.cpp b/services/audiopolicy/common/managerdefinitions/src/AudioOutputDescriptor.cpp index 4dd9316..4c5509d 100644 --- a/services/audiopolicy/managerdefault/AudioOutputDescriptor.cpp +++ b/services/audiopolicy/common/managerdefinitions/src/AudioOutputDescriptor.cpp @@ -19,7 +19,7 @@ #include "AudioOutputDescriptor.h" #include "IOProfile.h" -#include "Gains.h" +#include "AudioGain.h" #include "HwModule.h" #include <media/AudioPolicy.h> @@ -62,6 +62,12 @@ audio_devices_t AudioOutputDescriptor::device() const } } +void AudioOutputDescriptor::setIoHandle(audio_io_handle_t ioHandle) +{ + mId = AudioPort::getNextUniqueId(); + mIoHandle = ioHandle; +} + uint32_t AudioOutputDescriptor::latency() { if (isDuplicated()) { diff --git a/services/audiopolicy/common/managerdefinitions/src/AudioPatch.cpp b/services/audiopolicy/common/managerdefinitions/src/AudioPatch.cpp new file mode 100644 index 0000000..89e7f81 --- /dev/null +++ b/services/audiopolicy/common/managerdefinitions/src/AudioPatch.cpp @@ -0,0 +1,84 @@ +/* + * 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::AudioPatch" +//#define LOG_NDEBUG 0 + +#include "AudioPatch.h" +#include "ConfigParsingUtils.h" +#include <cutils/log.h> +#include <utils/String8.h> + +namespace android { + +int32_t volatile AudioPatch::mNextUniqueId = 1; + +AudioPatch::AudioPatch(const struct audio_patch *patch, uid_t uid) : + mHandle(static_cast<audio_patch_handle_t>(android_atomic_inc(&mNextUniqueId))), + mPatch(*patch), + mUid(uid), + mAfPatchHandle(0) +{ +} + +status_t AudioPatch::dump(int fd, int spaces, int index) const +{ + const size_t SIZE = 256; + char buffer[SIZE]; + String8 result; + + snprintf(buffer, SIZE, "%*sAudio patch %d:\n", spaces, "", index+1); + result.append(buffer); + snprintf(buffer, SIZE, "%*s- handle: %2d\n", spaces, "", mHandle); + result.append(buffer); + snprintf(buffer, SIZE, "%*s- audio flinger handle: %2d\n", spaces, "", mAfPatchHandle); + result.append(buffer); + snprintf(buffer, SIZE, "%*s- owner uid: %2d\n", spaces, "", mUid); + result.append(buffer); + snprintf(buffer, SIZE, "%*s- %d sources:\n", spaces, "", mPatch.num_sources); + result.append(buffer); + for (size_t i = 0; i < mPatch.num_sources; i++) { + if (mPatch.sources[i].type == AUDIO_PORT_TYPE_DEVICE) { + snprintf(buffer, SIZE, "%*s- Device ID %d %s\n", spaces + 2, "", + mPatch.sources[i].id, ConfigParsingUtils::enumToString(sDeviceNameToEnumTable, + ARRAY_SIZE(sDeviceNameToEnumTable), + mPatch.sources[i].ext.device.type)); + } else { + snprintf(buffer, SIZE, "%*s- Mix ID %d I/O handle %d\n", spaces + 2, "", + mPatch.sources[i].id, mPatch.sources[i].ext.mix.handle); + } + result.append(buffer); + } + snprintf(buffer, SIZE, "%*s- %d sinks:\n", spaces, "", mPatch.num_sinks); + result.append(buffer); + for (size_t i = 0; i < mPatch.num_sinks; i++) { + if (mPatch.sinks[i].type == AUDIO_PORT_TYPE_DEVICE) { + snprintf(buffer, SIZE, "%*s- Device ID %d %s\n", spaces + 2, "", + mPatch.sinks[i].id, ConfigParsingUtils::enumToString(sDeviceNameToEnumTable, + ARRAY_SIZE(sDeviceNameToEnumTable), + mPatch.sinks[i].ext.device.type)); + } else { + snprintf(buffer, SIZE, "%*s- Mix ID %d I/O handle %d\n", spaces + 2, "", + mPatch.sinks[i].id, mPatch.sinks[i].ext.mix.handle); + } + result.append(buffer); + } + + write(fd, result.string(), result.size()); + return NO_ERROR; +} + +}; // namespace android diff --git a/services/audiopolicy/managerdefault/Ports.cpp b/services/audiopolicy/common/managerdefinitions/src/AudioPort.cpp index 326f9c5..d34aac1 100644 --- a/services/audiopolicy/managerdefault/Ports.cpp +++ b/services/audiopolicy/common/managerdefinitions/src/AudioPort.cpp @@ -14,12 +14,12 @@ * limitations under the License. */ -#define LOG_TAG "APM::Ports" +#define LOG_TAG "APM::AudioPort" //#define LOG_NDEBUG 0 -#include "Ports.h" +#include "AudioPort.h" #include "HwModule.h" -#include "Gains.h" +#include "AudioGain.h" #include "ConfigParsingUtils.h" #include "audio_policy_conf.h" @@ -37,11 +37,17 @@ AudioPort::AudioPort(const String8& name, audio_port_type_t type, ((type == AUDIO_PORT_TYPE_MIX) && (role == AUDIO_PORT_ROLE_SINK)); } -void AudioPort::attach(const sp<HwModule>& module) { - mId = android_atomic_inc(&mNextUniqueId); +void AudioPort::attach(const sp<HwModule>& module) +{ + mId = getNextUniqueId(); mModule = module; } +audio_port_handle_t AudioPort::getNextUniqueId() +{ + return static_cast<audio_port_handle_t>(android_atomic_inc(&mNextUniqueId)); +} + void AudioPort::toAudioPort(struct audio_port *port) const { port->role = mRole; @@ -789,60 +795,4 @@ void AudioPortConfig::toAudioPortConfig(struct audio_port_config *dstConfig, } } - -// --- AudioPatch class implementation - -AudioPatch::AudioPatch(audio_patch_handle_t handle, - const struct audio_patch *patch, uid_t uid) : - mHandle(handle), mPatch(*patch), mUid(uid), mAfPatchHandle(0) -{} - -status_t AudioPatch::dump(int fd, int spaces, int index) const -{ - const size_t SIZE = 256; - char buffer[SIZE]; - String8 result; - - snprintf(buffer, SIZE, "%*sAudio patch %d:\n", spaces, "", index+1); - result.append(buffer); - snprintf(buffer, SIZE, "%*s- handle: %2d\n", spaces, "", mHandle); - result.append(buffer); - snprintf(buffer, SIZE, "%*s- audio flinger handle: %2d\n", spaces, "", mAfPatchHandle); - result.append(buffer); - snprintf(buffer, SIZE, "%*s- owner uid: %2d\n", spaces, "", mUid); - result.append(buffer); - snprintf(buffer, SIZE, "%*s- %d sources:\n", spaces, "", mPatch.num_sources); - result.append(buffer); - for (size_t i = 0; i < mPatch.num_sources; i++) { - if (mPatch.sources[i].type == AUDIO_PORT_TYPE_DEVICE) { - snprintf(buffer, SIZE, "%*s- Device ID %d %s\n", spaces + 2, "", - mPatch.sources[i].id, ConfigParsingUtils::enumToString(sDeviceNameToEnumTable, - ARRAY_SIZE(sDeviceNameToEnumTable), - mPatch.sources[i].ext.device.type)); - } else { - snprintf(buffer, SIZE, "%*s- Mix ID %d I/O handle %d\n", spaces + 2, "", - mPatch.sources[i].id, mPatch.sources[i].ext.mix.handle); - } - result.append(buffer); - } - snprintf(buffer, SIZE, "%*s- %d sinks:\n", spaces, "", mPatch.num_sinks); - result.append(buffer); - for (size_t i = 0; i < mPatch.num_sinks; i++) { - if (mPatch.sinks[i].type == AUDIO_PORT_TYPE_DEVICE) { - snprintf(buffer, SIZE, "%*s- Device ID %d %s\n", spaces + 2, "", - mPatch.sinks[i].id, ConfigParsingUtils::enumToString(sDeviceNameToEnumTable, - ARRAY_SIZE(sDeviceNameToEnumTable), - mPatch.sinks[i].ext.device.type)); - } else { - snprintf(buffer, SIZE, "%*s- Mix ID %d I/O handle %d\n", spaces + 2, "", - mPatch.sinks[i].id, mPatch.sinks[i].ext.mix.handle); - } - result.append(buffer); - } - - write(fd, result.string(), result.size()); - return NO_ERROR; -} - - }; // namespace android diff --git a/services/audiopolicy/managerdefault/ConfigParsingUtils.cpp b/services/audiopolicy/common/managerdefinitions/src/ConfigParsingUtils.cpp index 300f35a..300f35a 100644 --- a/services/audiopolicy/managerdefault/ConfigParsingUtils.cpp +++ b/services/audiopolicy/common/managerdefinitions/src/ConfigParsingUtils.cpp diff --git a/services/audiopolicy/managerdefault/Devices.cpp b/services/audiopolicy/common/managerdefinitions/src/DeviceDescriptor.cpp index 574cff5..7f098ab 100644 --- a/services/audiopolicy/managerdefault/Devices.cpp +++ b/services/audiopolicy/common/managerdefinitions/src/DeviceDescriptor.cpp @@ -17,8 +17,8 @@ #define LOG_TAG "APM::Devices" //#define LOG_NDEBUG 0 -#include "Devices.h" -#include "Gains.h" +#include "DeviceDescriptor.h" +#include "AudioGain.h" #include "HwModule.h" #include "ConfigParsingUtils.h" diff --git a/services/audiopolicy/managerdefault/HwModule.cpp b/services/audiopolicy/common/managerdefinitions/src/HwModule.cpp index 39dc889..a0ea185 100644 --- a/services/audiopolicy/managerdefault/HwModule.cpp +++ b/services/audiopolicy/common/managerdefinitions/src/HwModule.cpp @@ -19,7 +19,7 @@ #include "HwModule.h" #include "IOProfile.h" -#include "Gains.h" +#include "AudioGain.h" #include "ConfigParsingUtils.h" #include "audio_policy_conf.h" #include <hardware/audio.h> diff --git a/services/audiopolicy/managerdefault/IOProfile.cpp b/services/audiopolicy/common/managerdefinitions/src/IOProfile.cpp index f82ff92..0214a2b 100644 --- a/services/audiopolicy/managerdefault/IOProfile.cpp +++ b/services/audiopolicy/common/managerdefinitions/src/IOProfile.cpp @@ -19,7 +19,7 @@ #include "IOProfile.h" #include "HwModule.h" -#include "Gains.h" +#include "AudioGain.h" namespace android { diff --git a/services/audiopolicy/managerdefault/AudioPolicyManager.cpp b/services/audiopolicy/managerdefault/AudioPolicyManager.cpp index 730d32f..a110ada 100644 --- a/services/audiopolicy/managerdefault/AudioPolicyManager.cpp +++ b/services/audiopolicy/managerdefault/AudioPolicyManager.cpp @@ -393,8 +393,7 @@ void AudioPolicyManager::updateCallRouting(audio_devices_t rxDevice, int delayMs ALOGW_IF(status != NO_ERROR, "updateCallRouting() error %d creating RX audio patch", status); if (status == NO_ERROR) { - mCallRxPatch = new AudioPatch((audio_patch_handle_t)nextUniqueId(), - &patch, mUidCached); + mCallRxPatch = new AudioPatch(&patch, mUidCached); mCallRxPatch->mAfPatchHandle = afPatchHandle; mCallRxPatch->mUid = mUidCached; } @@ -436,8 +435,7 @@ void AudioPolicyManager::updateCallRouting(audio_devices_t rxDevice, int delayMs ALOGW_IF(status != NO_ERROR, "setPhoneState() error %d creating TX audio patch", status); if (status == NO_ERROR) { - mCallTxPatch = new AudioPatch((audio_patch_handle_t)nextUniqueId(), - &patch, mUidCached); + mCallTxPatch = new AudioPatch(&patch, mUidCached); mCallTxPatch->mAfPatchHandle = afPatchHandle; mCallTxPatch->mUid = mUidCached; } @@ -2634,8 +2632,7 @@ status_t AudioPolicyManager::createAudioPatch(const struct audio_patch *patch, status, afPatchHandle); if (status == NO_ERROR) { if (index < 0) { - patchDesc = new AudioPatch((audio_patch_handle_t)nextUniqueId(), - &newPatch, uid); + patchDesc = new AudioPatch(&newPatch, uid); addAudioPatch(patchDesc->mHandle, patchDesc); } else { patchDesc->mPatch = newPatch; @@ -2880,19 +2877,11 @@ status_t AudioPolicyManager::removeAudioPatch(audio_patch_handle_t handle) // ---------------------------------------------------------------------------- // AudioPolicyManager // ---------------------------------------------------------------------------- - -uint32_t AudioPolicyManager::nextUniqueId() -{ - return android_atomic_inc(&mNextUniqueId); -} - uint32_t AudioPolicyManager::nextAudioPortGeneration() { return android_atomic_inc(&mAudioPortGeneration); } -int32_t volatile AudioPolicyManager::mNextUniqueId = 1; - AudioPolicyManager::AudioPolicyManager(AudioPolicyClientInterface *clientInterface) : #ifdef AUDIO_POLICY_TEST @@ -3314,16 +3303,14 @@ int AudioPolicyManager::testOutputIndex(audio_io_handle_t output) void AudioPolicyManager::addOutput(audio_io_handle_t output, sp<AudioOutputDescriptor> outputDesc) { - outputDesc->mIoHandle = output; - outputDesc->mId = nextUniqueId(); + outputDesc->setIoHandle(output); mOutputs.add(output, outputDesc); nextAudioPortGeneration(); } void AudioPolicyManager::addInput(audio_io_handle_t input, sp<AudioInputDescriptor> inputDesc) { - inputDesc->mIoHandle = input; - inputDesc->mId = nextUniqueId(); + inputDesc->setIoHandle(input); mInputs.add(input, inputDesc); nextAudioPortGeneration(); } @@ -4827,8 +4814,7 @@ uint32_t AudioPolicyManager::setOutputDevice(audio_io_handle_t output, status, afPatchHandle, patch.num_sources, patch.num_sinks); if (status == NO_ERROR) { if (index < 0) { - patchDesc = new AudioPatch((audio_patch_handle_t)nextUniqueId(), - &patch, mUidCached); + patchDesc = new AudioPatch(&patch, mUidCached); addAudioPatch(patchDesc->mHandle, patchDesc); } else { patchDesc->mPatch = patch; @@ -4934,8 +4920,7 @@ status_t AudioPolicyManager::setInputDevice(audio_io_handle_t input, status, afPatchHandle); if (status == NO_ERROR) { if (index < 0) { - patchDesc = new AudioPatch((audio_patch_handle_t)nextUniqueId(), - &patch, mUidCached); + patchDesc = new AudioPatch(&patch, mUidCached); addAudioPatch(patchDesc->mHandle, patchDesc); } else { patchDesc->mPatch = patch; diff --git a/services/audiopolicy/managerdefault/AudioPolicyManager.h b/services/audiopolicy/managerdefault/AudioPolicyManager.h index 8308d54..279dc93 100644 --- a/services/audiopolicy/managerdefault/AudioPolicyManager.h +++ b/services/audiopolicy/managerdefault/AudioPolicyManager.h @@ -27,14 +27,15 @@ #include <media/AudioPolicy.h> #include "AudioPolicyInterface.h" -#include "Gains.h" -#include "Ports.h" -#include "ConfigParsingUtils.h" -#include "Devices.h" -#include "IOProfile.h" -#include "HwModule.h" -#include "AudioInputDescriptor.h" -#include "AudioOutputDescriptor.h" +#include <AudioGain.h> +#include <AudioPort.h> +#include <AudioPatch.h> +#include <ConfigParsingUtils.h> +#include <DeviceDescriptor.h> +#include <IOProfile.h> +#include <HwModule.h> +#include <AudioInputDescriptor.h> +#include <AudioOutputDescriptor.h> namespace android { @@ -208,8 +209,6 @@ public: // return the strategy corresponding to a given stream type static routing_strategy getStrategy(audio_stream_type_t stream); - - static uint32_t nextUniqueId(); protected: class EffectDescriptor : public RefBase @@ -453,7 +452,6 @@ protected: // to boost soft sounds, used to adjust volume curves accordingly Vector < sp<HwModule> > mHwModules; - static volatile int32_t mNextUniqueId; volatile int32_t mAudioPortGeneration; DefaultKeyedVector<audio_patch_handle_t, sp<AudioPatch> > mAudioPatches; |