Loading media/libaudioclient/Android.bp +10 −1 Original line number Diff line number Diff line cc_library_headers { name: "libaudioclient_headers", vendor_available: true, export_include_dirs: ["include"], header_libs: [ "libaudiofoundation_headers", ], export_include_dirs: [ "include", ], export_header_lib_headers: [ "libaudiofoundation_headers", ], } cc_library_shared { Loading Loading @@ -63,6 +71,7 @@ cc_library_shared { "TrackPlayerBase.cpp", ], shared_libs: [ "libaudiofoundation", "libaudioutils", "libaudiopolicy", "libaudiomanager", Loading media/libaudioclient/IAudioFlinger.cpp +10 −11 Original line number Diff line number Diff line Loading @@ -392,20 +392,18 @@ public: virtual status_t openOutput(audio_module_handle_t module, audio_io_handle_t *output, audio_config_t *config, audio_devices_t *devices, const String8& address, const sp<DeviceDescriptorBase>& device, uint32_t *latencyMs, audio_output_flags_t flags) { if (output == NULL || config == NULL || devices == NULL || latencyMs == NULL) { if (output == nullptr || config == nullptr || device == nullptr || latencyMs == nullptr) { return BAD_VALUE; } Parcel data, reply; data.writeInterfaceToken(IAudioFlinger::getInterfaceDescriptor()); data.writeInt32(module); data.write(config, sizeof(audio_config_t)); data.writeInt32(*devices); data.writeString8(address); data.writeParcelable(*device); data.writeInt32((int32_t) flags); status_t status = remote()->transact(OPEN_OUTPUT, data, &reply); if (status != NO_ERROR) { Loading @@ -420,7 +418,6 @@ public: *output = (audio_io_handle_t)reply.readInt32(); ALOGV("openOutput() returned output, %d", *output); reply.read(config, sizeof(audio_config_t)); *devices = (audio_devices_t)reply.readInt32(); *latencyMs = reply.readInt32(); return NO_ERROR; } Loading Loading @@ -1198,19 +1195,21 @@ status_t BnAudioFlinger::onTransact( if (data.read(&config, sizeof(audio_config_t)) != NO_ERROR) { ALOGE("b/23905951"); } audio_devices_t devices = (audio_devices_t)data.readInt32(); String8 address(data.readString8()); sp<DeviceDescriptorBase> device = new DeviceDescriptorBase(AUDIO_DEVICE_NONE); status_t status = NO_ERROR; if ((status = data.readParcelable(device.get())) != NO_ERROR) { reply->writeInt32((int32_t)status); return NO_ERROR; } audio_output_flags_t flags = (audio_output_flags_t) data.readInt32(); uint32_t latencyMs = 0; audio_io_handle_t output = AUDIO_IO_HANDLE_NONE; status_t status = openOutput(module, &output, &config, &devices, address, &latencyMs, flags); status = openOutput(module, &output, &config, device, &latencyMs, flags); ALOGV("OPEN_OUTPUT output, %d", output); reply->writeInt32((int32_t)status); if (status == NO_ERROR) { reply->writeInt32((int32_t)output); reply->write(&config, sizeof(audio_config_t)); reply->writeInt32(devices); reply->writeInt32(latencyMs); } return NO_ERROR; Loading media/libaudioclient/include/media/IAudioFlinger.h +2 −2 Original line number Diff line number Diff line Loading @@ -27,6 +27,7 @@ #include <binder/Parcel.h> #include <binder/Parcelable.h> #include <media/AudioClient.h> #include <media/DeviceDescriptorBase.h> #include <media/IAudioTrack.h> #include <media/IAudioFlingerClient.h> #include <system/audio.h> Loading Loading @@ -416,8 +417,7 @@ public: virtual status_t openOutput(audio_module_handle_t module, audio_io_handle_t *output, audio_config_t *config, audio_devices_t *devices, const String8& address, const sp<DeviceDescriptorBase>& device, uint32_t *latencyMs, audio_output_flags_t flags) = 0; virtual audio_io_handle_t openDuplicateOutput(audio_io_handle_t output1, Loading media/libaudiofoundation/Android.bp +1 −0 Original line number Diff line number Diff line Loading @@ -15,6 +15,7 @@ cc_library_headers { cc_library { name: "libaudiofoundation", vendor_available: true, double_loadable: true, srcs: [ "AudioContainers.cpp", Loading media/libaudiofoundation/include/media/AudioContainers.h +6 −0 Original line number Diff line number Diff line Loading @@ -17,6 +17,7 @@ #pragma once #include <algorithm> #include <functional> #include <iterator> #include <set> #include <vector> Loading Loading @@ -78,6 +79,11 @@ static inline bool isSingleDeviceType(const DeviceTypeSet& deviceTypes, return deviceTypes.size() == 1 && p(*(deviceTypes.begin())); } static inline bool areAllOfSameDeviceType(const DeviceTypeSet& deviceTypes, std::function<bool(audio_devices_t)> p) { return std::all_of(deviceTypes.begin(), deviceTypes.end(), p); } static inline void resetDeviceTypes(DeviceTypeSet& deviceTypes, audio_devices_t typeToAdd) { deviceTypes.clear(); deviceTypes.insert(typeToAdd); Loading Loading
media/libaudioclient/Android.bp +10 −1 Original line number Diff line number Diff line cc_library_headers { name: "libaudioclient_headers", vendor_available: true, export_include_dirs: ["include"], header_libs: [ "libaudiofoundation_headers", ], export_include_dirs: [ "include", ], export_header_lib_headers: [ "libaudiofoundation_headers", ], } cc_library_shared { Loading Loading @@ -63,6 +71,7 @@ cc_library_shared { "TrackPlayerBase.cpp", ], shared_libs: [ "libaudiofoundation", "libaudioutils", "libaudiopolicy", "libaudiomanager", Loading
media/libaudioclient/IAudioFlinger.cpp +10 −11 Original line number Diff line number Diff line Loading @@ -392,20 +392,18 @@ public: virtual status_t openOutput(audio_module_handle_t module, audio_io_handle_t *output, audio_config_t *config, audio_devices_t *devices, const String8& address, const sp<DeviceDescriptorBase>& device, uint32_t *latencyMs, audio_output_flags_t flags) { if (output == NULL || config == NULL || devices == NULL || latencyMs == NULL) { if (output == nullptr || config == nullptr || device == nullptr || latencyMs == nullptr) { return BAD_VALUE; } Parcel data, reply; data.writeInterfaceToken(IAudioFlinger::getInterfaceDescriptor()); data.writeInt32(module); data.write(config, sizeof(audio_config_t)); data.writeInt32(*devices); data.writeString8(address); data.writeParcelable(*device); data.writeInt32((int32_t) flags); status_t status = remote()->transact(OPEN_OUTPUT, data, &reply); if (status != NO_ERROR) { Loading @@ -420,7 +418,6 @@ public: *output = (audio_io_handle_t)reply.readInt32(); ALOGV("openOutput() returned output, %d", *output); reply.read(config, sizeof(audio_config_t)); *devices = (audio_devices_t)reply.readInt32(); *latencyMs = reply.readInt32(); return NO_ERROR; } Loading Loading @@ -1198,19 +1195,21 @@ status_t BnAudioFlinger::onTransact( if (data.read(&config, sizeof(audio_config_t)) != NO_ERROR) { ALOGE("b/23905951"); } audio_devices_t devices = (audio_devices_t)data.readInt32(); String8 address(data.readString8()); sp<DeviceDescriptorBase> device = new DeviceDescriptorBase(AUDIO_DEVICE_NONE); status_t status = NO_ERROR; if ((status = data.readParcelable(device.get())) != NO_ERROR) { reply->writeInt32((int32_t)status); return NO_ERROR; } audio_output_flags_t flags = (audio_output_flags_t) data.readInt32(); uint32_t latencyMs = 0; audio_io_handle_t output = AUDIO_IO_HANDLE_NONE; status_t status = openOutput(module, &output, &config, &devices, address, &latencyMs, flags); status = openOutput(module, &output, &config, device, &latencyMs, flags); ALOGV("OPEN_OUTPUT output, %d", output); reply->writeInt32((int32_t)status); if (status == NO_ERROR) { reply->writeInt32((int32_t)output); reply->write(&config, sizeof(audio_config_t)); reply->writeInt32(devices); reply->writeInt32(latencyMs); } return NO_ERROR; Loading
media/libaudioclient/include/media/IAudioFlinger.h +2 −2 Original line number Diff line number Diff line Loading @@ -27,6 +27,7 @@ #include <binder/Parcel.h> #include <binder/Parcelable.h> #include <media/AudioClient.h> #include <media/DeviceDescriptorBase.h> #include <media/IAudioTrack.h> #include <media/IAudioFlingerClient.h> #include <system/audio.h> Loading Loading @@ -416,8 +417,7 @@ public: virtual status_t openOutput(audio_module_handle_t module, audio_io_handle_t *output, audio_config_t *config, audio_devices_t *devices, const String8& address, const sp<DeviceDescriptorBase>& device, uint32_t *latencyMs, audio_output_flags_t flags) = 0; virtual audio_io_handle_t openDuplicateOutput(audio_io_handle_t output1, Loading
media/libaudiofoundation/Android.bp +1 −0 Original line number Diff line number Diff line Loading @@ -15,6 +15,7 @@ cc_library_headers { cc_library { name: "libaudiofoundation", vendor_available: true, double_loadable: true, srcs: [ "AudioContainers.cpp", Loading
media/libaudiofoundation/include/media/AudioContainers.h +6 −0 Original line number Diff line number Diff line Loading @@ -17,6 +17,7 @@ #pragma once #include <algorithm> #include <functional> #include <iterator> #include <set> #include <vector> Loading Loading @@ -78,6 +79,11 @@ static inline bool isSingleDeviceType(const DeviceTypeSet& deviceTypes, return deviceTypes.size() == 1 && p(*(deviceTypes.begin())); } static inline bool areAllOfSameDeviceType(const DeviceTypeSet& deviceTypes, std::function<bool(audio_devices_t)> p) { return std::all_of(deviceTypes.begin(), deviceTypes.end(), p); } static inline void resetDeviceTypes(DeviceTypeSet& deviceTypes, audio_devices_t typeToAdd) { deviceTypes.clear(); deviceTypes.insert(typeToAdd); Loading