Loading include/media/BufferProviders.h +2 −0 Original line number Diff line number Diff line Loading @@ -113,6 +113,8 @@ public: protected: sp<EffectsFactoryHalInterface> mEffectsFactory; sp<EffectHalInterface> mDownmixInterface; size_t mInFrameSize; size_t mOutFrameSize; sp<EffectBufferHalInterface> mInBuffer; sp<EffectBufferHalInterface> mOutBuffer; effect_config_t mDownmixConfig; Loading include/media/audiohal/EffectBufferHalInterface.h +2 −0 Original line number Diff line number Diff line Loading @@ -42,6 +42,8 @@ class EffectBufferHalInterface : public RefBase virtual void update() = 0; // copies data from the external buffer, noop for allocated buffers virtual void commit() = 0; // copies data to the external buffer, noop for allocated buffers virtual void update(size_t size) = 0; // copies partial data from external buffer virtual void commit(size_t size) = 0; // copies partial data to external buffer static status_t allocate(size_t size, sp<EffectBufferHalInterface>* buffer); static status_t mirror(void* external, size_t size, sp<EffectBufferHalInterface>* buffer); Loading media/libaudiohal/EffectBufferHalHidl.cpp +13 −3 Original line number Diff line number Diff line Loading @@ -115,15 +115,25 @@ void EffectBufferHalHidl::setExternalData(void* external) { } void EffectBufferHalHidl::update() { update(mBufferSize); } void EffectBufferHalHidl::commit() { commit(mBufferSize); } void EffectBufferHalHidl::update(size_t size) { if (mExternalData == nullptr) return; mMemory->update(); memcpy(mAudioBuffer.raw, mExternalData, mBufferSize); if (size > mBufferSize) size = mBufferSize; memcpy(mAudioBuffer.raw, mExternalData, size); mMemory->commit(); } void EffectBufferHalHidl::commit() { void EffectBufferHalHidl::commit(size_t size) { if (mExternalData == nullptr) return; memcpy(mExternalData, mAudioBuffer.raw, mBufferSize); if (size > mBufferSize) size = mBufferSize; memcpy(mExternalData, mAudioBuffer.raw, size); } } // namespace android media/libaudiohal/EffectBufferHalHidl.h +2 −0 Original line number Diff line number Diff line Loading @@ -40,6 +40,8 @@ class EffectBufferHalHidl : public EffectBufferHalInterface virtual void update(); virtual void commit(); virtual void update(size_t size); virtual void commit(size_t size); const AudioBuffer& hidlBuffer() const { return mHidlBuffer; } Loading media/libaudiohal/EffectBufferHalLocal.cpp +6 −0 Original line number Diff line number Diff line Loading @@ -75,4 +75,10 @@ void EffectBufferHalLocal::update() { void EffectBufferHalLocal::commit() { } void EffectBufferHalLocal::update(size_t size) { } void EffectBufferHalLocal::commit(size_t size) { } } // namespace android Loading
include/media/BufferProviders.h +2 −0 Original line number Diff line number Diff line Loading @@ -113,6 +113,8 @@ public: protected: sp<EffectsFactoryHalInterface> mEffectsFactory; sp<EffectHalInterface> mDownmixInterface; size_t mInFrameSize; size_t mOutFrameSize; sp<EffectBufferHalInterface> mInBuffer; sp<EffectBufferHalInterface> mOutBuffer; effect_config_t mDownmixConfig; Loading
include/media/audiohal/EffectBufferHalInterface.h +2 −0 Original line number Diff line number Diff line Loading @@ -42,6 +42,8 @@ class EffectBufferHalInterface : public RefBase virtual void update() = 0; // copies data from the external buffer, noop for allocated buffers virtual void commit() = 0; // copies data to the external buffer, noop for allocated buffers virtual void update(size_t size) = 0; // copies partial data from external buffer virtual void commit(size_t size) = 0; // copies partial data to external buffer static status_t allocate(size_t size, sp<EffectBufferHalInterface>* buffer); static status_t mirror(void* external, size_t size, sp<EffectBufferHalInterface>* buffer); Loading
media/libaudiohal/EffectBufferHalHidl.cpp +13 −3 Original line number Diff line number Diff line Loading @@ -115,15 +115,25 @@ void EffectBufferHalHidl::setExternalData(void* external) { } void EffectBufferHalHidl::update() { update(mBufferSize); } void EffectBufferHalHidl::commit() { commit(mBufferSize); } void EffectBufferHalHidl::update(size_t size) { if (mExternalData == nullptr) return; mMemory->update(); memcpy(mAudioBuffer.raw, mExternalData, mBufferSize); if (size > mBufferSize) size = mBufferSize; memcpy(mAudioBuffer.raw, mExternalData, size); mMemory->commit(); } void EffectBufferHalHidl::commit() { void EffectBufferHalHidl::commit(size_t size) { if (mExternalData == nullptr) return; memcpy(mExternalData, mAudioBuffer.raw, mBufferSize); if (size > mBufferSize) size = mBufferSize; memcpy(mExternalData, mAudioBuffer.raw, size); } } // namespace android
media/libaudiohal/EffectBufferHalHidl.h +2 −0 Original line number Diff line number Diff line Loading @@ -40,6 +40,8 @@ class EffectBufferHalHidl : public EffectBufferHalInterface virtual void update(); virtual void commit(); virtual void update(size_t size); virtual void commit(size_t size); const AudioBuffer& hidlBuffer() const { return mHidlBuffer; } Loading
media/libaudiohal/EffectBufferHalLocal.cpp +6 −0 Original line number Diff line number Diff line Loading @@ -75,4 +75,10 @@ void EffectBufferHalLocal::update() { void EffectBufferHalLocal::commit() { } void EffectBufferHalLocal::update(size_t size) { } void EffectBufferHalLocal::commit(size_t size) { } } // namespace android