Loading media/libaudioclient/AudioSystem.cpp +3 −1 Original line number Diff line number Diff line Loading @@ -959,7 +959,8 @@ status_t AudioSystem::getOutputForAttr(audio_attributes_t* attr, audio_output_flags_t flags, audio_port_handle_t* selectedDeviceId, audio_port_handle_t* portId, std::vector<audio_io_handle_t>* secondaryOutputs) { std::vector<audio_io_handle_t>* secondaryOutputs, bool *isSpatialized) { if (attr == nullptr) { ALOGE("%s NULL audio attributes", __func__); return BAD_VALUE; Loading Loading @@ -1012,6 +1013,7 @@ status_t AudioSystem::getOutputForAttr(audio_attributes_t* attr, *portId = VALUE_OR_RETURN_STATUS(aidl2legacy_int32_t_audio_port_handle_t(responseAidl.portId)); *secondaryOutputs = VALUE_OR_RETURN_STATUS(convertContainer<std::vector<audio_io_handle_t>>( responseAidl.secondaryOutputs, aidl2legacy_int32_t_audio_io_handle_t)); *isSpatialized = responseAidl.isSpatialized; return OK; } Loading media/libaudioclient/aidl/android/media/GetOutputForAttrResponse.aidl +2 −0 Original line number Diff line number Diff line Loading @@ -31,4 +31,6 @@ parcelable GetOutputForAttrResponse { int portId; /** Interpreted as audio_io_handle_t[]. */ int[] secondaryOutputs; /** True if the track is connected to a spatializer mixer and actually spatialized */ boolean isSpatialized; } media/libaudioclient/include/media/AudioSystem.h +2 −1 Original line number Diff line number Diff line Loading @@ -286,7 +286,8 @@ public: audio_output_flags_t flags, audio_port_handle_t *selectedDeviceId, audio_port_handle_t *portId, std::vector<audio_io_handle_t> *secondaryOutputs); std::vector<audio_io_handle_t> *secondaryOutputs, bool *isSpatialized); static status_t startOutput(audio_port_handle_t portId); static status_t stopOutput(audio_port_handle_t portId); static void releaseOutput(audio_port_handle_t portId); Loading media/libaudiohal/impl/EffectHalHidl.cpp +21 −1 Original line number Diff line number Diff line Loading @@ -21,6 +21,7 @@ #include <cutils/native_handle.h> #include <hwbinder/IPCThreadState.h> #include <media/EffectsFactoryApi.h> #include <mediautils/TimeCheck.h> #include <utils/Log.h> #include <util/EffectUtils.h> Loading @@ -40,8 +41,11 @@ namespace effect { using namespace ::android::hardware::audio::common::CPP_VERSION; using namespace ::android::hardware::audio::effect::CPP_VERSION; #define TIME_CHECK() auto timeCheck = \ mediautils::makeTimeCheckStatsForClassMethod(getClassName(), __func__) EffectHalHidl::EffectHalHidl(const sp<IEffect>& effect, uint64_t effectId) : EffectConversionHelperHidl("Effect"), : EffectConversionHelperHidl("EffectHalHidl"), mEffect(effect), mEffectId(effectId), mBuffersChanged(true), mEfGroup(nullptr) { effect_descriptor_t halDescriptor{}; if (EffectHalHidl::getDescriptor(&halDescriptor) == NO_ERROR) { Loading @@ -61,6 +65,8 @@ EffectHalHidl::~EffectHalHidl() { } status_t EffectHalHidl::setInBuffer(const sp<EffectBufferHalInterface>& buffer) { TIME_CHECK(); if (!mBuffersChanged) { if (buffer.get() == nullptr || mInBuffer.get() == nullptr) { mBuffersChanged = buffer.get() != mInBuffer.get(); Loading @@ -73,6 +79,8 @@ status_t EffectHalHidl::setInBuffer(const sp<EffectBufferHalInterface>& buffer) } status_t EffectHalHidl::setOutBuffer(const sp<EffectBufferHalInterface>& buffer) { TIME_CHECK(); if (!mBuffersChanged) { if (buffer.get() == nullptr || mOutBuffer.get() == nullptr) { mBuffersChanged = buffer.get() != mOutBuffer.get(); Loading @@ -85,10 +93,14 @@ status_t EffectHalHidl::setOutBuffer(const sp<EffectBufferHalInterface>& buffer) } status_t EffectHalHidl::process() { TIME_CHECK(); return processImpl(static_cast<uint32_t>(MessageQueueFlagBits::REQUEST_PROCESS)); } status_t EffectHalHidl::processReverse() { TIME_CHECK(); return processImpl(static_cast<uint32_t>(MessageQueueFlagBits::REQUEST_PROCESS_REVERSE)); } Loading Loading @@ -171,6 +183,8 @@ status_t EffectHalHidl::setProcessBuffers() { status_t EffectHalHidl::command(uint32_t cmdCode, uint32_t cmdSize, void *pCmdData, uint32_t *replySize, void *pReplyData) { TIME_CHECK(); if (mEffect == 0) return NO_INIT; // Special cases. Loading Loading @@ -202,6 +216,8 @@ status_t EffectHalHidl::command(uint32_t cmdCode, uint32_t cmdSize, void *pCmdDa } status_t EffectHalHidl::getDescriptor(effect_descriptor_t *pDescriptor) { TIME_CHECK(); if (mEffect == 0) return NO_INIT; Result retval = Result::NOT_INITIALIZED; Return<void> ret = mEffect->getDescriptor( Loading @@ -215,12 +231,16 @@ status_t EffectHalHidl::getDescriptor(effect_descriptor_t *pDescriptor) { } status_t EffectHalHidl::close() { TIME_CHECK(); if (mEffect == 0) return NO_INIT; Return<Result> ret = mEffect->close(); return ret.isOk() ? analyzeResult(ret) : FAILED_TRANSACTION; } status_t EffectHalHidl::dump(int fd) { TIME_CHECK(); if (mEffect == 0) return NO_INIT; native_handle_t* hidlHandle = native_handle_create(1, 0); hidlHandle->data[0] = fd; Loading media/utils/Android.bp +23 −1 Original line number Diff line number Diff line Loading @@ -28,7 +28,9 @@ cc_library { "AImageReaderUtils.cpp", "BatteryNotifier.cpp", "ISchedulingPolicyService.cpp", "Library.cpp", "LimitProcessMemory.cpp", "MediaUtilsDelayed.cpp", "MemoryLeakTrackUtil.cpp", "MethodStatistics.cpp", "ProcessInfo.cpp", Loading @@ -49,7 +51,6 @@ cc_library { "libcutils", "liblog", "libutils", "libutilscallstack", "libhidlbase", "libpermission", "android.hardware.graphics.bufferqueue@1.0", Loading Loading @@ -77,6 +78,10 @@ cc_library { "libpermission", ], required: [ "libmediautils_delayed", // lazy loaded ], include_dirs: [ // For DEBUGGER_SIGNAL "system/core/debuggerd/include", Loading @@ -85,6 +90,23 @@ cc_library { export_include_dirs: ["include"], } cc_library { name: "libmediautils_delayed", // match with MEDIAUTILS_DELAYED_LIBRARY_NAME srcs: [ "MediaUtilsDelayedLibrary.cpp", ], cflags: [ "-Wall", "-Werror", "-Wextra", ], shared_libs: [ "liblog", "libutils", "libutilscallstack", ], } cc_library { name: "libmediautils_vendor", vendor_available: true, // required for platform/hardware/interfaces Loading Loading
media/libaudioclient/AudioSystem.cpp +3 −1 Original line number Diff line number Diff line Loading @@ -959,7 +959,8 @@ status_t AudioSystem::getOutputForAttr(audio_attributes_t* attr, audio_output_flags_t flags, audio_port_handle_t* selectedDeviceId, audio_port_handle_t* portId, std::vector<audio_io_handle_t>* secondaryOutputs) { std::vector<audio_io_handle_t>* secondaryOutputs, bool *isSpatialized) { if (attr == nullptr) { ALOGE("%s NULL audio attributes", __func__); return BAD_VALUE; Loading Loading @@ -1012,6 +1013,7 @@ status_t AudioSystem::getOutputForAttr(audio_attributes_t* attr, *portId = VALUE_OR_RETURN_STATUS(aidl2legacy_int32_t_audio_port_handle_t(responseAidl.portId)); *secondaryOutputs = VALUE_OR_RETURN_STATUS(convertContainer<std::vector<audio_io_handle_t>>( responseAidl.secondaryOutputs, aidl2legacy_int32_t_audio_io_handle_t)); *isSpatialized = responseAidl.isSpatialized; return OK; } Loading
media/libaudioclient/aidl/android/media/GetOutputForAttrResponse.aidl +2 −0 Original line number Diff line number Diff line Loading @@ -31,4 +31,6 @@ parcelable GetOutputForAttrResponse { int portId; /** Interpreted as audio_io_handle_t[]. */ int[] secondaryOutputs; /** True if the track is connected to a spatializer mixer and actually spatialized */ boolean isSpatialized; }
media/libaudioclient/include/media/AudioSystem.h +2 −1 Original line number Diff line number Diff line Loading @@ -286,7 +286,8 @@ public: audio_output_flags_t flags, audio_port_handle_t *selectedDeviceId, audio_port_handle_t *portId, std::vector<audio_io_handle_t> *secondaryOutputs); std::vector<audio_io_handle_t> *secondaryOutputs, bool *isSpatialized); static status_t startOutput(audio_port_handle_t portId); static status_t stopOutput(audio_port_handle_t portId); static void releaseOutput(audio_port_handle_t portId); Loading
media/libaudiohal/impl/EffectHalHidl.cpp +21 −1 Original line number Diff line number Diff line Loading @@ -21,6 +21,7 @@ #include <cutils/native_handle.h> #include <hwbinder/IPCThreadState.h> #include <media/EffectsFactoryApi.h> #include <mediautils/TimeCheck.h> #include <utils/Log.h> #include <util/EffectUtils.h> Loading @@ -40,8 +41,11 @@ namespace effect { using namespace ::android::hardware::audio::common::CPP_VERSION; using namespace ::android::hardware::audio::effect::CPP_VERSION; #define TIME_CHECK() auto timeCheck = \ mediautils::makeTimeCheckStatsForClassMethod(getClassName(), __func__) EffectHalHidl::EffectHalHidl(const sp<IEffect>& effect, uint64_t effectId) : EffectConversionHelperHidl("Effect"), : EffectConversionHelperHidl("EffectHalHidl"), mEffect(effect), mEffectId(effectId), mBuffersChanged(true), mEfGroup(nullptr) { effect_descriptor_t halDescriptor{}; if (EffectHalHidl::getDescriptor(&halDescriptor) == NO_ERROR) { Loading @@ -61,6 +65,8 @@ EffectHalHidl::~EffectHalHidl() { } status_t EffectHalHidl::setInBuffer(const sp<EffectBufferHalInterface>& buffer) { TIME_CHECK(); if (!mBuffersChanged) { if (buffer.get() == nullptr || mInBuffer.get() == nullptr) { mBuffersChanged = buffer.get() != mInBuffer.get(); Loading @@ -73,6 +79,8 @@ status_t EffectHalHidl::setInBuffer(const sp<EffectBufferHalInterface>& buffer) } status_t EffectHalHidl::setOutBuffer(const sp<EffectBufferHalInterface>& buffer) { TIME_CHECK(); if (!mBuffersChanged) { if (buffer.get() == nullptr || mOutBuffer.get() == nullptr) { mBuffersChanged = buffer.get() != mOutBuffer.get(); Loading @@ -85,10 +93,14 @@ status_t EffectHalHidl::setOutBuffer(const sp<EffectBufferHalInterface>& buffer) } status_t EffectHalHidl::process() { TIME_CHECK(); return processImpl(static_cast<uint32_t>(MessageQueueFlagBits::REQUEST_PROCESS)); } status_t EffectHalHidl::processReverse() { TIME_CHECK(); return processImpl(static_cast<uint32_t>(MessageQueueFlagBits::REQUEST_PROCESS_REVERSE)); } Loading Loading @@ -171,6 +183,8 @@ status_t EffectHalHidl::setProcessBuffers() { status_t EffectHalHidl::command(uint32_t cmdCode, uint32_t cmdSize, void *pCmdData, uint32_t *replySize, void *pReplyData) { TIME_CHECK(); if (mEffect == 0) return NO_INIT; // Special cases. Loading Loading @@ -202,6 +216,8 @@ status_t EffectHalHidl::command(uint32_t cmdCode, uint32_t cmdSize, void *pCmdDa } status_t EffectHalHidl::getDescriptor(effect_descriptor_t *pDescriptor) { TIME_CHECK(); if (mEffect == 0) return NO_INIT; Result retval = Result::NOT_INITIALIZED; Return<void> ret = mEffect->getDescriptor( Loading @@ -215,12 +231,16 @@ status_t EffectHalHidl::getDescriptor(effect_descriptor_t *pDescriptor) { } status_t EffectHalHidl::close() { TIME_CHECK(); if (mEffect == 0) return NO_INIT; Return<Result> ret = mEffect->close(); return ret.isOk() ? analyzeResult(ret) : FAILED_TRANSACTION; } status_t EffectHalHidl::dump(int fd) { TIME_CHECK(); if (mEffect == 0) return NO_INIT; native_handle_t* hidlHandle = native_handle_create(1, 0); hidlHandle->data[0] = fd; Loading
media/utils/Android.bp +23 −1 Original line number Diff line number Diff line Loading @@ -28,7 +28,9 @@ cc_library { "AImageReaderUtils.cpp", "BatteryNotifier.cpp", "ISchedulingPolicyService.cpp", "Library.cpp", "LimitProcessMemory.cpp", "MediaUtilsDelayed.cpp", "MemoryLeakTrackUtil.cpp", "MethodStatistics.cpp", "ProcessInfo.cpp", Loading @@ -49,7 +51,6 @@ cc_library { "libcutils", "liblog", "libutils", "libutilscallstack", "libhidlbase", "libpermission", "android.hardware.graphics.bufferqueue@1.0", Loading Loading @@ -77,6 +78,10 @@ cc_library { "libpermission", ], required: [ "libmediautils_delayed", // lazy loaded ], include_dirs: [ // For DEBUGGER_SIGNAL "system/core/debuggerd/include", Loading @@ -85,6 +90,23 @@ cc_library { export_include_dirs: ["include"], } cc_library { name: "libmediautils_delayed", // match with MEDIAUTILS_DELAYED_LIBRARY_NAME srcs: [ "MediaUtilsDelayedLibrary.cpp", ], cflags: [ "-Wall", "-Werror", "-Wextra", ], shared_libs: [ "liblog", "libutils", "libutilscallstack", ], } cc_library { name: "libmediautils_vendor", vendor_available: true, // required for platform/hardware/interfaces Loading