Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 9c70c665 authored by Robert Wu's avatar Robert Wu
Browse files

Add DeviceIdSet to AudioContainers

This CL adds a new container type for a set of device ids.
This is part of a larger change to add getRoutedDevices() functions.

Bug: 367816690
Test: make
Flag: android.media.audio.routed_device_ids
Change-Id: Id27fdbec9f259dfd86cc288cb58343d452048e4d
parent a6ff5171
Loading
Loading
Loading
Loading
+21 −0
Original line number Diff line number Diff line
@@ -130,6 +130,27 @@ std::string dumpMixerBehaviors(const MixerBehaviorSet& mixerBehaviors) {
    return ss.str();
}

std::string toString(const DeviceIdSet& deviceIds) {
    if (deviceIds.empty()) {
        return "Empty device ids";
    }
    std::stringstream ss;
    for (auto it = deviceIds.begin(); it != deviceIds.end(); ++it) {
        if (it != deviceIds.begin()) {
            ss << ", ";
        }
        ss << *it;
    }
    return ss.str();
}

audio_port_handle_t getFirstDeviceId(const DeviceIdSet& deviceIds) {
    if (deviceIds.empty()) {
        return AUDIO_PORT_HANDLE_NONE;
    }
    return *(deviceIds.begin());
}

AudioProfileAttributesMultimap createAudioProfilesAttrMap(audio_profile profiles[],
                                                          uint32_t first,
                                                          uint32_t last) {
+11 −0
Original line number Diff line number Diff line
@@ -33,6 +33,7 @@ using DeviceTypeSet = std::set<audio_devices_t>;
using FormatSet = std::set<audio_format_t>;
using SampleRateSet = std::set<uint32_t>;
using MixerBehaviorSet = std::set<audio_mixer_behavior_t>;
using DeviceIdSet = std::set<audio_port_handle_t>;

using FormatVector = std::vector<audio_format_t>;
using AudioProfileAttributesMultimap =
@@ -138,6 +139,16 @@ inline std::string toString(const DeviceTypeSet& deviceTypes) {
    return deviceTypesToString(deviceTypes);
}

/**
 * Returns human readable string for a set of device ids.
 */
std::string toString(const DeviceIdSet& deviceIds);

/**
 * Returns the first device id of a set of device ids or AUDIO_PORT_HANDLE_NONE when its empty.
 */
audio_port_handle_t getFirstDeviceId(const DeviceIdSet& deviceIds);

/**
 * Create audio profile attributes map by given audio profile array from the range of [first, last).
 *