Commit 802cf415 authored by Raymond Toy's avatar Raymond Toy Committed by Commit Bot

[Code Health] Convert Bind to BindOnce/Repeating

Update base::Bind to base::BindOnce/BindRepeating for
media/audio/android and media/audio/mac.

Bug: 1007798
Change-Id: If12548428c2a5085de133f50f4bf06535f7e568c
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1929760
Commit-Queue: Olga Sharonova <olka@chromium.org>
Reviewed-by: default avatarOlga Sharonova <olka@chromium.org>
Cr-Commit-Position: refs/heads/master@{#723282}
parent 5f7b2f1d
...@@ -441,7 +441,7 @@ class AudioAndroidOutputTest : public testing::Test { ...@@ -441,7 +441,7 @@ class AudioAndroidOutputTest : public testing::Test {
} }
// Synchronously runs the provided callback/closure on the audio thread. // Synchronously runs the provided callback/closure on the audio thread.
void RunOnAudioThread(const base::Closure& closure) { void RunOnAudioThread(base::OnceClosure closure) {
if (!audio_manager()->GetTaskRunner()->BelongsToCurrentThread()) { if (!audio_manager()->GetTaskRunner()->BelongsToCurrentThread()) {
base::WaitableEvent event( base::WaitableEvent event(
base::WaitableEvent::ResetPolicy::AUTOMATIC, base::WaitableEvent::ResetPolicy::AUTOMATIC,
...@@ -449,51 +449,45 @@ class AudioAndroidOutputTest : public testing::Test { ...@@ -449,51 +449,45 @@ class AudioAndroidOutputTest : public testing::Test {
audio_manager()->GetTaskRunner()->PostTask( audio_manager()->GetTaskRunner()->PostTask(
FROM_HERE, FROM_HERE,
base::BindOnce(&AudioAndroidOutputTest::RunOnAudioThreadImpl, base::BindOnce(&AudioAndroidOutputTest::RunOnAudioThreadImpl,
base::Unretained(this), closure, &event)); base::Unretained(this), std::move(closure), &event));
event.Wait(); event.Wait();
} else { } else {
closure.Run(); std::move(closure).Run();
} }
} }
void RunOnAudioThreadImpl(const base::Closure& closure, void RunOnAudioThreadImpl(base::OnceClosure closure,
base::WaitableEvent* event) { base::WaitableEvent* event) {
DCHECK(audio_manager()->GetTaskRunner()->BelongsToCurrentThread()); DCHECK(audio_manager()->GetTaskRunner()->BelongsToCurrentThread());
closure.Run(); std::move(closure).Run();
event->Signal(); event->Signal();
} }
void GetDefaultOutputStreamParametersOnAudioThread() { void GetDefaultOutputStreamParametersOnAudioThread() {
RunOnAudioThread( RunOnAudioThread(base::BindOnce(
base::Bind(&AudioAndroidOutputTest::GetDefaultOutputStreamParameters, &AudioAndroidOutputTest::GetDefaultOutputStreamParameters,
base::Unretained(this))); base::Unretained(this)));
} }
void MakeAudioOutputStreamOnAudioThread(const AudioParameters& params) { void MakeAudioOutputStreamOnAudioThread(const AudioParameters& params) {
RunOnAudioThread( RunOnAudioThread(base::BindOnce(&AudioAndroidOutputTest::MakeOutputStream,
base::Bind(&AudioAndroidOutputTest::MakeOutputStream, base::Unretained(this), params));
base::Unretained(this),
params));
} }
void OpenAndCloseAudioOutputStreamOnAudioThread() { void OpenAndCloseAudioOutputStreamOnAudioThread() {
RunOnAudioThread( RunOnAudioThread(base::BindOnce(&AudioAndroidOutputTest::OpenAndClose,
base::Bind(&AudioAndroidOutputTest::OpenAndClose, base::Unretained(this)));
base::Unretained(this)));
} }
void OpenAndStartAudioOutputStreamOnAudioThread( void OpenAndStartAudioOutputStreamOnAudioThread(
AudioOutputStream::AudioSourceCallback* source) { AudioOutputStream::AudioSourceCallback* source) {
RunOnAudioThread( RunOnAudioThread(base::BindOnce(&AudioAndroidOutputTest::OpenAndStart,
base::Bind(&AudioAndroidOutputTest::OpenAndStart, base::Unretained(this), source));
base::Unretained(this),
source));
} }
void StopAndCloseAudioOutputStreamOnAudioThread() { void StopAndCloseAudioOutputStreamOnAudioThread() {
RunOnAudioThread( RunOnAudioThread(base::BindOnce(&AudioAndroidOutputTest::StopAndClose,
base::Bind(&AudioAndroidOutputTest::StopAndClose, base::Unretained(this)));
base::Unretained(this)));
} }
double AverageTimeBetweenCallbacks(int num_callbacks) const { double AverageTimeBetweenCallbacks(int num_callbacks) const {
...@@ -613,36 +607,30 @@ class AudioAndroidInputTest : public AudioAndroidOutputTest, ...@@ -613,36 +607,30 @@ class AudioAndroidInputTest : public AudioAndroidOutputTest,
} }
void GetDefaultInputStreamParametersOnAudioThread() { void GetDefaultInputStreamParametersOnAudioThread() {
RunOnAudioThread( RunOnAudioThread(
base::Bind(&AudioAndroidInputTest::GetDefaultInputStreamParameters, base::BindOnce(&AudioAndroidInputTest::GetDefaultInputStreamParameters,
base::Unretained(this))); base::Unretained(this)));
} }
void MakeAudioInputStreamOnAudioThread(const AudioParameters& params) { void MakeAudioInputStreamOnAudioThread(const AudioParameters& params) {
RunOnAudioThread( RunOnAudioThread(base::BindOnce(&AudioAndroidInputTest::MakeInputStream,
base::Bind(&AudioAndroidInputTest::MakeInputStream, base::Unretained(this), params));
base::Unretained(this),
params));
} }
void OpenAndCloseAudioInputStreamOnAudioThread() { void OpenAndCloseAudioInputStreamOnAudioThread() {
RunOnAudioThread( RunOnAudioThread(base::BindOnce(&AudioAndroidInputTest::OpenAndClose,
base::Bind(&AudioAndroidInputTest::OpenAndClose, base::Unretained(this)));
base::Unretained(this)));
} }
void OpenAndStartAudioInputStreamOnAudioThread( void OpenAndStartAudioInputStreamOnAudioThread(
AudioInputStream::AudioInputCallback* sink) { AudioInputStream::AudioInputCallback* sink) {
RunOnAudioThread( RunOnAudioThread(base::BindOnce(&AudioAndroidInputTest::OpenAndStart,
base::Bind(&AudioAndroidInputTest::OpenAndStart, base::Unretained(this), sink));
base::Unretained(this),
sink));
} }
void StopAndCloseAudioInputStreamOnAudioThread() { void StopAndCloseAudioInputStreamOnAudioThread() {
RunOnAudioThread( RunOnAudioThread(base::BindOnce(&AudioAndroidInputTest::StopAndClose,
base::Bind(&AudioAndroidInputTest::StopAndClose, base::Unretained(this)));
base::Unretained(this)));
} }
void StartInputStreamCallbacks(const AudioParameters& params) { void StartInputStreamCallbacks(const AudioParameters& params) {
...@@ -745,7 +733,7 @@ TEST_F(AudioAndroidOutputTest, GetDefaultOutputStreamParameters) { ...@@ -745,7 +733,7 @@ TEST_F(AudioAndroidOutputTest, GetDefaultOutputStreamParameters) {
TEST_F(AudioAndroidInputTest, GetAudioInputDeviceDescriptions) { TEST_F(AudioAndroidInputTest, GetAudioInputDeviceDescriptions) {
ABORT_AUDIO_TEST_IF_NOT(audio_manager_device_info()->HasAudioInputDevices()); ABORT_AUDIO_TEST_IF_NOT(audio_manager_device_info()->HasAudioInputDevices());
AudioDeviceDescriptions devices; AudioDeviceDescriptions devices;
RunOnAudioThread(base::Bind( RunOnAudioThread(base::BindOnce(
&AudioDeviceInfoAccessorForTests::GetAudioInputDeviceDescriptions, &AudioDeviceInfoAccessorForTests::GetAudioInputDeviceDescriptions,
base::Unretained(audio_manager_device_info()), &devices)); base::Unretained(audio_manager_device_info()), &devices));
CheckDeviceDescriptions(devices); CheckDeviceDescriptions(devices);
...@@ -755,7 +743,7 @@ TEST_F(AudioAndroidInputTest, GetAudioInputDeviceDescriptions) { ...@@ -755,7 +743,7 @@ TEST_F(AudioAndroidInputTest, GetAudioInputDeviceDescriptions) {
TEST_F(AudioAndroidOutputTest, GetAudioOutputDeviceDescriptions) { TEST_F(AudioAndroidOutputTest, GetAudioOutputDeviceDescriptions) {
ABORT_AUDIO_TEST_IF_NOT(audio_manager_device_info()->HasAudioOutputDevices()); ABORT_AUDIO_TEST_IF_NOT(audio_manager_device_info()->HasAudioOutputDevices());
AudioDeviceDescriptions devices; AudioDeviceDescriptions devices;
RunOnAudioThread(base::Bind( RunOnAudioThread(base::BindOnce(
&AudioDeviceInfoAccessorForTests::GetAudioOutputDeviceDescriptions, &AudioDeviceInfoAccessorForTests::GetAudioOutputDeviceDescriptions,
base::Unretained(audio_manager_device_info()), &devices)); base::Unretained(audio_manager_device_info()), &devices));
CheckDeviceDescriptions(devices); CheckDeviceDescriptions(devices);
...@@ -765,9 +753,8 @@ TEST_F(AudioAndroidOutputTest, GetAudioOutputDeviceDescriptions) { ...@@ -765,9 +753,8 @@ TEST_F(AudioAndroidOutputTest, GetAudioOutputDeviceDescriptions) {
TEST_P(AudioAndroidInputTest, CreateAndCloseInputStream) { TEST_P(AudioAndroidInputTest, CreateAndCloseInputStream) {
AudioParameters params = GetInputStreamParameters(); AudioParameters params = GetInputStreamParameters();
MakeAudioInputStreamOnAudioThread(params); MakeAudioInputStreamOnAudioThread(params);
RunOnAudioThread( RunOnAudioThread(base::BindOnce(&AudioInputStream::Close,
base::Bind(&AudioInputStream::Close, base::Unretained(audio_input_stream_)));
base::Unretained(audio_input_stream_)));
} }
// Ensure that a default output stream can be created and closed. // Ensure that a default output stream can be created and closed.
...@@ -777,9 +764,8 @@ TEST_P(AudioAndroidInputTest, CreateAndCloseInputStream) { ...@@ -777,9 +764,8 @@ TEST_P(AudioAndroidInputTest, CreateAndCloseInputStream) {
TEST_F(AudioAndroidOutputTest, CreateAndCloseOutputStream) { TEST_F(AudioAndroidOutputTest, CreateAndCloseOutputStream) {
GetDefaultOutputStreamParametersOnAudioThread(); GetDefaultOutputStreamParametersOnAudioThread();
MakeAudioOutputStreamOnAudioThread(audio_output_parameters()); MakeAudioOutputStreamOnAudioThread(audio_output_parameters());
RunOnAudioThread( RunOnAudioThread(base::BindOnce(&AudioOutputStream::Close,
base::Bind(&AudioOutputStream::Close, base::Unretained(audio_output_stream_)));
base::Unretained(audio_output_stream_)));
} }
// Ensure that a default input stream can be opened and closed. // Ensure that a default input stream can be opened and closed.
......
...@@ -234,7 +234,7 @@ void AUHALStream::Start(AudioSourceCallback* callback) { ...@@ -234,7 +234,7 @@ void AUHALStream::Start(AudioSourceCallback* callback) {
// Use a cancellable closure so that if Stop() is called before Start() // Use a cancellable closure so that if Stop() is called before Start()
// actually runs, we can cancel the pending start. // actually runs, we can cancel the pending start.
deferred_start_cb_.Reset( deferred_start_cb_.Reset(
base::Bind(&AUHALStream::Start, base::Unretained(this), callback)); base::BindOnce(&AUHALStream::Start, base::Unretained(this), callback));
manager_->GetTaskRunner()->PostDelayedTask( manager_->GetTaskRunner()->PostDelayedTask(
FROM_HERE, deferred_start_cb_.callback(), FROM_HERE, deferred_start_cb_.callback(),
base::TimeDelta::FromSeconds( base::TimeDelta::FromSeconds(
...@@ -308,9 +308,10 @@ OSStatus AUHALStream::Render(AudioUnitRenderActionFlags* flags, ...@@ -308,9 +308,10 @@ OSStatus AUHALStream::Render(AudioUnitRenderActionFlags* flags,
number_of_frames_requested_ = number_of_frames; number_of_frames_requested_ = number_of_frames;
DVLOG(1) << "Audio frame size changed from " << number_of_frames_ DVLOG(1) << "Audio frame size changed from " << number_of_frames_
<< " to " << number_of_frames << " adding FIFO to compensate."; << " to " << number_of_frames << " adding FIFO to compensate.";
audio_fifo_.reset(new AudioPullFifo( audio_fifo_.reset(
params_.channels(), number_of_frames_, new AudioPullFifo(params_.channels(), number_of_frames_,
base::Bind(&AUHALStream::ProvideInput, base::Unretained(this)))); base::BindRepeating(&AUHALStream::ProvideInput,
base::Unretained(this))));
} }
} }
......
...@@ -198,7 +198,7 @@ class AUHALStream : public AudioOutputStream { ...@@ -198,7 +198,7 @@ class AUHALStream : public AudioOutputStream {
int glitches_detected_; int glitches_detected_;
// Used to defer Start() to workaround http://crbug.com/160920. // Used to defer Start() to workaround http://crbug.com/160920.
base::CancelableClosure deferred_start_cb_; base::CancelableOnceClosure deferred_start_cb_;
// Callback to send statistics info. // Callback to send statistics info.
AudioManager::LogCallback log_callback_; AudioManager::LogCallback log_callback_;
......
...@@ -89,8 +89,8 @@ void PCMQueueInAudioInputStream::Start(AudioInputCallback* callback) { ...@@ -89,8 +89,8 @@ void PCMQueueInAudioInputStream::Start(AudioInputCallback* callback) {
if (manager_->ShouldDeferStreamStart()) { if (manager_->ShouldDeferStreamStart()) {
// Use a cancellable closure so that if Stop() is called before Start() // Use a cancellable closure so that if Stop() is called before Start()
// actually runs, we can cancel the pending start. // actually runs, we can cancel the pending start.
deferred_start_cb_.Reset(base::Bind( deferred_start_cb_.Reset(base::BindOnce(&PCMQueueInAudioInputStream::Start,
&PCMQueueInAudioInputStream::Start, base::Unretained(this), callback)); base::Unretained(this), callback));
manager_->GetTaskRunner()->PostDelayedTask( manager_->GetTaskRunner()->PostDelayedTask(
FROM_HERE, FROM_HERE,
deferred_start_cb_.callback(), deferred_start_cb_.callback(),
......
...@@ -99,7 +99,7 @@ class PCMQueueInAudioInputStream : public AudioInputStream { ...@@ -99,7 +99,7 @@ class PCMQueueInAudioInputStream : public AudioInputStream {
// Used to determine if we need to slow down |callback_| calls. // Used to determine if we need to slow down |callback_| calls.
base::TimeTicks last_fill_; base::TimeTicks last_fill_;
// Used to defer Start() to workaround http://crbug.com/160920. // Used to defer Start() to workaround http://crbug.com/160920.
base::CancelableClosure deferred_start_cb_; base::CancelableOnceClosure deferred_start_cb_;
// Is set to true on the internal AUHAL IO thread in the first input callback // Is set to true on the internal AUHAL IO thread in the first input callback
// after Start() has bee called. // after Start() has bee called.
......
...@@ -681,8 +681,8 @@ void AUAudioInputStream::Start(AudioInputCallback* callback) { ...@@ -681,8 +681,8 @@ void AUAudioInputStream::Start(AudioInputCallback* callback) {
LOG(WARNING) << "Start of input audio is deferred"; LOG(WARNING) << "Start of input audio is deferred";
// Use a cancellable closure so that if Stop() is called before Start() // Use a cancellable closure so that if Stop() is called before Start()
// actually runs, we can cancel the pending start. // actually runs, we can cancel the pending start.
deferred_start_cb_.Reset(base::Bind(&AUAudioInputStream::Start, deferred_start_cb_.Reset(base::BindOnce(&AUAudioInputStream::Start,
base::Unretained(this), callback)); base::Unretained(this), callback));
manager_->GetTaskRunner()->PostDelayedTask( manager_->GetTaskRunner()->PostDelayedTask(
FROM_HERE, deferred_start_cb_.callback(), FROM_HERE, deferred_start_cb_.callback(),
base::TimeDelta::FromSeconds( base::TimeDelta::FromSeconds(
......
...@@ -213,7 +213,7 @@ class MEDIA_EXPORT AUAudioInputStream ...@@ -213,7 +213,7 @@ class MEDIA_EXPORT AUAudioInputStream
media::AudioBlockFifo fifo_; media::AudioBlockFifo fifo_;
// Used to defer Start() to workaround http://crbug.com/160920. // Used to defer Start() to workaround http://crbug.com/160920.
base::CancelableClosure deferred_start_cb_; base::CancelableOnceClosure deferred_start_cb_;
// Contains time of last successful call to AudioUnitRender(). // Contains time of last successful call to AudioUnitRender().
// Initialized first time in Start() and then updated for each valid // Initialized first time in Start() and then updated for each valid
......
...@@ -715,7 +715,7 @@ AudioOutputStream* AudioManagerMac::MakeLowLatencyOutputStream( ...@@ -715,7 +715,7 @@ AudioOutputStream* AudioManagerMac::MakeLowLatencyOutputStream(
// fire the callbacks during stream creation, leading to re-entrancy issues // fire the callbacks during stream creation, leading to re-entrancy issues
// otherwise. See http://crbug.com/349604 // otherwise. See http://crbug.com/349604
output_device_listener_.reset( output_device_listener_.reset(
new AudioDeviceListenerMac(BindToCurrentLoop(base::Bind( new AudioDeviceListenerMac(BindToCurrentLoop(base::BindRepeating(
&AudioManagerMac::HandleDeviceChanges, base::Unretained(this))))); &AudioManagerMac::HandleDeviceChanges, base::Unretained(this)))));
device_listener_first_init = true; device_listener_first_init = true;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment