Loading media/libaudioclient/IAudioFlinger.cpp +5 −5 Original line number Diff line number Diff line Loading @@ -796,14 +796,14 @@ public: 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) { Loading Loading @@ -1495,7 +1495,7 @@ status_t BnAudioFlinger::onTransact( } 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"); Loading @@ -1507,7 +1507,7 @@ status_t BnAudioFlinger::onTransact( } 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; Loading media/libaudioclient/include/media/IAudioFlinger.h +2 −2 Original line number Diff line number Diff line Loading @@ -511,8 +511,8 @@ public: 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, Loading media/libaudiofoundation/AudioPort.cpp +7 −40 Original line number Diff line number Diff line Loading @@ -38,21 +38,6 @@ void AudioPort::importAudioPort(const sp<AudioPort>& port, bool force __unused) } } 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. Loading @@ -77,40 +62,22 @@ void AudioPort::toAudioPort(struct audio_port *port) const { } } } 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(); 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; } ALOGV("AudioPort::toAudioPort() num gains %zu", mGains.size()); 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 { Loading media/libaudiofoundation/AudioProfile.cpp +0 −10 Original line number Diff line number Diff line Loading @@ -260,16 +260,6 @@ bool AudioProfileVector::hasDynamicRateFor(audio_format_t format) const 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, "")); Loading media/libaudiofoundation/DeviceDescriptorBase.cpp +7 −6 Original line number Diff line number Diff line Loading @@ -80,12 +80,13 @@ void DeviceDescriptorBase::toAudioPortConfig(struct audio_port_config *dstConfig 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) { Loading Loading
media/libaudioclient/IAudioFlinger.cpp +5 −5 Original line number Diff line number Diff line Loading @@ -796,14 +796,14 @@ public: 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) { Loading Loading @@ -1495,7 +1495,7 @@ status_t BnAudioFlinger::onTransact( } 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"); Loading @@ -1507,7 +1507,7 @@ status_t BnAudioFlinger::onTransact( } 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; Loading
media/libaudioclient/include/media/IAudioFlinger.h +2 −2 Original line number Diff line number Diff line Loading @@ -511,8 +511,8 @@ public: 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, Loading
media/libaudiofoundation/AudioPort.cpp +7 −40 Original line number Diff line number Diff line Loading @@ -38,21 +38,6 @@ void AudioPort::importAudioPort(const sp<AudioPort>& port, bool force __unused) } } 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. Loading @@ -77,40 +62,22 @@ void AudioPort::toAudioPort(struct audio_port *port) const { } } } 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(); 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; } ALOGV("AudioPort::toAudioPort() num gains %zu", mGains.size()); 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 { Loading
media/libaudiofoundation/AudioProfile.cpp +0 −10 Original line number Diff line number Diff line Loading @@ -260,16 +260,6 @@ bool AudioProfileVector::hasDynamicRateFor(audio_format_t format) const 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, "")); Loading
media/libaudiofoundation/DeviceDescriptorBase.cpp +7 −6 Original line number Diff line number Diff line Loading @@ -80,12 +80,13 @@ void DeviceDescriptorBase::toAudioPortConfig(struct audio_port_config *dstConfig 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) { Loading