diff options
author | Eric Laurent <elaurent@google.com> | 2015-04-03 15:57:54 -0700 |
---|---|---|
committer | Eric Laurent <elaurent@google.com> | 2015-04-08 12:37:35 -0700 |
commit | 322b4d25387a04c9afebe998326d005bbdf17ede (patch) | |
tree | 3cf0c2912dc7cb75acb60526bef382dd90e9a51d /services/audiopolicy/common/managerdefinitions/src/AudioPort.cpp | |
parent | 6dc4dc4ad23dc82eca9af3112292f3e6d5b17b15 (diff) | |
download | frameworks_av-322b4d25387a04c9afebe998326d005bbdf17ede.zip frameworks_av-322b4d25387a04c9afebe998326d005bbdf17ede.tar.gz frameworks_av-322b4d25387a04c9afebe998326d005bbdf17ede.tar.bz2 |
audio policy: fix unique audio port ID.
Remove mId member from AudioPort as it was shadowed
by mId in DeviceDescriptor.
Add getters for Id, and HW module name and version to device,
output and input descriptors.
Fix DeviceDescriptor name initialization.
Change-Id: I4a69f385e40330954d9dad5f2926c521f60b2ec1
Diffstat (limited to 'services/audiopolicy/common/managerdefinitions/src/AudioPort.cpp')
-rw-r--r-- | services/audiopolicy/common/managerdefinitions/src/AudioPort.cpp | 27 |
1 files changed, 22 insertions, 5 deletions
diff --git a/services/audiopolicy/common/managerdefinitions/src/AudioPort.cpp b/services/audiopolicy/common/managerdefinitions/src/AudioPort.cpp index 2bbcc05..e8191dd 100644 --- a/services/audiopolicy/common/managerdefinitions/src/AudioPort.cpp +++ b/services/audiopolicy/common/managerdefinitions/src/AudioPort.cpp @@ -31,8 +31,8 @@ int32_t volatile AudioPort::mNextUniqueId = 1; // --- AudioPort class implementation AudioPort::AudioPort(const String8& name, audio_port_type_t type, - audio_port_role_t role, const sp<HwModule>& module) : - mName(name), mType(type), mRole(role), mModule(module), mFlags(0), mId(0) + audio_port_role_t role) : + mName(name), mType(type), mRole(role), mFlags(0) { mUseInChannelMask = ((type == AUDIO_PORT_TYPE_DEVICE) && (role == AUDIO_PORT_ROLE_SOURCE)) || ((type == AUDIO_PORT_TYPE_MIX) && (role == AUDIO_PORT_ROLE_SINK)); @@ -40,7 +40,6 @@ AudioPort::AudioPort(const String8& name, audio_port_type_t type, void AudioPort::attach(const sp<HwModule>& module) { - mId = getNextUniqueId(); mModule = module; } @@ -51,9 +50,28 @@ audio_port_handle_t AudioPort::getNextUniqueId() audio_module_handle_t AudioPort::getModuleHandle() const { + if (mModule == 0) { + return 0; + } return mModule->mHandle; } +uint32_t AudioPort::getModuleVersion() const +{ + if (mModule == 0) { + return 0; + } + return mModule->mHalVersion; +} + +const char *AudioPort::getModuleName() const +{ + if (mModule == 0) { + return ""; + } + return mModule->mName; +} + void AudioPort::toAudioPort(struct audio_port *port) const { port->role = mRole; @@ -629,7 +647,7 @@ void AudioPort::dump(int fd, int spaces) const char buffer[SIZE]; String8 result; - if (mName.size() != 0) { + if (mName.length() != 0) { snprintf(buffer, SIZE, "%*s- name: %s\n", spaces, "", mName.string()); result.append(buffer); } @@ -687,7 +705,6 @@ void AudioPort::dump(int fd, int spaces) const if (mGains.size() != 0) { snprintf(buffer, SIZE, "%*s- gains:\n", spaces, ""); write(fd, buffer, strlen(buffer) + 1); - result.append(buffer); for (size_t i = 0; i < mGains.size(); i++) { mGains[i]->dump(fd, spaces + 2, i); } |