Loading media/libaudiohal/impl/EffectConversionHelperAidl.cpp +1 −14 Original line number Diff line number Diff line Loading @@ -60,8 +60,7 @@ const std::map<uint32_t /* effect_command_e */, EffectConversionHelperAidl::Comm {EFFECT_CMD_SET_INPUT_DEVICE, &EffectConversionHelperAidl::handleSetDevice}, {EFFECT_CMD_SET_VOLUME, &EffectConversionHelperAidl::handleSetVolume}, {EFFECT_CMD_OFFLOAD, &EffectConversionHelperAidl::handleSetOffload}, {EFFECT_CMD_FIRST_PROPRIETARY, &EffectConversionHelperAidl::handleFirstPriority}, // Only visualizer support these commands // Only visualizer support these commands, reuse of EFFECT_CMD_FIRST_PROPRIETARY {VISUALIZER_CMD_CAPTURE, &EffectConversionHelperAidl::handleVisualizerCapture}, {VISUALIZER_CMD_MEASURE, &EffectConversionHelperAidl::handleVisualizerMeasure}}; Loading Loading @@ -278,18 +277,6 @@ status_t EffectConversionHelperAidl::handleSetOffload(uint32_t cmdSize, const vo return *static_cast<int32_t*>(pReplyData) = OK; } status_t EffectConversionHelperAidl::handleFirstPriority(uint32_t cmdSize __unused, const void* pCmdData __unused, uint32_t* replySize, void* pReplyData) { if (!replySize || !pReplyData) { ALOGE("%s parameter invalid %p %p", __func__, replySize, pReplyData); return BAD_VALUE; } // TODO to be implemented return OK; } status_t EffectConversionHelperAidl::handleVisualizerCapture(uint32_t cmdSize __unused, const void* pCmdData __unused, uint32_t* replySize, Loading media/libaudiohal/impl/EffectConversionHelperAidl.h +0 −2 Original line number Diff line number Diff line Loading @@ -96,8 +96,6 @@ class EffectConversionHelperAidl { void* pReplyData); status_t handleSetOffload(uint32_t cmdSize, const void* pCmdData, uint32_t* replySize, void* pReplyData); status_t handleFirstPriority(uint32_t cmdSize, const void* pCmdData, uint32_t* replySize, void* pReplyData); status_t handleVisualizerCapture(uint32_t cmdSize, const void* pCmdData, uint32_t* replySize, void* pReplyData); status_t handleVisualizerMeasure(uint32_t cmdSize, const void* pCmdData, uint32_t* replySize, Loading media/libeffects/visualizer/aidl/VisualizerContext.cpp +8 −2 Original line number Diff line number Diff line Loading @@ -191,9 +191,15 @@ Visualizer::Measurement VisualizerContext::getMeasure() { std::vector<uint8_t> VisualizerContext::capture() { std::vector<uint8_t> result; std::lock_guard lg(mMutex); RETURN_VALUE_IF(mState != State::ACTIVE, result, "illegalState"); const uint32_t deltaMs = getDeltaTimeMsFromUpdatedTime_l(); // cts android.media.audio.cts.VisualizerTest expecting silence data when effect not running // RETURN_VALUE_IF(mState != State::ACTIVE, result, "illegalState"); if (mState != State::ACTIVE) { result.resize(mCaptureSamples); memset(result.data(), 0x80, mCaptureSamples); return result; } const uint32_t deltaMs = getDeltaTimeMsFromUpdatedTime_l(); // if audio framework has stopped playing audio although the effect is still active we must // clear the capture buffer to return silence if ((mLastCaptureIdx == mCaptureIdx) && (mBufferUpdateTime.tv_sec != 0) && Loading media/libeffects/visualizer/aidl/VisualizerContext.h +1 −1 Original line number Diff line number Diff line Loading @@ -83,7 +83,7 @@ class VisualizerContext final : public EffectContext { uint32_t mLastCaptureIdx GUARDED_BY(mMutex) = 0; Visualizer::ScalingMode mScalingMode GUARDED_BY(mMutex) = Visualizer::ScalingMode::NORMALIZED; struct timespec mBufferUpdateTime GUARDED_BY(mMutex); // capture buf with 8 bits PCM // capture buf with 8 bits mono PCM samples std::array<uint8_t, kMaxCaptureBufSize> mCaptureBuf GUARDED_BY(mMutex); uint32_t mDownstreamLatency GUARDED_BY(mMutex) = 0; uint32_t mCaptureSamples GUARDED_BY(mMutex) = kMaxCaptureBufSize; Loading Loading
media/libaudiohal/impl/EffectConversionHelperAidl.cpp +1 −14 Original line number Diff line number Diff line Loading @@ -60,8 +60,7 @@ const std::map<uint32_t /* effect_command_e */, EffectConversionHelperAidl::Comm {EFFECT_CMD_SET_INPUT_DEVICE, &EffectConversionHelperAidl::handleSetDevice}, {EFFECT_CMD_SET_VOLUME, &EffectConversionHelperAidl::handleSetVolume}, {EFFECT_CMD_OFFLOAD, &EffectConversionHelperAidl::handleSetOffload}, {EFFECT_CMD_FIRST_PROPRIETARY, &EffectConversionHelperAidl::handleFirstPriority}, // Only visualizer support these commands // Only visualizer support these commands, reuse of EFFECT_CMD_FIRST_PROPRIETARY {VISUALIZER_CMD_CAPTURE, &EffectConversionHelperAidl::handleVisualizerCapture}, {VISUALIZER_CMD_MEASURE, &EffectConversionHelperAidl::handleVisualizerMeasure}}; Loading Loading @@ -278,18 +277,6 @@ status_t EffectConversionHelperAidl::handleSetOffload(uint32_t cmdSize, const vo return *static_cast<int32_t*>(pReplyData) = OK; } status_t EffectConversionHelperAidl::handleFirstPriority(uint32_t cmdSize __unused, const void* pCmdData __unused, uint32_t* replySize, void* pReplyData) { if (!replySize || !pReplyData) { ALOGE("%s parameter invalid %p %p", __func__, replySize, pReplyData); return BAD_VALUE; } // TODO to be implemented return OK; } status_t EffectConversionHelperAidl::handleVisualizerCapture(uint32_t cmdSize __unused, const void* pCmdData __unused, uint32_t* replySize, Loading
media/libaudiohal/impl/EffectConversionHelperAidl.h +0 −2 Original line number Diff line number Diff line Loading @@ -96,8 +96,6 @@ class EffectConversionHelperAidl { void* pReplyData); status_t handleSetOffload(uint32_t cmdSize, const void* pCmdData, uint32_t* replySize, void* pReplyData); status_t handleFirstPriority(uint32_t cmdSize, const void* pCmdData, uint32_t* replySize, void* pReplyData); status_t handleVisualizerCapture(uint32_t cmdSize, const void* pCmdData, uint32_t* replySize, void* pReplyData); status_t handleVisualizerMeasure(uint32_t cmdSize, const void* pCmdData, uint32_t* replySize, Loading
media/libeffects/visualizer/aidl/VisualizerContext.cpp +8 −2 Original line number Diff line number Diff line Loading @@ -191,9 +191,15 @@ Visualizer::Measurement VisualizerContext::getMeasure() { std::vector<uint8_t> VisualizerContext::capture() { std::vector<uint8_t> result; std::lock_guard lg(mMutex); RETURN_VALUE_IF(mState != State::ACTIVE, result, "illegalState"); const uint32_t deltaMs = getDeltaTimeMsFromUpdatedTime_l(); // cts android.media.audio.cts.VisualizerTest expecting silence data when effect not running // RETURN_VALUE_IF(mState != State::ACTIVE, result, "illegalState"); if (mState != State::ACTIVE) { result.resize(mCaptureSamples); memset(result.data(), 0x80, mCaptureSamples); return result; } const uint32_t deltaMs = getDeltaTimeMsFromUpdatedTime_l(); // if audio framework has stopped playing audio although the effect is still active we must // clear the capture buffer to return silence if ((mLastCaptureIdx == mCaptureIdx) && (mBufferUpdateTime.tv_sec != 0) && Loading
media/libeffects/visualizer/aidl/VisualizerContext.h +1 −1 Original line number Diff line number Diff line Loading @@ -83,7 +83,7 @@ class VisualizerContext final : public EffectContext { uint32_t mLastCaptureIdx GUARDED_BY(mMutex) = 0; Visualizer::ScalingMode mScalingMode GUARDED_BY(mMutex) = Visualizer::ScalingMode::NORMALIZED; struct timespec mBufferUpdateTime GUARDED_BY(mMutex); // capture buf with 8 bits PCM // capture buf with 8 bits mono PCM samples std::array<uint8_t, kMaxCaptureBufSize> mCaptureBuf GUARDED_BY(mMutex); uint32_t mDownstreamLatency GUARDED_BY(mMutex) = 0; uint32_t mCaptureSamples GUARDED_BY(mMutex) = kMaxCaptureBufSize; Loading