Commit 902cdbdf authored by Raymond Toy's avatar Raymond Toy Committed by Commit Bot

[Code Health] Convert AfterCloseCallback to base::OnceCallback

This also allows us to replace base::Bind with base::BindOnce.

Bug: 1007798
Change-Id: Iab43f746e3c4507d9b9b7b82e6f58cedcd08faa9
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1904847Reviewed-by: default avatarOlga Sharonova <olka@chromium.org>
Commit-Queue: Raymond Toy <rtoy@chromium.org>
Cr-Commit-Position: refs/heads/master@{#713863}
parent e4b10c88
...@@ -17,9 +17,9 @@ namespace media { ...@@ -17,9 +17,9 @@ namespace media {
VirtualAudioInputStream::VirtualAudioInputStream( VirtualAudioInputStream::VirtualAudioInputStream(
const AudioParameters& params, const AudioParameters& params,
const scoped_refptr<base::SingleThreadTaskRunner>& worker_task_runner, const scoped_refptr<base::SingleThreadTaskRunner>& worker_task_runner,
const AfterCloseCallback& after_close_cb) AfterCloseCallback after_close_cb)
: worker_task_runner_(worker_task_runner), : worker_task_runner_(worker_task_runner),
after_close_cb_(after_close_cb), after_close_cb_(std::move(after_close_cb)),
callback_(NULL), callback_(NULL),
params_(params), params_(params),
mixer_(params_, params_, false), mixer_(params_, params_, false),
...@@ -123,9 +123,7 @@ void VirtualAudioInputStream::Close() { ...@@ -123,9 +123,7 @@ void VirtualAudioInputStream::Close() {
// here. The callback is moved to a stack-local first since |this| could be // here. The callback is moved to a stack-local first since |this| could be
// destroyed during Run(). // destroyed during Run().
if (after_close_cb_) { if (after_close_cb_) {
const AfterCloseCallback cb = after_close_cb_; std::move(after_close_cb_).Run(this);
after_close_cb_.Reset();
cb.Run(this);
} }
} }
......
...@@ -34,7 +34,7 @@ class LoopbackAudioConverter; ...@@ -34,7 +34,7 @@ class LoopbackAudioConverter;
class MEDIA_EXPORT VirtualAudioInputStream : public AudioInputStream { class MEDIA_EXPORT VirtualAudioInputStream : public AudioInputStream {
public: public:
// Callback invoked just after VirtualAudioInputStream is closed. // Callback invoked just after VirtualAudioInputStream is closed.
typedef base::Callback<void(VirtualAudioInputStream* vais)> typedef base::OnceCallback<void(VirtualAudioInputStream* vais)>
AfterCloseCallback; AfterCloseCallback;
// Construct a target for audio loopback which mixes multiple data streams // Construct a target for audio loopback which mixes multiple data streams
...@@ -44,7 +44,7 @@ class MEDIA_EXPORT VirtualAudioInputStream : public AudioInputStream { ...@@ -44,7 +44,7 @@ class MEDIA_EXPORT VirtualAudioInputStream : public AudioInputStream {
VirtualAudioInputStream( VirtualAudioInputStream(
const AudioParameters& params, const AudioParameters& params,
const scoped_refptr<base::SingleThreadTaskRunner>& worker_task_runner, const scoped_refptr<base::SingleThreadTaskRunner>& worker_task_runner,
const AfterCloseCallback& after_close_cb); AfterCloseCallback after_close_cb);
~VirtualAudioInputStream() override; ~VirtualAudioInputStream() override;
......
...@@ -14,10 +14,14 @@ ...@@ -14,10 +14,14 @@
namespace media { namespace media {
VirtualAudioOutputStream::VirtualAudioOutputStream( VirtualAudioOutputStream::VirtualAudioOutputStream(
const AudioParameters& params, VirtualAudioInputStream* target, const AudioParameters& params,
const AfterCloseCallback& after_close_cb) VirtualAudioInputStream* target,
: params_(params), target_input_stream_(target), AfterCloseCallback after_close_cb)
after_close_cb_(after_close_cb), callback_(NULL), volume_(1.0f) { : params_(params),
target_input_stream_(target),
after_close_cb_(std::move(after_close_cb)),
callback_(nullptr),
volume_(1.0f) {
DCHECK(params_.IsValid()); DCHECK(params_.IsValid());
DCHECK(target); DCHECK(target);
...@@ -59,9 +63,7 @@ void VirtualAudioOutputStream::Close() { ...@@ -59,9 +63,7 @@ void VirtualAudioOutputStream::Close() {
// here. The callback is moved to a stack-local first since |this| could be // here. The callback is moved to a stack-local first since |this| could be
// destroyed during Run(). // destroyed during Run().
if (after_close_cb_) { if (after_close_cb_) {
const AfterCloseCallback cb = after_close_cb_; std::move(after_close_cb_).Run(this);
after_close_cb_.Reset();
cb.Run(this);
} }
} }
......
...@@ -26,14 +26,14 @@ class MEDIA_EXPORT VirtualAudioOutputStream ...@@ -26,14 +26,14 @@ class MEDIA_EXPORT VirtualAudioOutputStream
public AudioConverter::InputCallback { public AudioConverter::InputCallback {
public: public:
// Callback invoked just after VirtualAudioOutputStream is closed. // Callback invoked just after VirtualAudioOutputStream is closed.
typedef base::Callback<void(VirtualAudioOutputStream* vaos)> typedef base::OnceCallback<void(VirtualAudioOutputStream* vaos)>
AfterCloseCallback; AfterCloseCallback;
// Construct an audio loopback pathway to the given |target| (not owned). // Construct an audio loopback pathway to the given |target| (not owned).
// |target| must outlive this instance. // |target| must outlive this instance.
VirtualAudioOutputStream(const AudioParameters& params, VirtualAudioOutputStream(const AudioParameters& params,
VirtualAudioInputStream* target, VirtualAudioInputStream* target,
const AfterCloseCallback& after_close_cb); AfterCloseCallback after_close_cb);
~VirtualAudioOutputStream() override; ~VirtualAudioOutputStream() override;
......
...@@ -34,7 +34,7 @@ class MockVirtualAudioInputStream : public VirtualAudioInputStream { ...@@ -34,7 +34,7 @@ class MockVirtualAudioInputStream : public VirtualAudioInputStream {
: VirtualAudioInputStream( : VirtualAudioInputStream(
kParams, kParams,
worker_task_runner, worker_task_runner,
base::Bind(&base::DeletePointer<VirtualAudioInputStream>)) {} base::BindOnce(&base::DeletePointer<VirtualAudioInputStream>)) {}
~MockVirtualAudioInputStream() override = default; ~MockVirtualAudioInputStream() override = default;
MOCK_METHOD2(AddInputProvider, MOCK_METHOD2(AddInputProvider,
...@@ -92,9 +92,8 @@ TEST_F(VirtualAudioOutputStreamTest, StartStopStartStop) { ...@@ -92,9 +92,8 @@ TEST_F(VirtualAudioOutputStreamTest, StartStopStartStop) {
base::Unretained(input_stream))); base::Unretained(input_stream)));
VirtualAudioOutputStream* const output_stream = new VirtualAudioOutputStream( VirtualAudioOutputStream* const output_stream = new VirtualAudioOutputStream(
kParams, kParams, input_stream,
input_stream, base::BindOnce(&base::DeletePointer<VirtualAudioOutputStream>));
base::Bind(&base::DeletePointer<VirtualAudioOutputStream>));
EXPECT_CALL(*input_stream, AddInputProvider(output_stream, _)).Times(kCycles); EXPECT_CALL(*input_stream, AddInputProvider(output_stream, _)).Times(kCycles);
EXPECT_CALL(*input_stream, RemoveInputProvider(output_stream, _)) EXPECT_CALL(*input_stream, RemoveInputProvider(output_stream, _))
......
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