From 1a50cd5894becfab5ab1a7f98a5f823ab3f3dbf6 Mon Sep 17 00:00:00 2001 From: Fredrik Solenberg Date: Tue, 16 Jan 2018 09:19:38 +0100 Subject: [PATCH] Remove unused members from AudioDeviceBuffer Removes current_mic_level_, new_mic_level_ and clock_drift_, together with APIs for accessing them. Bug: webrtc:8598 Change-Id: I8e07396fcafd2a719e204730e2c7d26797bed762 Reviewed-on: https://webrtc-review.googlesource.com/39783 Commit-Queue: Fredrik Solenberg Reviewed-by: Henrik Andreassson Cr-Commit-Position: refs/heads/master@{#21632} --- .../audio_device/android/audio_record_jni.cc | 4 +-- modules/audio_device/audio_device_buffer.cc | 31 +++---------------- modules/audio_device/audio_device_buffer.h | 15 +-------- modules/audio_device/fine_audio_buffer.cc | 2 +- .../fine_audio_buffer_unittest.cc | 2 +- .../linux/audio_device_alsa_linux.cc | 2 +- .../linux/audio_device_pulse_linux.cc | 3 +- modules/audio_device/mac/audio_device_mac.cc | 2 +- .../audio_device/mock_audio_device_buffer.h | 3 +- .../audio_device/win/audio_device_core_win.cc | 4 +-- 10 files changed, 15 insertions(+), 53 deletions(-) diff --git a/modules/audio_device/android/audio_record_jni.cc b/modules/audio_device/android/audio_record_jni.cc index 5572b10b4f..0d5d32ed8f 100644 --- a/modules/audio_device/android/audio_record_jni.cc +++ b/modules/audio_device/android/audio_record_jni.cc @@ -267,9 +267,7 @@ void AudioRecordJni::OnDataIsRecorded(int length) { // We provide one (combined) fixed delay estimate for the APM and use the // |playDelayMs| parameter only. Components like the AEC only sees the sum // of |playDelayMs| and |recDelayMs|, hence the distributions does not matter. - audio_device_buffer_->SetVQEData(total_delay_in_milliseconds_, - 0, // recDelayMs - 0); // clockDrift + audio_device_buffer_->SetVQEData(total_delay_in_milliseconds_, 0); if (audio_device_buffer_->DeliverRecordedData() == -1) { RTC_LOG(INFO) << "AudioDeviceBuffer::DeliverRecordedData failed"; } diff --git a/modules/audio_device/audio_device_buffer.cc b/modules/audio_device/audio_device_buffer.cc index 158a86ad6c..892a3af062 100644 --- a/modules/audio_device/audio_device_buffer.cc +++ b/modules/audio_device/audio_device_buffer.cc @@ -50,12 +50,9 @@ AudioDeviceBuffer::AudioDeviceBuffer() play_channels_(0), playing_(false), recording_(false), - current_mic_level_(0), - new_mic_level_(0), typing_status_(false), play_delay_ms_(0), rec_delay_ms_(0), - clock_drift_(0), num_stat_reports_(0), last_timer_task_time_(0), rec_stat_count_(0), @@ -231,15 +228,6 @@ size_t AudioDeviceBuffer::PlayoutChannels() const { return play_channels_; } -int32_t AudioDeviceBuffer::SetCurrentMicLevel(uint32_t level) { -#if !defined(WEBRTC_WIN) - // Windows uses a dedicated thread for volume APIs. - RTC_DCHECK_RUN_ON(&recording_thread_checker_); -#endif - current_mic_level_ = level; - return 0; -} - int32_t AudioDeviceBuffer::SetTypingStatus(bool typing_status) { RTC_DCHECK_RUN_ON(&recording_thread_checker_); typing_status_ = typing_status; @@ -252,18 +240,11 @@ void AudioDeviceBuffer::NativeAudioInterrupted() { recording_thread_checker_.DetachFromThread(); } -uint32_t AudioDeviceBuffer::NewMicLevel() const { - RTC_DCHECK_RUN_ON(&recording_thread_checker_); - return new_mic_level_; -} - void AudioDeviceBuffer::SetVQEData(int play_delay_ms, - int rec_delay_ms, - int clock_drift) { + int rec_delay_ms) { RTC_DCHECK_RUN_ON(&recording_thread_checker_); play_delay_ms_ = play_delay_ms; rec_delay_ms_ = rec_delay_ms; - clock_drift_ = clock_drift; } int32_t AudioDeviceBuffer::SetRecordedBuffer(const void* audio_buffer, @@ -307,15 +288,13 @@ int32_t AudioDeviceBuffer::DeliverRecordedData() { } const size_t frames = rec_buffer_.size() / rec_channels_; const size_t bytes_per_frame = rec_channels_ * sizeof(int16_t); - uint32_t new_mic_level(0); + uint32_t new_mic_level_dummy = 0; uint32_t total_delay_ms = play_delay_ms_ + rec_delay_ms_; int32_t res = audio_transport_cb_->RecordedDataIsAvailable( rec_buffer_.data(), frames, bytes_per_frame, rec_channels_, - rec_sample_rate_, total_delay_ms, clock_drift_, current_mic_level_, - typing_status_, new_mic_level); - if (res != -1) { - new_mic_level_ = new_mic_level; - } else { + rec_sample_rate_, total_delay_ms, 0, 0, typing_status_, + new_mic_level_dummy); + if (res == -1) { RTC_LOG(LS_ERROR) << "RecordedDataIsAvailable() failed"; } return 0; diff --git a/modules/audio_device/audio_device_buffer.h b/modules/audio_device/audio_device_buffer.h index 38e799672a..c4ef95b321 100644 --- a/modules/audio_device/audio_device_buffer.h +++ b/modules/audio_device/audio_device_buffer.h @@ -95,8 +95,7 @@ class AudioDeviceBuffer { virtual int32_t SetRecordedBuffer(const void* audio_buffer, size_t samples_per_channel); - int32_t SetCurrentMicLevel(uint32_t level); - virtual void SetVQEData(int play_delay_ms, int rec_delay_ms, int clock_drift); + virtual void SetVQEData(int play_delay_ms, int rec_delay_ms); virtual int32_t DeliverRecordedData(); uint32_t NewMicLevel() const; @@ -195,15 +194,6 @@ class AudioDeviceBuffer { // dynamically. rtc::BufferT rec_buffer_ RTC_ACCESS_ON(recording_thread_checker_); -// AGC parameters. -#if !defined(WEBRTC_WIN) - uint32_t current_mic_level_ RTC_ACCESS_ON(recording_thread_checker_); -#else - // Windows uses a dedicated thread for volume APIs. - uint32_t current_mic_level_; -#endif - uint32_t new_mic_level_ RTC_ACCESS_ON(recording_thread_checker_); - // Contains true of a key-press has been detected. bool typing_status_ RTC_ACCESS_ON(recording_thread_checker_); @@ -211,9 +201,6 @@ class AudioDeviceBuffer { int play_delay_ms_ RTC_ACCESS_ON(recording_thread_checker_); int rec_delay_ms_ RTC_ACCESS_ON(recording_thread_checker_); - // Contains a clock-drift measurement. - int clock_drift_ RTC_ACCESS_ON(recording_thread_checker_); - // Counts number of times LogStats() has been called. size_t num_stat_reports_ RTC_ACCESS_ON(task_queue_); diff --git a/modules/audio_device/fine_audio_buffer.cc b/modules/audio_device/fine_audio_buffer.cc index f58239745a..7683834f7c 100644 --- a/modules/audio_device/fine_audio_buffer.cc +++ b/modules/audio_device/fine_audio_buffer.cc @@ -81,7 +81,7 @@ void FineAudioBuffer::DeliverRecordedData( while (record_buffer_.size() >= bytes_per_10_ms_) { device_buffer_->SetRecordedBuffer(record_buffer_.data(), samples_per_10_ms_); - device_buffer_->SetVQEData(playout_delay_ms, record_delay_ms, 0); + device_buffer_->SetVQEData(playout_delay_ms, record_delay_ms); device_buffer_->DeliverRecordedData(); memmove(record_buffer_.data(), record_buffer_.data() + bytes_per_10_ms_, record_buffer_.size() - bytes_per_10_ms_); diff --git a/modules/audio_device/fine_audio_buffer_unittest.cc b/modules/audio_device/fine_audio_buffer_unittest.cc index 43d3f6353d..f493e51a26 100644 --- a/modules/audio_device/fine_audio_buffer_unittest.cc +++ b/modules/audio_device/fine_audio_buffer_unittest.cc @@ -111,7 +111,7 @@ void RunFineBufferTest(int frame_size_in_samples) { .RetiresOnSaturation(); } } - EXPECT_CALL(audio_device_buffer, SetVQEData(_, _, _)) + EXPECT_CALL(audio_device_buffer, SetVQEData(_, _)) .Times(kNumberOfUpdateBufferCalls - 1); EXPECT_CALL(audio_device_buffer, DeliverRecordedData()) .Times(kNumberOfUpdateBufferCalls - 1) diff --git a/modules/audio_device/linux/audio_device_alsa_linux.cc b/modules/audio_device/linux/audio_device_alsa_linux.cc index afa54b7d8b..735474c518 100644 --- a/modules/audio_device/linux/audio_device_alsa_linux.cc +++ b/modules/audio_device/linux/audio_device_alsa_linux.cc @@ -1607,7 +1607,7 @@ bool AudioDeviceLinuxALSA::RecThreadProcess() { // TODO(xians): Shall we add 10ms buffer delay to the record delay? _ptrAudioBuffer->SetVQEData(_playoutDelay * 1000 / _playoutFreq, - _recordingDelay * 1000 / _recordingFreq, 0); + _recordingDelay * 1000 / _recordingFreq); _ptrAudioBuffer->SetTypingStatus(KeyPressed()); diff --git a/modules/audio_device/linux/audio_device_pulse_linux.cc b/modules/audio_device/linux/audio_device_pulse_linux.cc index ee3ea72329..33eeee929b 100644 --- a/modules/audio_device/linux/audio_device_pulse_linux.cc +++ b/modules/audio_device/linux/audio_device_pulse_linux.cc @@ -1955,7 +1955,6 @@ int32_t AudioDeviceLinuxPulse::ProcessRecordedData(int8_t* bufferData, _ptrAudioBuffer->SetRecordedBuffer(bufferData, bufferSizeInSamples); - const uint32_t clockDrift(0); // TODO(andrew): this is a temporary hack, to avoid non-causal far- and // near-end signals at the AEC for PulseAudio. I think the system delay is // being correctly calculated here, but for legacy reasons we add +10 ms @@ -1965,7 +1964,7 @@ int32_t AudioDeviceLinuxPulse::ProcessRecordedData(int8_t* bufferData, recDelay -= 10; else recDelay = 0; - _ptrAudioBuffer->SetVQEData(_sndCardPlayDelay, recDelay, clockDrift); + _ptrAudioBuffer->SetVQEData(_sndCardPlayDelay, recDelay); _ptrAudioBuffer->SetTypingStatus(KeyPressed()); // Deliver recorded samples at specified sample rate, // mic level etc. to the observer using callback. diff --git a/modules/audio_device/mac/audio_device_mac.cc b/modules/audio_device/mac/audio_device_mac.cc index 2fbe878419..c585c32caf 100644 --- a/modules/audio_device/mac/audio_device_mac.cc +++ b/modules/audio_device/mac/audio_device_mac.cc @@ -2499,7 +2499,7 @@ bool AudioDeviceMac::CaptureWorkerThread() { // store the recorded buffer (no action will be taken if the // #recorded samples is not a full buffer) _ptrAudioBuffer->SetRecordedBuffer((int8_t*)&recordBuffer, (uint32_t)size); - _ptrAudioBuffer->SetVQEData(msecOnPlaySide, msecOnRecordSide, 0); + _ptrAudioBuffer->SetVQEData(msecOnPlaySide, msecOnRecordSide); _ptrAudioBuffer->SetTypingStatus(KeyPressed()); // deliver recorded samples at specified sample rate, mic level etc. diff --git a/modules/audio_device/mock_audio_device_buffer.h b/modules/audio_device/mock_audio_device_buffer.h index f172c17eec..c61a63f4ab 100644 --- a/modules/audio_device/mock_audio_device_buffer.h +++ b/modules/audio_device/mock_audio_device_buffer.h @@ -24,8 +24,7 @@ class MockAudioDeviceBuffer : public AudioDeviceBuffer { MOCK_METHOD1(GetPlayoutData, int32_t(void* audioBuffer)); MOCK_METHOD2(SetRecordedBuffer, int32_t(const void* audioBuffer, size_t nSamples)); - MOCK_METHOD3(SetVQEData, - void(int playDelayMS, int recDelayMS, int clockDrift)); + MOCK_METHOD2(SetVQEData, void(int playDelayMS, int recDelayMS)); MOCK_METHOD0(DeliverRecordedData, int32_t()); }; diff --git a/modules/audio_device/win/audio_device_core_win.cc b/modules/audio_device/win/audio_device_core_win.cc index 526d41c08f..834fa4ed25 100644 --- a/modules/audio_device/win/audio_device_core_win.cc +++ b/modules/audio_device/win/audio_device_core_win.cc @@ -3062,7 +3062,7 @@ DWORD AudioDeviceWindowsCore::DoCaptureThreadPollDMO() { assert(sizeof(BYTE) == sizeof(int8_t)); _ptrAudioBuffer->SetRecordedBuffer(reinterpret_cast(data), kSamplesProduced); - _ptrAudioBuffer->SetVQEData(0, 0, 0); + _ptrAudioBuffer->SetVQEData(0, 0); _UnLock(); // Release lock while making the callback. _ptrAudioBuffer->DeliverRecordedData(); @@ -3289,7 +3289,7 @@ DWORD AudioDeviceWindowsCore::DoCaptureThread() { if (_ptrAudioBuffer) { _ptrAudioBuffer->SetRecordedBuffer((const int8_t*)syncBuffer, _recBlockSize); - _ptrAudioBuffer->SetVQEData(sndCardPlayDelay, sndCardRecDelay, 0); + _ptrAudioBuffer->SetVQEData(sndCardPlayDelay, sndCardRecDelay); _ptrAudioBuffer->SetTypingStatus(KeyPressed());