Loading media/libaudiofoundation/AudioContainers.cpp +10 −0 Original line number Diff line number Diff line Loading @@ -50,6 +50,10 @@ const DeviceTypeSet& getAudioDeviceInAllSet() { } bool deviceTypesToString(const DeviceTypeSet &deviceTypes, std::string &str) { if (deviceTypes.empty()) { str = "Empty device types"; return true; } bool ret = true; for (auto it = deviceTypes.begin(); it != deviceTypes.end();) { std::string deviceTypeStr; Loading Loading @@ -83,4 +87,10 @@ std::string dumpDeviceTypes(const DeviceTypeSet &deviceTypes) { return ret; } std::string toString(const DeviceTypeSet& deviceTypes) { std::string ret; deviceTypesToString(deviceTypes, ret); return ret; } } // namespace android media/libaudiofoundation/AudioDeviceTypeAddr.cpp +14 −0 Original line number Diff line number Diff line Loading @@ -26,6 +26,11 @@ bool AudioDeviceTypeAddr::equals(const AudioDeviceTypeAddr& other) const { return mType == other.mType && mAddress == other.mAddress; } void AudioDeviceTypeAddr::reset() { mType = AUDIO_DEVICE_NONE; mAddress = ""; } status_t AudioDeviceTypeAddr::readFromParcel(const Parcel *parcel) { status_t status; if ((status = parcel->readUint32(&mType)) != NO_ERROR) return status; Loading @@ -40,4 +45,13 @@ status_t AudioDeviceTypeAddr::writeToParcel(Parcel *parcel) const { return status; } DeviceTypeSet getAudioDeviceTypes(const AudioDeviceTypeAddrVector& deviceTypeAddrs) { DeviceTypeSet deviceTypes; for (const auto& deviceTypeAddr : deviceTypeAddrs) { deviceTypes.insert(deviceTypeAddr.mType); } return deviceTypes; } } No newline at end of file media/libaudiofoundation/DeviceDescriptorBase.cpp +21 −0 Original line number Diff line number Diff line Loading @@ -147,4 +147,25 @@ status_t DeviceDescriptorBase::readFromParcel(const Parcel *parcel) return status; } std::string toString(const DeviceDescriptorBaseVector& devices) { std::string ret; for (const auto& device : devices) { if (device != *devices.begin()) { ret += ";"; } ret += device->toString(); } return ret; } AudioDeviceTypeAddrVector deviceTypeAddrsFromDescriptors(const DeviceDescriptorBaseVector& devices) { AudioDeviceTypeAddrVector deviceTypeAddrs; for (const auto& device : devices) { deviceTypeAddrs.push_back(device->getDeviceTypeAddr()); } return deviceTypeAddrs; } } // namespace android media/libaudiofoundation/include/media/AudioContainers.h +5 −0 Original line number Diff line number Diff line Loading @@ -123,5 +123,10 @@ bool deviceTypesToString(const DeviceTypeSet& deviceTypes, std::string &str); std::string dumpDeviceTypes(const DeviceTypeSet& deviceTypes); /** * Return human readable string for device types. */ std::string toString(const DeviceTypeSet& deviceTypes); } // namespace android No newline at end of file media/libaudiofoundation/include/media/AudioDeviceTypeAddr.h +11 −0 Original line number Diff line number Diff line Loading @@ -17,9 +17,11 @@ #pragma once #include <string> #include <vector> #include <binder/Parcelable.h> #include <binder/Parcel.h> #include <media/AudioContainers.h> #include <system/audio.h> #include <utils/Errors.h> Loading @@ -35,6 +37,8 @@ struct AudioDeviceTypeAddr : public Parcelable { bool equals(const AudioDeviceTypeAddr& other) const; void reset(); status_t readFromParcel(const Parcel *parcel) override; status_t writeToParcel(Parcel *parcel) const override; Loading @@ -43,4 +47,11 @@ struct AudioDeviceTypeAddr : public Parcelable { std::string mAddress; }; using AudioDeviceTypeAddrVector = std::vector<AudioDeviceTypeAddr>; /** * Return a collection of audio device types from a collection of AudioDeviceTypeAddr */ DeviceTypeSet getAudioDeviceTypes(const AudioDeviceTypeAddrVector& deviceTypeAddrs); } Loading
media/libaudiofoundation/AudioContainers.cpp +10 −0 Original line number Diff line number Diff line Loading @@ -50,6 +50,10 @@ const DeviceTypeSet& getAudioDeviceInAllSet() { } bool deviceTypesToString(const DeviceTypeSet &deviceTypes, std::string &str) { if (deviceTypes.empty()) { str = "Empty device types"; return true; } bool ret = true; for (auto it = deviceTypes.begin(); it != deviceTypes.end();) { std::string deviceTypeStr; Loading Loading @@ -83,4 +87,10 @@ std::string dumpDeviceTypes(const DeviceTypeSet &deviceTypes) { return ret; } std::string toString(const DeviceTypeSet& deviceTypes) { std::string ret; deviceTypesToString(deviceTypes, ret); return ret; } } // namespace android
media/libaudiofoundation/AudioDeviceTypeAddr.cpp +14 −0 Original line number Diff line number Diff line Loading @@ -26,6 +26,11 @@ bool AudioDeviceTypeAddr::equals(const AudioDeviceTypeAddr& other) const { return mType == other.mType && mAddress == other.mAddress; } void AudioDeviceTypeAddr::reset() { mType = AUDIO_DEVICE_NONE; mAddress = ""; } status_t AudioDeviceTypeAddr::readFromParcel(const Parcel *parcel) { status_t status; if ((status = parcel->readUint32(&mType)) != NO_ERROR) return status; Loading @@ -40,4 +45,13 @@ status_t AudioDeviceTypeAddr::writeToParcel(Parcel *parcel) const { return status; } DeviceTypeSet getAudioDeviceTypes(const AudioDeviceTypeAddrVector& deviceTypeAddrs) { DeviceTypeSet deviceTypes; for (const auto& deviceTypeAddr : deviceTypeAddrs) { deviceTypes.insert(deviceTypeAddr.mType); } return deviceTypes; } } No newline at end of file
media/libaudiofoundation/DeviceDescriptorBase.cpp +21 −0 Original line number Diff line number Diff line Loading @@ -147,4 +147,25 @@ status_t DeviceDescriptorBase::readFromParcel(const Parcel *parcel) return status; } std::string toString(const DeviceDescriptorBaseVector& devices) { std::string ret; for (const auto& device : devices) { if (device != *devices.begin()) { ret += ";"; } ret += device->toString(); } return ret; } AudioDeviceTypeAddrVector deviceTypeAddrsFromDescriptors(const DeviceDescriptorBaseVector& devices) { AudioDeviceTypeAddrVector deviceTypeAddrs; for (const auto& device : devices) { deviceTypeAddrs.push_back(device->getDeviceTypeAddr()); } return deviceTypeAddrs; } } // namespace android
media/libaudiofoundation/include/media/AudioContainers.h +5 −0 Original line number Diff line number Diff line Loading @@ -123,5 +123,10 @@ bool deviceTypesToString(const DeviceTypeSet& deviceTypes, std::string &str); std::string dumpDeviceTypes(const DeviceTypeSet& deviceTypes); /** * Return human readable string for device types. */ std::string toString(const DeviceTypeSet& deviceTypes); } // namespace android No newline at end of file
media/libaudiofoundation/include/media/AudioDeviceTypeAddr.h +11 −0 Original line number Diff line number Diff line Loading @@ -17,9 +17,11 @@ #pragma once #include <string> #include <vector> #include <binder/Parcelable.h> #include <binder/Parcel.h> #include <media/AudioContainers.h> #include <system/audio.h> #include <utils/Errors.h> Loading @@ -35,6 +37,8 @@ struct AudioDeviceTypeAddr : public Parcelable { bool equals(const AudioDeviceTypeAddr& other) const; void reset(); status_t readFromParcel(const Parcel *parcel) override; status_t writeToParcel(Parcel *parcel) const override; Loading @@ -43,4 +47,11 @@ struct AudioDeviceTypeAddr : public Parcelable { std::string mAddress; }; using AudioDeviceTypeAddrVector = std::vector<AudioDeviceTypeAddr>; /** * Return a collection of audio device types from a collection of AudioDeviceTypeAddr */ DeviceTypeSet getAudioDeviceTypes(const AudioDeviceTypeAddrVector& deviceTypeAddrs); }