Commit 48b7ce7e authored by Thomas Guilbert's avatar Thomas Guilbert Committed by Chromium LUCI CQ

Convert base::Callback in media/cast

Issue crbug.com/454029 was closed as won't fix, and it seems like the
VideoEncodeAccelerator callbacks won't be removed for now.

This CL converts them into their proper {Once|Repeating} callback forms.

These are the last callbacks that need to be converted in media/cast,
and media/ as a whole (although there are still a few uses of
base::Bind in media/).

Bug: 1007801, 714018
Change-Id: Ia133555172d91cdce4a42f48127424d910fbe268
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2566355Reviewed-by: default avatarDavid Bienvenu <davidbienvenu@chromium.org>
Reviewed-by: default avatarmark a. foltz <mfoltz@chromium.org>
Commit-Queue: Thomas Guilbert <tguilbert@chromium.org>
Cr-Commit-Position: refs/heads/master@{#832454}
parent d978cff2
...@@ -46,13 +46,13 @@ class COMPONENT_EXPORT(MIRRORING_SERVICE) RtpStreamClient { ...@@ -46,13 +46,13 @@ class COMPONENT_EXPORT(MIRRORING_SERVICE) RtpStreamClient {
// The following are for hardware video encoding. // The following are for hardware video encoding.
virtual void CreateVideoEncodeAccelerator( virtual void CreateVideoEncodeAccelerator(
const media::cast::ReceiveVideoEncodeAcceleratorCallback& callback) = 0; media::cast::ReceiveVideoEncodeAcceleratorCallback callback) = 0;
// TODO(crbug.com/1015472): Remove this interface. Instead, create the shared // TODO(crbug.com/1015472): Remove this interface. Instead, create the shared
// memory in external video encoder through mojo::ScopedSharedBufferHandle. // memory in external video encoder through mojo::ScopedSharedBufferHandle.
virtual void CreateVideoEncodeMemory( virtual void CreateVideoEncodeMemory(
size_t size, size_t size,
const media::cast::ReceiveVideoEncodeMemoryCallback& callback) = 0; media::cast::ReceiveVideoEncodeMemoryCallback callback) = 0;
}; };
// Receives video frames and submits the data to media::cast::VideoSender. It // Receives video frames and submits the data to media::cast::VideoSender. It
......
...@@ -38,11 +38,10 @@ class DummyClient final : public RtpStreamClient { ...@@ -38,11 +38,10 @@ class DummyClient final : public RtpStreamClient {
void OnError(const std::string& message) override {} void OnError(const std::string& message) override {}
void RequestRefreshFrame() override {} void RequestRefreshFrame() override {}
void CreateVideoEncodeAccelerator( void CreateVideoEncodeAccelerator(
const media::cast::ReceiveVideoEncodeAcceleratorCallback& callback) media::cast::ReceiveVideoEncodeAcceleratorCallback callback) override {}
override {}
void CreateVideoEncodeMemory( void CreateVideoEncodeMemory(
size_t size, size_t size,
const media::cast::ReceiveVideoEncodeMemoryCallback& callback) override {} media::cast::ReceiveVideoEncodeMemoryCallback callback) override {}
base::WeakPtr<RtpStreamClient> GetWeakPtr() { base::WeakPtr<RtpStreamClient> GetWeakPtr() {
return weak_factory_.GetWeakPtr(); return weak_factory_.GetWeakPtr();
......
...@@ -529,7 +529,7 @@ Session::GetSupportedVeaProfiles() { ...@@ -529,7 +529,7 @@ Session::GetSupportedVeaProfiles() {
} }
void Session::CreateVideoEncodeAccelerator( void Session::CreateVideoEncodeAccelerator(
const media::cast::ReceiveVideoEncodeAcceleratorCallback& callback) { media::cast::ReceiveVideoEncodeAcceleratorCallback callback) {
if (callback.is_null()) if (callback.is_null())
return; return;
std::unique_ptr<media::VideoEncodeAccelerator> mojo_vea; std::unique_ptr<media::VideoEncodeAccelerator> mojo_vea;
...@@ -545,12 +545,13 @@ void Session::CreateVideoEncodeAccelerator( ...@@ -545,12 +545,13 @@ void Session::CreateVideoEncodeAccelerator(
mojo_vea.reset(new media::MojoVideoEncodeAccelerator(std::move(vea), mojo_vea.reset(new media::MojoVideoEncodeAccelerator(std::move(vea),
supported_profiles_)); supported_profiles_));
} }
callback.Run(base::ThreadTaskRunnerHandle::Get(), std::move(mojo_vea)); std::move(callback).Run(base::ThreadTaskRunnerHandle::Get(),
std::move(mojo_vea));
} }
void Session::CreateVideoEncodeMemory( void Session::CreateVideoEncodeMemory(
size_t size, size_t size,
const media::cast::ReceiveVideoEncodeMemoryCallback& callback) { media::cast::ReceiveVideoEncodeMemoryCallback callback) {
DVLOG(1) << __func__; DVLOG(1) << __func__;
base::UnsafeSharedMemoryRegion buf = base::UnsafeSharedMemoryRegion buf =
...@@ -559,7 +560,7 @@ void Session::CreateVideoEncodeMemory( ...@@ -559,7 +560,7 @@ void Session::CreateVideoEncodeMemory(
if (!buf.IsValid()) if (!buf.IsValid())
LOG(WARNING) << "Browser failed to allocate shared memory."; LOG(WARNING) << "Browser failed to allocate shared memory.";
callback.Run(std::move(buf)); std::move(callback).Run(std::move(buf));
} }
void Session::OnTransportStatusChanged(CastTransportStatus status) { void Session::OnTransportStatusChanged(CastTransportStatus status) {
......
...@@ -75,11 +75,10 @@ class COMPONENT_EXPORT(MIRRORING_SERVICE) Session final ...@@ -75,11 +75,10 @@ class COMPONENT_EXPORT(MIRRORING_SERVICE) Session final
void OnError(const std::string& message) override; void OnError(const std::string& message) override;
void RequestRefreshFrame() override; void RequestRefreshFrame() override;
void CreateVideoEncodeAccelerator( void CreateVideoEncodeAccelerator(
const media::cast::ReceiveVideoEncodeAcceleratorCallback& callback) media::cast::ReceiveVideoEncodeAcceleratorCallback callback) override;
override;
void CreateVideoEncodeMemory( void CreateVideoEncodeMemory(
size_t size, size_t size,
const media::cast::ReceiveVideoEncodeMemoryCallback& callback) override; media::cast::ReceiveVideoEncodeMemoryCallback callback) override;
// Callbacks by media::cast::CastTransport::Client. // Callbacks by media::cast::CastTransport::Client.
void OnTransportStatusChanged(media::cast::CastTransportStatus status); void OnTransportStatusChanged(media::cast::CastTransportStatus status);
......
...@@ -246,15 +246,15 @@ struct FrameReceiverConfig { ...@@ -246,15 +246,15 @@ struct FrameReceiverConfig {
}; };
// TODO(miu): Remove the CreateVEA callbacks. http://crbug.com/454029 // TODO(miu): Remove the CreateVEA callbacks. http://crbug.com/454029
typedef base::Callback<void(scoped_refptr<base::SingleThreadTaskRunner>, typedef base::OnceCallback<void(scoped_refptr<base::SingleThreadTaskRunner>,
std::unique_ptr<media::VideoEncodeAccelerator>)> std::unique_ptr<media::VideoEncodeAccelerator>)>
ReceiveVideoEncodeAcceleratorCallback; ReceiveVideoEncodeAcceleratorCallback;
typedef base::Callback<void(const ReceiveVideoEncodeAcceleratorCallback&)> typedef base::RepeatingCallback<void(ReceiveVideoEncodeAcceleratorCallback)>
CreateVideoEncodeAcceleratorCallback; CreateVideoEncodeAcceleratorCallback;
typedef base::Callback<void(base::UnsafeSharedMemoryRegion)> typedef base::OnceCallback<void(base::UnsafeSharedMemoryRegion)>
ReceiveVideoEncodeMemoryCallback; ReceiveVideoEncodeMemoryCallback;
typedef base::Callback<void(size_t size, typedef base::RepeatingCallback<void(size_t size,
const ReceiveVideoEncodeMemoryCallback&)> ReceiveVideoEncodeMemoryCallback)>
CreateVideoEncodeMemoryCallback; CreateVideoEncodeMemoryCallback;
} // namespace cast } // namespace cast
......
...@@ -182,7 +182,7 @@ class ExternalVideoEncoder::VEAClientImpl final ...@@ -182,7 +182,7 @@ class ExternalVideoEncoder::VEAClientImpl final
create_video_encode_memory_cb_.Run( create_video_encode_memory_cb_.Run(
media::VideoFrame::AllocationSize(media::PIXEL_FORMAT_I420, media::VideoFrame::AllocationSize(media::PIXEL_FORMAT_I420,
frame_coded_size_), frame_coded_size_),
base::Bind(&VEAClientImpl::OnCreateInputSharedMemory, this)); base::BindOnce(&VEAClientImpl::OnCreateInputSharedMemory, this));
} }
AbortLatestEncodeAttemptDueToErrors(); AbortLatestEncodeAttemptDueToErrors();
return; return;
...@@ -657,9 +657,9 @@ ExternalVideoEncoder::ExternalVideoEncoder( ...@@ -657,9 +657,9 @@ ExternalVideoEncoder::ExternalVideoEncoder(
DCHECK_GT(bit_rate_, 0); DCHECK_GT(bit_rate_, 0);
create_vea_cb.Run( create_vea_cb.Run(
base::Bind(&ExternalVideoEncoder::OnCreateVideoEncodeAccelerator, base::BindOnce(&ExternalVideoEncoder::OnCreateVideoEncodeAccelerator,
weak_factory_.GetWeakPtr(), video_config, first_frame_id, weak_factory_.GetWeakPtr(), video_config, first_frame_id,
std::move(status_change_cb))); std::move(status_change_cb)));
} }
ExternalVideoEncoder::~ExternalVideoEncoder() { ExternalVideoEncoder::~ExternalVideoEncoder() {
......
...@@ -38,7 +38,7 @@ void FakeVideoEncodeAcceleratorFactory::SetAutoRespond(bool auto_respond) { ...@@ -38,7 +38,7 @@ void FakeVideoEncodeAcceleratorFactory::SetAutoRespond(bool auto_respond) {
} }
void FakeVideoEncodeAcceleratorFactory::CreateVideoEncodeAccelerator( void FakeVideoEncodeAcceleratorFactory::CreateVideoEncodeAccelerator(
const ReceiveVideoEncodeAcceleratorCallback& callback) { ReceiveVideoEncodeAcceleratorCallback callback) {
DCHECK(!callback.is_null()); DCHECK(!callback.is_null());
DCHECK(!next_response_vea_); DCHECK(!next_response_vea_);
...@@ -46,18 +46,19 @@ void FakeVideoEncodeAcceleratorFactory::CreateVideoEncodeAccelerator( ...@@ -46,18 +46,19 @@ void FakeVideoEncodeAcceleratorFactory::CreateVideoEncodeAccelerator(
new FakeVideoEncodeAccelerator(task_runner_); new FakeVideoEncodeAccelerator(task_runner_);
vea->SetWillInitializationSucceed(will_init_succeed_); vea->SetWillInitializationSucceed(will_init_succeed_);
next_response_vea_.reset(vea); next_response_vea_.reset(vea);
vea_response_callback_ = callback; vea_response_callback_ = std::move(callback);
if (auto_respond_) if (auto_respond_)
RespondWithVideoEncodeAccelerator(); RespondWithVideoEncodeAccelerator();
} }
void FakeVideoEncodeAcceleratorFactory::CreateSharedMemory( void FakeVideoEncodeAcceleratorFactory::CreateSharedMemory(
size_t size, const ReceiveVideoEncodeMemoryCallback& callback) { size_t size,
ReceiveVideoEncodeMemoryCallback callback) {
DCHECK(!callback.is_null()); DCHECK(!callback.is_null());
DCHECK(!next_response_shm_.IsValid()); DCHECK(!next_response_shm_.IsValid());
next_response_shm_ = base::UnsafeSharedMemoryRegion::Create(size); next_response_shm_ = base::UnsafeSharedMemoryRegion::Create(size);
shm_response_callback_ = callback; shm_response_callback_ = std::move(callback);
if (auto_respond_) if (auto_respond_)
RespondWithSharedMemory(); RespondWithSharedMemory();
} }
......
...@@ -45,13 +45,12 @@ class FakeVideoEncodeAcceleratorFactory { ...@@ -45,13 +45,12 @@ class FakeVideoEncodeAcceleratorFactory {
// Creates a media::FakeVideoEncodeAccelerator. If in auto-respond mode, // Creates a media::FakeVideoEncodeAccelerator. If in auto-respond mode,
// |callback| is run synchronously (i.e., before this method returns). // |callback| is run synchronously (i.e., before this method returns).
void CreateVideoEncodeAccelerator( void CreateVideoEncodeAccelerator(
const ReceiveVideoEncodeAcceleratorCallback& callback); ReceiveVideoEncodeAcceleratorCallback callback);
// Creates shared memory of the requested |size|. If in auto-respond mode, // Creates shared memory of the requested |size|. If in auto-respond mode,
// |callback| is run synchronously (i.e., before this method returns). // |callback| is run synchronously (i.e., before this method returns).
void CreateSharedMemory( void CreateSharedMemory(size_t size,
size_t size, ReceiveVideoEncodeMemoryCallback callback);
const ReceiveVideoEncodeMemoryCallback& callback);
// Runs the |callback| provided to the last call to // Runs the |callback| provided to the last call to
// CreateVideoEncodeAccelerator() with the new VideoEncodeAccelerator // CreateVideoEncodeAccelerator() with the new VideoEncodeAccelerator
......
...@@ -74,11 +74,12 @@ class VideoEncoderTest ...@@ -74,11 +74,12 @@ class VideoEncoderTest
cast_environment_, video_config_, cast_environment_, video_config_,
base::BindRepeating(&VideoEncoderTest::OnOperationalStatusChange, base::BindRepeating(&VideoEncoderTest::OnOperationalStatusChange,
base::Unretained(this)), base::Unretained(this)),
base::Bind( base::BindRepeating(
&FakeVideoEncodeAcceleratorFactory::CreateVideoEncodeAccelerator, &FakeVideoEncodeAcceleratorFactory::CreateVideoEncodeAccelerator,
base::Unretained(vea_factory_.get())), base::Unretained(vea_factory_.get())),
base::Bind(&FakeVideoEncodeAcceleratorFactory::CreateSharedMemory, base::BindRepeating(
base::Unretained(vea_factory_.get()))); &FakeVideoEncodeAcceleratorFactory::CreateSharedMemory,
base::Unretained(vea_factory_.get())));
RunTasksAndAdvanceClock(); RunTasksAndAdvanceClock();
if (is_encoder_present()) if (is_encoder_present())
ASSERT_EQ(STATUS_INITIALIZED, operational_status_); ASSERT_EQ(STATUS_INITIALIZED, operational_status_);
......
...@@ -193,11 +193,12 @@ class VideoSenderTest : public ::testing::Test { ...@@ -193,11 +193,12 @@ class VideoSenderTest : public ::testing::Test {
video_sender_.reset(new PeerVideoSender( video_sender_.reset(new PeerVideoSender(
cast_environment_, video_config, cast_environment_, video_config,
base::BindRepeating(&SaveOperationalStatus, &operational_status_), base::BindRepeating(&SaveOperationalStatus, &operational_status_),
base::Bind( base::BindRepeating(
&FakeVideoEncodeAcceleratorFactory::CreateVideoEncodeAccelerator, &FakeVideoEncodeAcceleratorFactory::CreateVideoEncodeAccelerator,
base::Unretained(&vea_factory_)), base::Unretained(&vea_factory_)),
base::Bind(&FakeVideoEncodeAcceleratorFactory::CreateSharedMemory, base::BindRepeating(
base::Unretained(&vea_factory_)), &FakeVideoEncodeAcceleratorFactory::CreateSharedMemory,
base::Unretained(&vea_factory_)),
transport_sender_.get())); transport_sender_.get()));
} else { } else {
video_sender_.reset(new PeerVideoSender( video_sender_.reset(new PeerVideoSender(
......
...@@ -14,13 +14,13 @@ ...@@ -14,13 +14,13 @@
namespace { namespace {
void CreateVideoEncodeAccelerator( void CreateVideoEncodeAccelerator(
const media::cast::ReceiveVideoEncodeAcceleratorCallback& callback) { media::cast::ReceiveVideoEncodeAcceleratorCallback callback) {
// Do nothing. // Do nothing.
} }
void CreateVideoEncodeMemory( void CreateVideoEncodeMemory(
size_t size, size_t size,
const media::cast::ReceiveVideoEncodeMemoryCallback& callback) { media::cast::ReceiveVideoEncodeMemoryCallback callback) {
// Do nothing. // Do nothing.
} }
...@@ -95,11 +95,11 @@ FrameSenderConfig GetDefaultVideoSenderConfig() { ...@@ -95,11 +95,11 @@ FrameSenderConfig GetDefaultVideoSenderConfig() {
CreateVideoEncodeAcceleratorCallback CreateVideoEncodeAcceleratorCallback
CreateDefaultVideoEncodeAcceleratorCallback() { CreateDefaultVideoEncodeAcceleratorCallback() {
return base::Bind(&CreateVideoEncodeAccelerator); return base::BindRepeating(&CreateVideoEncodeAccelerator);
} }
CreateVideoEncodeMemoryCallback CreateDefaultVideoEncodeMemoryCallback() { CreateVideoEncodeMemoryCallback CreateDefaultVideoEncodeMemoryCallback() {
return base::Bind(&CreateVideoEncodeMemory); return base::BindRepeating(&CreateVideoEncodeMemory);
} }
} // namespace cast } // namespace cast
......
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