Loading media/libeffects/visualizer/aidl/Visualizer.cpp +4 −1 Original line number Diff line number Diff line Loading @@ -101,7 +101,10 @@ ndk::ScopedAStatus VisualizerImpl::setOnlyParameter( auto tag = param.getTag(); switch (tag) { case Visualizer::SetOnlyParameters::latencyMs: { mContext->setDownstreamLatency(param.get<Visualizer::SetOnlyParameters::latencyMs>()); RETURN_IF(mContext->setDownstreamLatency( param.get<Visualizer::SetOnlyParameters::latencyMs>()) != RetCode::SUCCESS, EX_ILLEGAL_ARGUMENT, "setLatencyFailed"); break; } default: { Loading media/libeffects/visualizer/aidl/VisualizerContext.cpp +5 −0 Original line number Diff line number Diff line Loading @@ -122,6 +122,11 @@ Visualizer::ScalingMode VisualizerContext::getScalingMode() { } RetCode VisualizerContext::setDownstreamLatency(int latency) { if (latency < 0 || (unsigned)latency > kMaxLatencyMs) { LOG(ERROR) << __func__ << " latency " << latency << " exceed valid range: 0 - " << kMaxLatencyMs; return RetCode::ERROR_ILLEGAL_PARAMETER; } std::lock_guard lg(mMutex); mDownstreamLatency = latency; return RetCode::SUCCESS; Loading media/libeffects/visualizer/aidl/VisualizerContext.h +6 −7 Original line number Diff line number Diff line Loading @@ -78,22 +78,21 @@ class VisualizerContext final : public EffectContext { std::mutex mMutex; Parameter::Common mCommon GUARDED_BY(mMutex); State mState GUARDED_BY(mMutex) = State::UNINITIALIZED; uint32_t mCaptureIdx GUARDED_BY(mMutex); uint32_t mLastCaptureIdx GUARDED_BY(mMutex); uint32_t mCaptureIdx GUARDED_BY(mMutex) = 0; 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 std::array<uint8_t, kMaxCaptureBufSize> mCaptureBuf GUARDED_BY(mMutex); // no mutex, only accessed by parameters uint32_t mDownstreamLatency; uint32_t mCaptureSamples = kMaxCaptureBufSize; uint32_t mDownstreamLatency GUARDED_BY(mMutex) = 0; uint32_t mCaptureSamples GUARDED_BY(mMutex) = kMaxCaptureBufSize; // to avoid recomputing it every time a buffer is processed uint8_t mChannelCount GUARDED_BY(mMutex); uint8_t mChannelCount GUARDED_BY(mMutex) = 0; Visualizer::MeasurementMode mMeasurementMode GUARDED_BY(mMutex) = Visualizer::MeasurementMode::NONE; uint8_t mMeasurementWindowSizeInBuffers = kMeasurementWindowMaxSizeInBuffers; uint8_t mMeasurementBufferIdx GUARDED_BY(mMutex); uint8_t mMeasurementBufferIdx GUARDED_BY(mMutex) = 0; std::array<BufferStats, kMeasurementWindowMaxSizeInBuffers> mPastMeasurements; void init_params(); Loading Loading
media/libeffects/visualizer/aidl/Visualizer.cpp +4 −1 Original line number Diff line number Diff line Loading @@ -101,7 +101,10 @@ ndk::ScopedAStatus VisualizerImpl::setOnlyParameter( auto tag = param.getTag(); switch (tag) { case Visualizer::SetOnlyParameters::latencyMs: { mContext->setDownstreamLatency(param.get<Visualizer::SetOnlyParameters::latencyMs>()); RETURN_IF(mContext->setDownstreamLatency( param.get<Visualizer::SetOnlyParameters::latencyMs>()) != RetCode::SUCCESS, EX_ILLEGAL_ARGUMENT, "setLatencyFailed"); break; } default: { Loading
media/libeffects/visualizer/aidl/VisualizerContext.cpp +5 −0 Original line number Diff line number Diff line Loading @@ -122,6 +122,11 @@ Visualizer::ScalingMode VisualizerContext::getScalingMode() { } RetCode VisualizerContext::setDownstreamLatency(int latency) { if (latency < 0 || (unsigned)latency > kMaxLatencyMs) { LOG(ERROR) << __func__ << " latency " << latency << " exceed valid range: 0 - " << kMaxLatencyMs; return RetCode::ERROR_ILLEGAL_PARAMETER; } std::lock_guard lg(mMutex); mDownstreamLatency = latency; return RetCode::SUCCESS; Loading
media/libeffects/visualizer/aidl/VisualizerContext.h +6 −7 Original line number Diff line number Diff line Loading @@ -78,22 +78,21 @@ class VisualizerContext final : public EffectContext { std::mutex mMutex; Parameter::Common mCommon GUARDED_BY(mMutex); State mState GUARDED_BY(mMutex) = State::UNINITIALIZED; uint32_t mCaptureIdx GUARDED_BY(mMutex); uint32_t mLastCaptureIdx GUARDED_BY(mMutex); uint32_t mCaptureIdx GUARDED_BY(mMutex) = 0; 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 std::array<uint8_t, kMaxCaptureBufSize> mCaptureBuf GUARDED_BY(mMutex); // no mutex, only accessed by parameters uint32_t mDownstreamLatency; uint32_t mCaptureSamples = kMaxCaptureBufSize; uint32_t mDownstreamLatency GUARDED_BY(mMutex) = 0; uint32_t mCaptureSamples GUARDED_BY(mMutex) = kMaxCaptureBufSize; // to avoid recomputing it every time a buffer is processed uint8_t mChannelCount GUARDED_BY(mMutex); uint8_t mChannelCount GUARDED_BY(mMutex) = 0; Visualizer::MeasurementMode mMeasurementMode GUARDED_BY(mMutex) = Visualizer::MeasurementMode::NONE; uint8_t mMeasurementWindowSizeInBuffers = kMeasurementWindowMaxSizeInBuffers; uint8_t mMeasurementBufferIdx GUARDED_BY(mMutex); uint8_t mMeasurementBufferIdx GUARDED_BY(mMutex) = 0; std::array<BufferStats, kMeasurementWindowMaxSizeInBuffers> mPastMeasurements; void init_params(); Loading