Revert "Call getAudioPort to get supported attributes for audio devices."
This reverts commit 3b4270ecbebad2b5c0d6733eee3fb52e1ddb76aa.
Reason for revert: b/172307055
Change-Id: Ic22dad674bbd9eee9d3b24308e2a2e964c6406f2
diff --git a/media/libaudioclient/IAudioFlinger.cpp b/media/libaudioclient/IAudioFlinger.cpp
index 8ba0f11..7c304a1 100644
--- a/media/libaudioclient/IAudioFlinger.cpp
+++ b/media/libaudioclient/IAudioFlinger.cpp
@@ -796,14 +796,14 @@
reply.read(ports, *num_ports * sizeof(struct audio_port));
return status;
}
- virtual status_t getAudioPort(struct audio_port_v7 *port)
+ virtual status_t getAudioPort(struct audio_port *port)
{
- if (port == nullptr) {
+ if (port == NULL) {
return BAD_VALUE;
}
Parcel data, reply;
data.writeInterfaceToken(IAudioFlinger::getInterfaceDescriptor());
- data.write(port, sizeof(struct audio_port_v7));
+ data.write(port, sizeof(struct audio_port));
status_t status = remote()->transact(GET_AUDIO_PORT, data, &reply);
if (status != NO_ERROR ||
(status = (status_t)reply.readInt32()) != NO_ERROR) {
@@ -1495,7 +1495,7 @@
} break;
case GET_AUDIO_PORT: {
CHECK_INTERFACE(IAudioFlinger, data, reply);
- struct audio_port_v7 port = {};
+ struct audio_port port = {};
status_t status = data.read(&port, sizeof(struct audio_port));
if (status != NO_ERROR) {
ALOGE("b/23905951");
@@ -1507,7 +1507,7 @@
}
reply->writeInt32(status);
if (status == NO_ERROR) {
- reply->write(&port, sizeof(struct audio_port_v7));
+ reply->write(&port, sizeof(struct audio_port));
}
return NO_ERROR;
} break;
diff --git a/media/libaudioclient/include/media/IAudioFlinger.h b/media/libaudioclient/include/media/IAudioFlinger.h
index 65b7d4e..a01b681 100644
--- a/media/libaudioclient/include/media/IAudioFlinger.h
+++ b/media/libaudioclient/include/media/IAudioFlinger.h
@@ -511,8 +511,8 @@
virtual status_t listAudioPorts(unsigned int *num_ports,
struct audio_port *ports) = 0;
- /* Get atrributes for a given audio port */
- virtual status_t getAudioPort(struct audio_port_v7 *port) = 0;
+ /* Get attributes for a given audio port */
+ virtual status_t getAudioPort(struct audio_port *port) = 0;
/* Create an audio patch between several source and sink ports */
virtual status_t createAudioPatch(const struct audio_patch *patch,
diff --git a/media/libaudiofoundation/AudioPort.cpp b/media/libaudiofoundation/AudioPort.cpp
index 6f4e5ac..1846a6b 100644
--- a/media/libaudiofoundation/AudioPort.cpp
+++ b/media/libaudiofoundation/AudioPort.cpp
@@ -38,21 +38,6 @@
}
}
-void AudioPort::importAudioPort(const audio_port_v7 &port) {
- for (size_t i = 0; i < port.num_audio_profiles; ++i) {
- sp<AudioProfile> profile = new AudioProfile(port.audio_profiles[i].format,
- ChannelMaskSet(port.audio_profiles[i].channel_masks,
- port.audio_profiles[i].channel_masks +
- port.audio_profiles->num_channel_masks),
- SampleRateSet(port.audio_profiles[i].sample_rates,
- port.audio_profiles[i].sample_rates +
- port.audio_profiles[i].num_sample_rates));
- if (!mProfiles.contains(profile)) {
- addAudioProfile(profile);
- }
- }
-}
-
void AudioPort::toAudioPort(struct audio_port *port) const {
// TODO: update this function once audio_port structure reflects the new profile definition.
// For compatibility reason: flatening the AudioProfile into audio_port structure.
@@ -77,40 +62,22 @@
}
}
}
+ port->role = mRole;
+ port->type = mType;
+ strlcpy(port->name, mName.c_str(), AUDIO_PORT_MAX_NAME_LEN);
port->num_sample_rates = flatenedRates.size();
port->num_channel_masks = flatenedChannels.size();
port->num_formats = flatenedFormats.size();
std::copy(flatenedRates.begin(), flatenedRates.end(), port->sample_rates);
std::copy(flatenedChannels.begin(), flatenedChannels.end(), port->channel_masks);
std::copy(flatenedFormats.begin(), flatenedFormats.end(), port->formats);
- toAudioPortBase(port);
-}
-void AudioPort::toAudioPort(struct audio_port_v7 *port) const {
- port->num_audio_profiles = 0;
- for (const auto& profile : mProfiles) {
- if (profile->isValid()) {
- const SampleRateSet &sampleRates = profile->getSampleRates();
- const ChannelMaskSet &channelMasks = profile->getChannels();
+ ALOGV("AudioPort::toAudioPort() num gains %zu", mGains.size());
- if (sampleRates.size() > AUDIO_PORT_MAX_SAMPLING_RATES ||
- channelMasks.size() > AUDIO_PORT_MAX_CHANNEL_MASKS ||
- port->num_audio_profiles >= AUDIO_PORT_MAX_AUDIO_PROFILES) {
- ALOGE("%s: bailing out: cannot export profiles to port config", __func__);
- return;
- }
-
- auto& dstProfile = port->audio_profiles[port->num_audio_profiles++];
- dstProfile.format = profile->getFormat();
- dstProfile.num_sample_rates = sampleRates.size();
- std::copy(sampleRates.begin(), sampleRates.end(),
- std::begin(dstProfile.sample_rates));
- dstProfile.num_channel_masks = channelMasks.size();
- std::copy(channelMasks.begin(), channelMasks.end(),
- std::begin(dstProfile.channel_masks));
- }
+ port->num_gains = std::min(mGains.size(), (size_t) AUDIO_PORT_MAX_GAINS);
+ for (size_t i = 0; i < port->num_gains; i++) {
+ port->gains[i] = mGains[i]->getGain();
}
- toAudioPortBase(port);
}
void AudioPort::dump(std::string *dst, int spaces, bool verbose) const {
diff --git a/media/libaudiofoundation/AudioProfile.cpp b/media/libaudiofoundation/AudioProfile.cpp
index 64b4822..67b600e 100644
--- a/media/libaudiofoundation/AudioProfile.cpp
+++ b/media/libaudiofoundation/AudioProfile.cpp
@@ -260,16 +260,6 @@
return false;
}
-bool AudioProfileVector::contains(const sp<AudioProfile> profile) const
-{
- for (const auto& audioProfile : *this) {
- if (audioProfile->equals(profile)) {
- return true;
- }
- }
- return false;
-}
-
void AudioProfileVector::dump(std::string *dst, int spaces) const
{
dst->append(base::StringPrintf("%*s- Profiles:\n", spaces, ""));
diff --git a/media/libaudiofoundation/DeviceDescriptorBase.cpp b/media/libaudiofoundation/DeviceDescriptorBase.cpp
index 50bda8b..16cf71a 100644
--- a/media/libaudiofoundation/DeviceDescriptorBase.cpp
+++ b/media/libaudiofoundation/DeviceDescriptorBase.cpp
@@ -80,12 +80,13 @@
void DeviceDescriptorBase::toAudioPort(struct audio_port *port) const
{
ALOGV("DeviceDescriptorBase::toAudioPort() handle %d type %08x", mId, mDeviceTypeAddr.mType);
- toAudioPortInternal(port);
-}
-
-void DeviceDescriptorBase::toAudioPort(struct audio_port_v7 *port) const {
- ALOGV("DeviceDescriptorBase::toAudioPort() v7 handle %d type %08x", mId, mDeviceTypeAddr.mType);
- toAudioPortInternal(port);
+ AudioPort::toAudioPort(port);
+ toAudioPortConfig(&port->active_config);
+ port->id = mId;
+ port->ext.device.type = mDeviceTypeAddr.mType;
+ port->ext.device.encapsulation_modes = mEncapsulationModes;
+ port->ext.device.encapsulation_metadata_types = mEncapsulationMetadataTypes;
+ (void)audio_utils_strlcpy_zerofill(port->ext.device.address, mDeviceTypeAddr.getAddress());
}
status_t DeviceDescriptorBase::setEncapsulationModes(uint32_t encapsulationModes) {
diff --git a/media/libaudiofoundation/include/media/AudioPort.h b/media/libaudiofoundation/include/media/AudioPort.h
index 622b97b..3c013cb 100644
--- a/media/libaudiofoundation/include/media/AudioPort.h
+++ b/media/libaudiofoundation/include/media/AudioPort.h
@@ -17,7 +17,6 @@
#pragma once
#include <string>
-#include <type_traits>
#include <binder/Parcel.h>
#include <binder/Parcelable.h>
@@ -49,8 +48,6 @@
virtual void toAudioPort(struct audio_port *port) const;
- virtual void toAudioPort(struct audio_port_v7 *port) const;
-
virtual void addAudioProfile(const sp<AudioProfile> &profile) {
mProfiles.add(profile);
}
@@ -67,8 +64,6 @@
virtual void importAudioPort(const sp<AudioPort>& port, bool force = false);
- virtual void importAudioPort(const audio_port_v7& port);
-
status_t checkGain(const struct audio_gain_config *gainConfig, int index) const {
if (index < 0 || (size_t)index >= mGains.size()) {
return BAD_VALUE;
@@ -97,18 +92,6 @@
audio_port_type_t mType;
audio_port_role_t mRole;
AudioProfileVector mProfiles; // AudioProfiles supported by this port (format, Rates, Channels)
-private:
- template <typename T, std::enable_if_t<std::is_same<T, struct audio_port>::value
- || std::is_same<T, struct audio_port_v7>::value, int> = 0>
- void toAudioPortBase(T* port) const {
- port->role = mRole;
- port->type = mType;
- strlcpy(port->name, mName.c_str(), AUDIO_PORT_MAX_NAME_LEN);
- port->num_gains = std::min(mGains.size(), (size_t) AUDIO_PORT_MAX_GAINS);
- for (size_t i = 0; i < port->num_gains; i++) {
- port->gains[i] = mGains[i]->getGain();
- }
- }
};
diff --git a/media/libaudiofoundation/include/media/AudioProfile.h b/media/libaudiofoundation/include/media/AudioProfile.h
index c076f3e..730138a 100644
--- a/media/libaudiofoundation/include/media/AudioProfile.h
+++ b/media/libaudiofoundation/include/media/AudioProfile.h
@@ -105,8 +105,6 @@
bool hasDynamicProfile() const;
bool hasDynamicRateFor(audio_format_t format) const;
- bool contains(const sp<AudioProfile> profile) const;
-
virtual void dump(std::string *dst, int spaces) const;
bool equals(const AudioProfileVector& other) const;
diff --git a/media/libaudiofoundation/include/media/DeviceDescriptorBase.h b/media/libaudiofoundation/include/media/DeviceDescriptorBase.h
index 9ad8d3d..0cbd1de 100644
--- a/media/libaudiofoundation/include/media/DeviceDescriptorBase.h
+++ b/media/libaudiofoundation/include/media/DeviceDescriptorBase.h
@@ -54,7 +54,6 @@
// AudioPort
virtual void toAudioPort(struct audio_port *port) const;
- virtual void toAudioPort(struct audio_port_v7 *port) const;
status_t setEncapsulationModes(uint32_t encapsulationModes);
status_t setEncapsulationMetadataTypes(uint32_t encapsulationMetadataTypes);
@@ -80,18 +79,6 @@
AudioDeviceTypeAddr mDeviceTypeAddr;
uint32_t mEncapsulationModes = 0;
uint32_t mEncapsulationMetadataTypes = 0;
-private:
- template <typename T, std::enable_if_t<std::is_same<T, struct audio_port>::value
- || std::is_same<T, struct audio_port_v7>::value, int> = 0>
- void toAudioPortInternal(T* port) const {
- AudioPort::toAudioPort(port);
- toAudioPortConfig(&port->active_config);
- port->id = mId;
- port->ext.device.type = mDeviceTypeAddr.mType;
- port->ext.device.encapsulation_modes = mEncapsulationModes;
- port->ext.device.encapsulation_metadata_types = mEncapsulationMetadataTypes;
- (void)audio_utils_strlcpy_zerofill(port->ext.device.address, mDeviceTypeAddr.getAddress());
- }
};
using DeviceDescriptorBaseVector = std::vector<sp<DeviceDescriptorBase>>;
diff --git a/media/libaudiohal/impl/DeviceHalHidl.cpp b/media/libaudiohal/impl/DeviceHalHidl.cpp
index 4af164c..7d0d83d 100644
--- a/media/libaudiohal/impl/DeviceHalHidl.cpp
+++ b/media/libaudiohal/impl/DeviceHalHidl.cpp
@@ -388,34 +388,6 @@
return processReturn("getAudioPort", ret, retval);
}
-status_t DeviceHalHidl::getAudioPort(struct audio_port_v7 *port) {
- if (mDevice == 0) return NO_INIT;
- AudioPort hidlPort;
-#if MAJOR_VERSION >= 7
- HidlUtils::audioPortFromHal(*port, &hidlPort);
-#else
- struct audio_port audioPort = {};
- audio_populate_audio_port(port, &audioPort);
- HidlUtils::audioPortFromHal(audioPort, &hidlPort);
-#endif
- Result retval;
- Return<void> ret = mDevice->getAudioPort(
- hidlPort,
- [&](Result r, const AudioPort& p) {
- retval = r;
- if (retval == Result::OK) {
-#if MAJOR_VERSION >= 7
- HidlUtils::audioPortToHal(p, port);
-#else
- struct audio_port audioPort = {};
- HidlUtils::audioPortToHal(p, &audioPort);
- audio_populate_audio_port_v7(&audioPort, port);
-#endif
- }
- });
- return processReturn("getAudioPort", ret, retval);
-}
-
status_t DeviceHalHidl::setAudioPortConfig(const struct audio_port_config *config) {
if (mDevice == 0) return NO_INIT;
AudioPortConfig hidlConfig;
diff --git a/media/libaudiohal/impl/DeviceHalHidl.h b/media/libaudiohal/impl/DeviceHalHidl.h
index abd4ad5..d342d4a 100644
--- a/media/libaudiohal/impl/DeviceHalHidl.h
+++ b/media/libaudiohal/impl/DeviceHalHidl.h
@@ -107,9 +107,6 @@
// Fills the list of supported attributes for a given audio port.
virtual status_t getAudioPort(struct audio_port *port);
- // Fills the list of supported attributes for a given audio port.
- virtual status_t getAudioPort(struct audio_port_v7 *port);
-
// Set audio port configuration.
virtual status_t setAudioPortConfig(const struct audio_port_config *config);
diff --git a/media/libaudiohal/impl/DeviceHalLocal.cpp b/media/libaudiohal/impl/DeviceHalLocal.cpp
index a01beb3..8021d92 100644
--- a/media/libaudiohal/impl/DeviceHalLocal.cpp
+++ b/media/libaudiohal/impl/DeviceHalLocal.cpp
@@ -180,15 +180,6 @@
return mDev->get_audio_port(mDev, port);
}
-status_t DeviceHalLocal::getAudioPort(struct audio_port_v7 *port) {
- struct audio_port audioPort = {};
- status_t status = getAudioPort(&audioPort);
- if (status == NO_ERROR) {
- audio_populate_audio_port_v7(&audioPort, port);
- }
- return status;
-}
-
status_t DeviceHalLocal::setAudioPortConfig(const struct audio_port_config *config) {
if (version() >= AUDIO_DEVICE_API_VERSION_3_0)
return mDev->set_audio_port_config(mDev, config);
diff --git a/media/libaudiohal/impl/DeviceHalLocal.h b/media/libaudiohal/impl/DeviceHalLocal.h
index 195204b..d85e2a7 100644
--- a/media/libaudiohal/impl/DeviceHalLocal.h
+++ b/media/libaudiohal/impl/DeviceHalLocal.h
@@ -100,9 +100,6 @@
// Fills the list of supported attributes for a given audio port.
virtual status_t getAudioPort(struct audio_port *port);
- // Fills the list of supported attributes for a given audio port.
- virtual status_t getAudioPort(struct audio_port_v7 *port);
-
// Set audio port configuration.
virtual status_t setAudioPortConfig(const struct audio_port_config *config);
diff --git a/media/libaudiohal/include/media/audiohal/DeviceHalInterface.h b/media/libaudiohal/include/media/audiohal/DeviceHalInterface.h
index 29ef011..1e04b21 100644
--- a/media/libaudiohal/include/media/audiohal/DeviceHalInterface.h
+++ b/media/libaudiohal/include/media/audiohal/DeviceHalInterface.h
@@ -106,9 +106,6 @@
// Fills the list of supported attributes for a given audio port.
virtual status_t getAudioPort(struct audio_port *port) = 0;
- // Fills the list of supported attributes for a given audio port.
- virtual status_t getAudioPort(struct audio_port_v7 *port) = 0;
-
// Set audio port configuration.
virtual status_t setAudioPortConfig(const struct audio_port_config *config) = 0;
diff --git a/media/libmediahelper/AudioSanitizer.cpp b/media/libmediahelper/AudioSanitizer.cpp
index 9223823..44ca956 100644
--- a/media/libmediahelper/AudioSanitizer.cpp
+++ b/media/libmediahelper/AudioSanitizer.cpp
@@ -69,16 +69,15 @@
return safetyNetLog(status, bugNumber);
}
-namespace {
-
-template <typename T, std::enable_if_t<std::is_same<T, struct audio_port>::value
- || std::is_same<T, struct audio_port_v7>::value, int> = 0>
-static status_t sanitizeAudioPortInternal(T *port, const char *bugNumber = nullptr) {
+/** returns BAD_VALUE if sanitization was required. */
+status_t AudioSanitizer::sanitizeAudioPort(
+ struct audio_port *port, const char *bugNumber)
+{
status_t status = NO_ERROR;
if (preventStringOverflow(port->name)) {
status = BAD_VALUE;
}
- if (AudioSanitizer::sanitizeAudioPortConfig(&port->active_config) != NO_ERROR) {
+ if (sanitizeAudioPortConfig(&port->active_config) != NO_ERROR) {
status = BAD_VALUE;
}
if (port->type == AUDIO_PORT_TYPE_DEVICE &&
@@ -88,22 +87,6 @@
return safetyNetLog(status, bugNumber);
}
-} // namespace
-
-/** returns BAD_VALUE if sanitization was required. */
-status_t AudioSanitizer::sanitizeAudioPort(
- struct audio_port *port, const char *bugNumber)
-{
- return sanitizeAudioPortInternal(port, bugNumber);
-}
-
-/** returns BAD_VALUE if sanitization was required. */
-status_t AudioSanitizer::sanitizeAudioPort(
- struct audio_port_v7 *port, const char *bugNumber)
-{
- return sanitizeAudioPortInternal(port, bugNumber);
-}
-
/** returns BAD_VALUE if sanitization was required. */
status_t AudioSanitizer::sanitizeAudioPatch(
struct audio_patch *patch, const char *bugNumber)
diff --git a/media/libmediahelper/include/media/AudioSanitizer.h b/media/libmediahelper/include/media/AudioSanitizer.h
index 84bcb62..1475c7b 100644
--- a/media/libmediahelper/include/media/AudioSanitizer.h
+++ b/media/libmediahelper/include/media/AudioSanitizer.h
@@ -38,9 +38,6 @@
static status_t sanitizeAudioPort(
struct audio_port *port, const char *bugNumber = nullptr);
- static status_t sanitizeAudioPort(
- struct audio_port_v7 *port, const char *bugNumber = nullptr);
-
static status_t sanitizeAudioPatch(
struct audio_patch *patch, const char *bugNumber = nullptr);
};