Merge "Visualizer: use actual sampling rate of the instance"

This commit is contained in:
Mikhail Naganov
2022-09-02 01:08:25 +00:00
committed by Gerrit Code Review
2 changed files with 12 additions and 0 deletions

View File

@@ -60,6 +60,7 @@ status_t Visualizer::set(int32_t priority,
SL_IID_VISUALIZATION, nullptr, priority, cbf, user, sessionId, io, device, probe); SL_IID_VISUALIZATION, nullptr, priority, cbf, user, sessionId, io, device, probe);
if (status == NO_ERROR || status == ALREADY_EXISTS) { if (status == NO_ERROR || status == ALREADY_EXISTS) {
initCaptureSize(); initCaptureSize();
initSampleRate();
} }
return status; return status;
} }
@@ -413,6 +414,16 @@ uint32_t Visualizer::initCaptureSize()
return size; return size;
} }
void Visualizer::initSampleRate()
{
audio_config_base_t inputConfig, outputConfig;
status_t status = getConfigs(&inputConfig, &outputConfig);
if (status == NO_ERROR) {
mSampleRate = outputConfig.sample_rate * 1000;
}
ALOGV("%s sample rate %d status %d", __func__, mSampleRate, status);
}
void Visualizer::controlStatusChanged(bool controlGranted) { void Visualizer::controlStatusChanged(bool controlGranted) {
if (controlGranted) { if (controlGranted) {
// this Visualizer instance regained control of the effect, reset the scaling mode // this Visualizer instance regained control of the effect, reset the scaling mode

View File

@@ -170,6 +170,7 @@ private:
status_t doFft(uint8_t *fft, uint8_t *waveform); status_t doFft(uint8_t *fft, uint8_t *waveform);
void periodicCapture(); void periodicCapture();
uint32_t initCaptureSize(); uint32_t initCaptureSize();
void initSampleRate();
Mutex mCaptureLock; Mutex mCaptureLock;
uint32_t mCaptureRate = CAPTURE_RATE_DEF; uint32_t mCaptureRate = CAPTURE_RATE_DEF;