summaryrefslogtreecommitdiff
path: root/chromium/components/mirroring
diff options
context:
space:
mode:
authorAllan Sandfeld Jensen <allan.jensen@qt.io>2020-03-11 11:32:04 +0100
committerAllan Sandfeld Jensen <allan.jensen@qt.io>2020-03-18 13:40:17 +0000
commit31ccca0778db85c159634478b4ec7997f6704860 (patch)
tree3d33fc3afd9d5ec95541e1bbe074a9cf8da12a0e /chromium/components/mirroring
parent248b70b82a40964d5594eb04feca0fa36716185d (diff)
downloadqtwebengine-chromium-31ccca0778db85c159634478b4ec7997f6704860.tar.gz
BASELINE: Update Chromium to 80.0.3987.136
Change-Id: I98e1649aafae85ba3a83e67af00bb27ef301db7b Reviewed-by: Jüri Valdmann <juri.valdmann@qt.io>
Diffstat (limited to 'chromium/components/mirroring')
-rw-r--r--chromium/components/mirroring/OWNERS1
-rw-r--r--chromium/components/mirroring/browser/cast_remoting_sender.cc28
-rw-r--r--chromium/components/mirroring/browser/cast_remoting_sender.h29
-rw-r--r--chromium/components/mirroring/browser/cast_remoting_sender_unittest.cc5
-rw-r--r--chromium/components/mirroring/mojom/mirroring_service_host.mojom4
-rw-r--r--chromium/components/mirroring/mojom/resource_provider.mojom4
-rw-r--r--chromium/components/mirroring/service/captured_audio_input.cc16
-rw-r--r--chromium/components/mirroring/service/captured_audio_input.h14
-rw-r--r--chromium/components/mirroring/service/captured_audio_input_unittest.cc15
-rw-r--r--chromium/components/mirroring/service/media_remoter.cc3
-rw-r--r--chromium/components/mirroring/service/media_remoter.h1
-rw-r--r--chromium/components/mirroring/service/media_remoter_unittest.cc13
-rw-r--r--chromium/components/mirroring/service/mirror_settings.cc2
-rw-r--r--chromium/components/mirroring/service/mirror_settings.h7
-rw-r--r--chromium/components/mirroring/service/remoting_sender.cc12
-rw-r--r--chromium/components/mirroring/service/remoting_sender.h12
-rw-r--r--chromium/components/mirroring/service/remoting_sender_unittest.cc5
-rw-r--r--chromium/components/mirroring/service/rtp_stream.h4
-rw-r--r--chromium/components/mirroring/service/session.cc37
-rw-r--r--chromium/components/mirroring/service/session.h2
-rw-r--r--chromium/components/mirroring/service/session_monitor.cc6
-rw-r--r--chromium/components/mirroring/service/session_monitor.h13
-rw-r--r--chromium/components/mirroring/service/session_monitor_unittest.cc27
-rw-r--r--chromium/components/mirroring/service/session_unittest.cc2
-rw-r--r--chromium/components/mirroring/service/udp_socket_client.h4
-rw-r--r--chromium/components/mirroring/service/video_capture_client.cc4
-rw-r--r--chromium/components/mirroring/service/video_capture_client.h8
-rw-r--r--chromium/components/mirroring/service/video_capture_client_unittest.cc2
28 files changed, 146 insertions, 134 deletions
diff --git a/chromium/components/mirroring/OWNERS b/chromium/components/mirroring/OWNERS
index b44d282f535..c0d2923cc1b 100644
--- a/chromium/components/mirroring/OWNERS
+++ b/chromium/components/mirroring/OWNERS
@@ -1,3 +1,4 @@
miu@chromium.org
+mfoltz@chromium.org
# COMPONENT: Internals>Cast>Streaming
diff --git a/chromium/components/mirroring/browser/cast_remoting_sender.cc b/chromium/components/mirroring/browser/cast_remoting_sender.cc
index 310f83eacc6..e069a9ca5eb 100644
--- a/chromium/components/mirroring/browser/cast_remoting_sender.cc
+++ b/chromium/components/mirroring/browser/cast_remoting_sender.cc
@@ -30,8 +30,8 @@ namespace {
// Global map for looking-up CastRemotingSender instances by their
// |rtp_stream_id|.
-// TODO(xjz): Remove this global look-up map when mirror service
-// refactoring is done. http://crbug.com/734672
+// TODO(crbug.com/1015477): Remove this global look-up map when mirror service
+// refactoring is done.
using CastRemotingSenderMap = std::map<int32_t, mirroring::CastRemotingSender*>;
base::LazyInstance<CastRemotingSenderMap>::Leaky g_sender_map =
LAZY_INSTANCE_INITIALIZER;
@@ -91,7 +91,6 @@ CastRemotingSender::CastRemotingSender(
logging_flush_interval_(logging_flush_interval),
frame_event_cb_(cb),
clock_(base::DefaultTickClock::GetInstance()),
- binding_(this),
max_ack_delay_(kMaxAckDelay),
last_sent_frame_id_(media::cast::FrameId::first() - 1),
latest_acked_frame_id_(media::cast::FrameId::first() - 1),
@@ -130,7 +129,7 @@ CastRemotingSender::~CastRemotingSender() {
void CastRemotingSender::FindAndBind(
int32_t rtp_stream_id,
mojo::ScopedDataPipeConsumerHandle pipe,
- media::mojom::RemotingDataStreamSenderRequest request,
+ mojo::PendingReceiver<media::mojom::RemotingDataStreamSender> stream_sender,
base::OnceClosure error_callback) {
// CastRemotingSender lives entirely on the IO thread, so trampoline if
// necessary.
@@ -139,7 +138,7 @@ void CastRemotingSender::FindAndBind(
FROM_HERE, {BrowserThread::IO},
base::BindOnce(
&CastRemotingSender::FindAndBind, rtp_stream_id, std::move(pipe),
- std::move(request),
+ std::move(stream_sender),
// Using media::BindToCurrentLoop() so the |error_callback|
// is trampolined back to the original thread.
media::BindToCurrentLoop(std::move(error_callback))));
@@ -159,7 +158,7 @@ void CastRemotingSender::FindAndBind(
CastRemotingSender* const sender = it->second;
// Confirm that the CastRemotingSender isn't already bound to a message pipe.
- if (sender->binding_.is_bound()) {
+ if (sender->receiver_.is_bound()) {
DLOG(ERROR) << "Attempt to bind to CastRemotingSender a second time (id="
<< rtp_stream_id << ")!";
std::move(error_callback).Run();
@@ -171,8 +170,8 @@ void CastRemotingSender::FindAndBind(
sender->data_pipe_reader_ =
std::make_unique<media::MojoDataPipeReader>(std::move(pipe));
- sender->binding_.Bind(std::move(request));
- sender->binding_.set_connection_error_handler(base::BindOnce(
+ sender->receiver_.Bind(std::move(stream_sender));
+ sender->receiver_.set_disconnect_handler(base::BindOnce(
[](CastRemotingSender* sender) {
if (!sender->error_callback_.is_null())
std::move(sender->error_callback_).Run();
@@ -230,7 +229,7 @@ void CastRemotingSender::ResendForKickstart() {
transport_->ResendFrameForKickstart(ssrc_, last_sent_frame_id_);
}
-// TODO(xjz): We may need to count in the frames acknowledged in
+// TODO(crbug.com/1015477): We may need to count in the frames acknowledged in
// RtcpCastMessage::received_later_frames for more accurate calculation on
// available bandwidth. Same logic should apply on
// media::cast::FrameSender::GetUnacknowledgedFrameCount().
@@ -277,7 +276,8 @@ void CastRemotingSender::OnReceivedCastMessage(
} else {
duplicate_ack_counter_ = 0;
}
- // TODO(miu): The values "2" and "3" should be derived from configuration.
+ // TODO(crbug.com/1015477): The values "2" and "3" should be derived from
+ // configuration.
if (duplicate_ack_counter_ >= 2 && duplicate_ack_counter_ % 3 == 2) {
ResendForKickstart();
}
@@ -402,7 +402,7 @@ void CastRemotingSender::OnFrameRead(bool success) {
void CastRemotingSender::OnPipeError() {
data_pipe_reader_.reset();
- binding_.Close();
+ receiver_.reset();
if (!error_callback_.is_null())
std::move(error_callback_).Run();
}
@@ -475,7 +475,7 @@ void CastRemotingSender::TrySendFrame() {
if (!frame_event_cb_.is_null()) {
media::cast::FrameEvent remoting_event;
remoting_event.timestamp = remoting_frame.reference_time;
- // TODO(xjz): Use a new event type for remoting.
+ // TODO(crbug.com/1015477): Use a new event type for remoting.
remoting_event.type = media::cast::FRAME_ENCODED;
remoting_event.media_type =
is_audio_ ? media::cast::AUDIO_EVENT : media::cast::VIDEO_EVENT;
@@ -502,11 +502,11 @@ void CastRemotingSender::TrySendFrame() {
void CastRemotingSender::CancelInFlightData() {
DCHECK_CURRENTLY_ON(BrowserThread::IO);
-// TODO(miu): The following code is something we want to do as an
+// TODO(crbug.com/647423): The following code is something we want to do as an
// optimization. However, as-is, it's not quite correct. We can only cancel
// frames where no packets have actually hit the network yet. Said another
// way, we can only cancel frames the receiver has definitely not seen any
-// part of (including kickstarting!). http://crbug.com/647423
+// part of (including kickstarting!).
#if 0
if (latest_acked_frame_id_ < last_sent_frame_id_) {
std::vector<media::cast::FrameId> frames_to_cancel;
diff --git a/chromium/components/mirroring/browser/cast_remoting_sender.h b/chromium/components/mirroring/browser/cast_remoting_sender.h
index fecef9e42b8..35790279d86 100644
--- a/chromium/components/mirroring/browser/cast_remoting_sender.h
+++ b/chromium/components/mirroring/browser/cast_remoting_sender.h
@@ -13,7 +13,8 @@
#include "media/cast/net/cast_transport.h"
#include "media/cast/net/rtcp/rtcp_defines.h"
#include "media/mojo/mojom/remoting.mojom.h"
-#include "mojo/public/cpp/bindings/binding.h"
+#include "mojo/public/cpp/bindings/pending_receiver.h"
+#include "mojo/public/cpp/bindings/receiver.h"
namespace media {
class MojoDataPipeReader;
@@ -53,19 +54,21 @@ class CastRemotingSender : public media::mojom::RemotingDataStreamSender {
~CastRemotingSender() final;
// Look-up a CastRemotingSender instance by its |rtp_stream_id| and then bind
- // to the given |request|. The client of the RemotingDataStreamSender will
- // then instruct this CastRemotingSender when to read from the data |pipe| and
- // send the data to the Cast Receiver. If the bind fails, or an error occurs
- // reading from the data pipe during later operation, the |error_callback| is
- // run.
+ // to the given |stream_sender|. The client of the RemotingDataStreamSender
+ // will then instruct this CastRemotingSender when to read from the data
+ // |pipe| and send the data to the Cast Receiver. If the bind fails, or an
+ // error occurs reading from the data pipe during later operation, the
+ // |error_callback| is run.
//
// Threading note: This function is thread-safe, but its internal
// implementation runs on the IO BrowserThread. If |error_callback| is run, it
// will execute on the thread that called this function.
- static void FindAndBind(int32_t rtp_stream_id,
- mojo::ScopedDataPipeConsumerHandle pipe,
- media::mojom::RemotingDataStreamSenderRequest request,
- base::OnceClosure error_callback);
+ static void FindAndBind(
+ int32_t rtp_stream_id,
+ mojo::ScopedDataPipeConsumerHandle pipe,
+ mojo::PendingReceiver<media::mojom::RemotingDataStreamSender>
+ stream_sender,
+ base::OnceClosure error_callback);
private:
// Friend class for unit tests.
@@ -159,10 +162,10 @@ class CastRemotingSender : public media::mojom::RemotingDataStreamSender {
std::unique_ptr<media::MojoDataPipeReader> data_pipe_reader_;
- // Mojo binding for this instance. Implementation at the other end of the
- // message pipe uses the RemotingDataStreamSender interface to control when
+ // Mojo receiver for this instance. Implementation at the other end of the
+ // message pipe uses the RemotingDataStreamSender remote to control when
// this CastRemotingSender consumes from |pipe_|.
- mojo::Binding<RemotingDataStreamSender> binding_;
+ mojo::Receiver<RemotingDataStreamSender> receiver_{this};
// This is the maximum delay that the sender should get ack from receiver.
// Otherwise, sender will call ResendForKickstart().
diff --git a/chromium/components/mirroring/browser/cast_remoting_sender_unittest.cc b/chromium/components/mirroring/browser/cast_remoting_sender_unittest.cc
index bc0995ca9b5..99c237f3f20 100644
--- a/chromium/components/mirroring/browser/cast_remoting_sender_unittest.cc
+++ b/chromium/components/mirroring/browser/cast_remoting_sender_unittest.cc
@@ -15,6 +15,7 @@
#include "media/cast/net/cast_transport.h"
#include "media/cast/test/utility/default_config.h"
#include "media/mojo/mojom/remoting.mojom.h"
+#include "mojo/public/cpp/bindings/remote.h"
#include "mojo/public/cpp/system/data_pipe.h"
#include "testing/gtest/include/gtest/gtest.h"
@@ -132,7 +133,7 @@ class CastRemotingSenderTest : public ::testing::Test {
CastRemotingSender::FindAndBind(
transport_config_.rtp_stream_id, std::move(consumer_end),
- MakeRequest(&sender_),
+ sender_.BindNewPipeAndPassReceiver(),
base::BindOnce(&CastRemotingSenderTest::OnError,
base::Unretained(this)));
@@ -262,7 +263,7 @@ class CastRemotingSenderTest : public ::testing::Test {
media::cast::CastTransportRtpConfig transport_config_;
FakeTransport transport_;
std::unique_ptr<CastRemotingSender> remoting_sender_;
- media::mojom::RemotingDataStreamSenderPtr sender_;
+ mojo::Remote<media::mojom::RemotingDataStreamSender> sender_;
mojo::ScopedDataPipeProducerHandle producer_end_;
bool expecting_error_callback_run_;
diff --git a/chromium/components/mirroring/mojom/mirroring_service_host.mojom b/chromium/components/mirroring/mojom/mirroring_service_host.mojom
index 279aa2f978d..1cc2001d0ce 100644
--- a/chromium/components/mirroring/mojom/mirroring_service_host.mojom
+++ b/chromium/components/mirroring/mojom/mirroring_service_host.mojom
@@ -21,6 +21,6 @@ interface MirroringServiceHost {
pending_remote<CastMessageChannel> outbound_channel,
pending_receiver<CastMessageChannel> inbound_channel);
- // TODO(xjz): Add interfaces to get the streaming events/stats and mirroring
- // logs.
+ // TODO(crbug.com/1015461): Add interfaces to get the streaming events/stats
+ // and mirroring logs.
};
diff --git a/chromium/components/mirroring/mojom/resource_provider.mojom b/chromium/components/mirroring/mojom/resource_provider.mojom
index 2bfb17f6156..3bd86487c74 100644
--- a/chromium/components/mirroring/mojom/resource_provider.mojom
+++ b/chromium/components/mirroring/mojom/resource_provider.mojom
@@ -17,8 +17,8 @@ import "services/viz/public/mojom/gpu.mojom";
// lifetime of this client.
interface AudioStreamCreatorClient {
StreamCreated(
- media.mojom.AudioInputStream stream,
- media.mojom.AudioInputStreamClient& client_request,
+ pending_remote<media.mojom.AudioInputStream> stream,
+ pending_receiver<media.mojom.AudioInputStreamClient> client_receiver,
media.mojom.ReadOnlyAudioDataPipe data_pipe,
bool initially_muted);
};
diff --git a/chromium/components/mirroring/service/captured_audio_input.cc b/chromium/components/mirroring/service/captured_audio_input.cc
index a8be7a44d20..e1df1801913 100644
--- a/chromium/components/mirroring/service/captured_audio_input.cc
+++ b/chromium/components/mirroring/service/captured_audio_input.cc
@@ -11,8 +11,7 @@
namespace mirroring {
CapturedAudioInput::CapturedAudioInput(StreamCreatorCallback callback)
- : stream_creator_callback_(std::move(callback)),
- stream_client_binding_(this) {
+ : stream_creator_callback_(std::move(callback)) {
DETACH_FROM_SEQUENCE(sequence_checker_);
DCHECK(!stream_creator_callback_.is_null());
}
@@ -48,8 +47,7 @@ void CapturedAudioInput::SetVolume(double volume) {
void CapturedAudioInput::CloseStream() {
DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
delegate_ = nullptr;
- if (stream_client_binding_.is_bound())
- stream_client_binding_.Unbind();
+ stream_client_receiver_.reset();
stream_.reset();
}
@@ -59,17 +57,17 @@ void CapturedAudioInput::SetOutputDeviceForAec(
}
void CapturedAudioInput::StreamCreated(
- media::mojom::AudioInputStreamPtr stream,
- media::mojom::AudioInputStreamClientRequest client_request,
+ mojo::PendingRemote<media::mojom::AudioInputStream> stream,
+ mojo::PendingReceiver<media::mojom::AudioInputStreamClient> client_receiver,
media::mojom::ReadOnlyAudioDataPipePtr data_pipe,
bool initially_muted) {
DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
DCHECK(delegate_);
DCHECK(!stream_);
- DCHECK(!stream_client_binding_.is_bound());
+ DCHECK(!stream_client_receiver_.is_bound());
- stream_ = std::move(stream);
- stream_client_binding_.Bind(std::move(client_request));
+ stream_.Bind(std::move(stream));
+ stream_client_receiver_.Bind(std::move(client_receiver));
base::PlatformFile socket_handle;
auto result =
diff --git a/chromium/components/mirroring/service/captured_audio_input.h b/chromium/components/mirroring/service/captured_audio_input.h
index 11fe9e7e504..951b298271f 100644
--- a/chromium/components/mirroring/service/captured_audio_input.h
+++ b/chromium/components/mirroring/service/captured_audio_input.h
@@ -12,8 +12,10 @@
#include "components/mirroring/mojom/resource_provider.mojom.h"
#include "media/audio/audio_input_ipc.h"
#include "media/mojo/mojom/audio_input_stream.mojom.h"
-#include "mojo/public/cpp/bindings/binding.h"
+#include "mojo/public/cpp/bindings/pending_receiver.h"
+#include "mojo/public/cpp/bindings/pending_remote.h"
#include "mojo/public/cpp/bindings/receiver.h"
+#include "mojo/public/cpp/bindings/remote.h"
namespace mirroring {
@@ -43,8 +45,9 @@ class COMPONENT_EXPORT(MIRRORING_SERVICE) CapturedAudioInput final
void SetOutputDeviceForAec(const std::string& output_device_id) override;
// mojom::AudioStreamCreatorClient implementation
- void StreamCreated(media::mojom::AudioInputStreamPtr stream,
- media::mojom::AudioInputStreamClientRequest client_request,
+ void StreamCreated(mojo::PendingRemote<media::mojom::AudioInputStream> stream,
+ mojo::PendingReceiver<media::mojom::AudioInputStreamClient>
+ client_receiver,
media::mojom::ReadOnlyAudioDataPipePtr data_pipe,
bool initially_muted) override;
@@ -55,11 +58,12 @@ class COMPONENT_EXPORT(MIRRORING_SERVICE) CapturedAudioInput final
SEQUENCE_CHECKER(sequence_checker_);
const StreamCreatorCallback stream_creator_callback_;
- mojo::Binding<media::mojom::AudioInputStreamClient> stream_client_binding_;
+ mojo::Receiver<media::mojom::AudioInputStreamClient> stream_client_receiver_{
+ this};
mojo::Receiver<mojom::AudioStreamCreatorClient>
stream_creator_client_receiver_{this};
media::AudioInputIPCDelegate* delegate_ = nullptr;
- media::mojom::AudioInputStreamPtr stream_;
+ mojo::Remote<media::mojom::AudioInputStream> stream_;
DISALLOW_COPY_AND_ASSIGN(CapturedAudioInput);
};
diff --git a/chromium/components/mirroring/service/captured_audio_input_unittest.cc b/chromium/components/mirroring/service/captured_audio_input_unittest.cc
index 1b4bb30a205..d5f61c3d32e 100644
--- a/chromium/components/mirroring/service/captured_audio_input_unittest.cc
+++ b/chromium/components/mirroring/service/captured_audio_input_unittest.cc
@@ -10,8 +10,9 @@
#include "base/test/task_environment.h"
#include "media/base/audio_parameters.h"
#include "media/mojo/mojom/audio_data_pipe.mojom.h"
+#include "mojo/public/cpp/bindings/pending_remote.h"
#include "mojo/public/cpp/bindings/remote.h"
-#include "mojo/public/cpp/bindings/strong_binding.h"
+#include "mojo/public/cpp/bindings/self_owned_receiver.h"
#include "mojo/public/cpp/system/buffer.h"
#include "mojo/public/cpp/system/platform_handle.h"
#include "testing/gmock/include/gmock/gmock.h"
@@ -61,18 +62,20 @@ class CapturedAudioInputTest : public ::testing::Test {
uint32_t total_segments) {
EXPECT_EQ(base::SyncSocket::kInvalidHandle, socket_.handle());
EXPECT_FALSE(stream_);
- media::mojom::AudioInputStreamPtr stream_ptr;
+ mojo::PendingRemote<media::mojom::AudioInputStream> pending_stream;
auto input_stream = std::make_unique<MockStream>();
stream_ = input_stream.get();
- mojo::MakeStrongBinding(std::move(input_stream),
- mojo::MakeRequest(&stream_ptr));
+ mojo::MakeSelfOwnedReceiver(
+ std::move(input_stream),
+ pending_stream.InitWithNewPipeAndPassReceiver());
base::CancelableSyncSocket foreign_socket;
EXPECT_TRUE(
base::CancelableSyncSocket::CreatePair(&socket_, &foreign_socket));
mojo::Remote<mojom::AudioStreamCreatorClient> audio_client(
std::move(client));
+ stream_client_.reset();
audio_client->StreamCreated(
- std::move(stream_ptr), mojo::MakeRequest(&stream_client_),
+ std::move(pending_stream), stream_client_.BindNewPipeAndPassReceiver(),
{base::in_place, base::ReadOnlySharedMemoryRegion::Create(1024).region,
mojo::WrapPlatformFile(foreign_socket.Release())},
initially_muted);
@@ -140,7 +143,7 @@ class CapturedAudioInputTest : public ::testing::Test {
std::unique_ptr<media::AudioInputIPC> audio_input_;
MockDelegate delegate_;
MockStream* stream_ = nullptr;
- media::mojom::AudioInputStreamClientPtr stream_client_;
+ mojo::Remote<media::mojom::AudioInputStreamClient> stream_client_;
base::CancelableSyncSocket socket_;
DISALLOW_COPY_AND_ASSIGN(CapturedAudioInputTest);
diff --git a/chromium/components/mirroring/service/media_remoter.cc b/chromium/components/mirroring/service/media_remoter.cc
index e53d9e62de5..ee280580100 100644
--- a/chromium/components/mirroring/service/media_remoter.cc
+++ b/chromium/components/mirroring/service/media_remoter.cc
@@ -91,9 +91,8 @@ void MediaRemoter::OnMirroringResumed() {
void MediaRemoter::OnRemotingFailed() {
DCHECK(state_ == STARTING_REMOTING || state_ == REMOTING_STARTED);
if (state_ == STARTING_REMOTING) {
- // TODO(xjz): Rename SERVICE_NOT_CONNECTED to INVALID_ANSWER_MESSAGE.
remoting_source_->OnStartFailed(
- media::mojom::RemotingStartFailReason::SERVICE_NOT_CONNECTED);
+ media::mojom::RemotingStartFailReason::INVALID_ANSWER_MESSAGE);
}
state_ = REMOTING_DISABLED;
remoting_source_->OnSinkGone();
diff --git a/chromium/components/mirroring/service/media_remoter.h b/chromium/components/mirroring/service/media_remoter.h
index d60e937bdb1..583456ef6b8 100644
--- a/chromium/components/mirroring/service/media_remoter.h
+++ b/chromium/components/mirroring/service/media_remoter.h
@@ -10,7 +10,6 @@
#include "media/cast/cast_config.h"
#include "media/mojo/mojom/remoting.mojom.h"
#include "media/mojo/mojom/remoting_common.mojom.h"
-#include "mojo/public/cpp/bindings/binding.h"
#include "mojo/public/cpp/bindings/receiver.h"
#include "mojo/public/cpp/bindings/remote.h"
diff --git a/chromium/components/mirroring/service/media_remoter_unittest.cc b/chromium/components/mirroring/service/media_remoter_unittest.cc
index e306fc85670..0022d7add28 100644
--- a/chromium/components/mirroring/service/media_remoter_unittest.cc
+++ b/chromium/components/mirroring/service/media_remoter_unittest.cc
@@ -12,9 +12,8 @@
#include "components/mirroring/service/message_dispatcher.h"
#include "components/mirroring/service/mirror_settings.h"
#include "media/cast/cast_environment.h"
+#include "mojo/public/cpp/bindings/pending_receiver.h"
#include "mojo/public/cpp/bindings/pending_remote.h"
-#include "mojo/public/cpp/bindings/receiver.h"
-#include "mojo/public/cpp/bindings/remote.h"
#include "testing/gmock/include/gmock/gmock.h"
#include "testing/gtest/include/gtest/gtest.h"
@@ -32,11 +31,11 @@ namespace {
class MockRemotingSource final : public media::mojom::RemotingSource {
public:
- MockRemotingSource() : binding_(this) {}
- ~MockRemotingSource() override {}
+ MockRemotingSource() = default;
+ ~MockRemotingSource() override = default;
- void Bind(media::mojom::RemotingSourceRequest request) {
- binding_.Bind(std::move(request));
+ void Bind(mojo::PendingReceiver<media::mojom::RemotingSource> receiver) {
+ receiver_.Bind(std::move(receiver));
}
MOCK_METHOD0(OnSinkGone, void());
@@ -51,7 +50,7 @@ class MockRemotingSource final : public media::mojom::RemotingSource {
}
private:
- mojo::Binding<media::mojom::RemotingSource> binding_;
+ mojo::Receiver<media::mojom::RemotingSource> receiver_{this};
};
RemotingSinkMetadata DefaultSinkMetadata() {
diff --git a/chromium/components/mirroring/service/mirror_settings.cc b/chromium/components/mirroring/service/mirror_settings.cc
index b0392f8901f..8d94f4a66d0 100644
--- a/chromium/components/mirroring/service/mirror_settings.cc
+++ b/chromium/components/mirroring/service/mirror_settings.cc
@@ -28,7 +28,7 @@ constexpr base::TimeDelta kMinPlayoutDelay =
// Maximum end-to-end latency. Currently, this is kMinPlayoutDelay, effectively
// disabling adaptive latency control, because of audio playout regressions
// (b/32876644).
-// TODO(https://crbug.com/openscreen/44): Re-enable in port to Open Screen.
+// TODO(openscreen/44): Re-enable in port to Open Screen.
constexpr base::TimeDelta kMaxPlayoutDelay =
base::TimeDelta::FromMilliseconds(400);
diff --git a/chromium/components/mirroring/service/mirror_settings.h b/chromium/components/mirroring/service/mirror_settings.h
index ea19ec79f32..598a6b0115f 100644
--- a/chromium/components/mirroring/service/mirror_settings.h
+++ b/chromium/components/mirroring/service/mirror_settings.h
@@ -20,9 +20,10 @@ namespace mirroring {
// Holds the default settings for a mirroring session. This class provides the
// audio/video configs that this sender supports. And also provides the
// audio/video constraints used for capturing.
-// TODO(xjz): Add the function to generate the audio capture contraints.
-// TODO(xjz): Add setters to the settings that might be overriden by integration
-// tests.
+// TODO(crbug.com/1015458): Add the function to generate the audio capture
+// contraints.
+// TODO(crbug.com/1015458): Add setters to the settings that might be overriden
+// by integration tests.
class COMPONENT_EXPORT(MIRRORING_SERVICE) MirrorSettings {
public:
MirrorSettings();
diff --git a/chromium/components/mirroring/service/remoting_sender.cc b/chromium/components/mirroring/service/remoting_sender.cc
index a3e96262ec0..66765368548 100644
--- a/chromium/components/mirroring/service/remoting_sender.cc
+++ b/chromium/components/mirroring/service/remoting_sender.cc
@@ -21,7 +21,7 @@ RemotingSender::RemotingSender(
media::cast::CastTransport* transport,
const media::cast::FrameSenderConfig& config,
mojo::ScopedDataPipeConsumerHandle pipe,
- media::mojom::RemotingDataStreamSenderRequest request,
+ mojo::PendingReceiver<media::mojom::RemotingDataStreamSender> stream_sender,
base::OnceClosure error_callback)
: FrameSender(cast_environment,
transport,
@@ -30,11 +30,11 @@ RemotingSender::RemotingSender(
clock_(cast_environment->Clock()),
error_callback_(std::move(error_callback)),
data_pipe_reader_(new media::MojoDataPipeReader(std::move(pipe))),
- binding_(this, std::move(request)),
+ stream_sender_(this, std::move(stream_sender)),
input_queue_discards_remaining_(0),
is_reading_(false),
flow_restart_pending_(true) {
- binding_.set_connection_error_handler(base::BindOnce(
+ stream_sender_.set_disconnect_handler(base::BindOnce(
&RemotingSender::OnRemotingDataStreamError, base::Unretained(this)));
}
@@ -54,11 +54,11 @@ void RemotingSender::SendFrame(uint32_t frame_size) {
void RemotingSender::CancelInFlightData() {
DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
-// TODO(miu): The following code is something we want to do as an
+// TODO(crbug.com/647423): The following code is something we want to do as an
// optimization. However, as-is, it's not quite correct. We can only cancel
// frames where no packets have actually hit the network yet. Said another
// way, we can only cancel frames the receiver has definitely not seen any
-// part of (including kickstarting!). http://crbug.com/647423
+// part of (including kickstarting!).
#if 0
if (latest_acked_frame_id_ < last_sent_frame_id_) {
std::vector<media::cast::FrameId> frames_to_cancel;
@@ -207,7 +207,7 @@ void RemotingSender::OnInputTaskComplete() {
void RemotingSender::OnRemotingDataStreamError() {
data_pipe_reader_.reset();
- binding_.Close();
+ stream_sender_.reset();
if (!error_callback_.is_null())
std::move(error_callback_).Run();
}
diff --git a/chromium/components/mirroring/service/remoting_sender.h b/chromium/components/mirroring/service/remoting_sender.h
index ec027ed01d4..51c7c4d097c 100644
--- a/chromium/components/mirroring/service/remoting_sender.h
+++ b/chromium/components/mirroring/service/remoting_sender.h
@@ -15,7 +15,8 @@
#include "base/sequence_checker.h"
#include "media/cast/sender/frame_sender.h"
#include "media/mojo/mojom/remoting.mojom.h"
-#include "mojo/public/cpp/bindings/binding.h"
+#include "mojo/public/cpp/bindings/pending_receiver.h"
+#include "mojo/public/cpp/bindings/receiver.h"
namespace base {
class TickClock;
@@ -39,7 +40,8 @@ class COMPONENT_EXPORT(MIRRORING_SERVICE) RemotingSender final
media::cast::CastTransport* transport,
const media::cast::FrameSenderConfig& config,
mojo::ScopedDataPipeConsumerHandle pipe,
- media::mojom::RemotingDataStreamSenderRequest request,
+ mojo::PendingReceiver<media::mojom::RemotingDataStreamSender>
+ stream_sender,
base::OnceClosure error_callback);
~RemotingSender() override;
@@ -88,10 +90,10 @@ class COMPONENT_EXPORT(MIRRORING_SERVICE) RemotingSender final
std::unique_ptr<media::MojoDataPipeReader> data_pipe_reader_;
- // Mojo binding for this instance. Implementation at the other end of the
- // message pipe uses the RemotingDataStreamSender interface to control when
+ // Mojo receiver for this instance. Implementation at the other end of the
+ // message pipe uses the RemotingDataStreamSender remote to control when
// this RemotingSender consumes from |pipe_|.
- mojo::Binding<media::mojom::RemotingDataStreamSender> binding_;
+ mojo::Receiver<media::mojom::RemotingDataStreamSender> stream_sender_;
// The next frame's payload data. Populated by call to OnFrameRead() when
// reading succeeded.
diff --git a/chromium/components/mirroring/service/remoting_sender_unittest.cc b/chromium/components/mirroring/service/remoting_sender_unittest.cc
index 2c0ab3a678f..0ce5ba55111 100644
--- a/chromium/components/mirroring/service/remoting_sender_unittest.cc
+++ b/chromium/components/mirroring/service/remoting_sender_unittest.cc
@@ -17,6 +17,7 @@
#include "media/cast/net/cast_transport.h"
#include "media/cast/test/utility/default_config.h"
#include "media/mojo/mojom/remoting.mojom.h"
+#include "mojo/public/cpp/bindings/remote.h"
#include "mojo/public/cpp/system/data_pipe.h"
#include "testing/gtest/include/gtest/gtest.h"
@@ -127,7 +128,7 @@ class RemotingSenderTest : public ::testing::Test {
receiver_ssrc_ = video_config.receiver_ssrc;
remoting_sender_ = std::make_unique<RemotingSender>(
cast_environment_, &transport_, video_config, std::move(consumer_end),
- mojo::MakeRequest(&sender_),
+ sender_.BindNewPipeAndPassReceiver(),
base::BindOnce(
[](bool expecting_error_callback_run) {
CHECK(expecting_error_callback_run);
@@ -254,7 +255,7 @@ class RemotingSenderTest : public ::testing::Test {
const scoped_refptr<media::cast::CastEnvironment> cast_environment_;
FakeTransport transport_;
std::unique_ptr<RemotingSender> remoting_sender_;
- media::mojom::RemotingDataStreamSenderPtr sender_;
+ mojo::Remote<media::mojom::RemotingDataStreamSender> sender_;
mojo::ScopedDataPipeProducerHandle producer_end_;
bool expecting_error_callback_run_;
uint32_t receiver_ssrc_;
diff --git a/chromium/components/mirroring/service/rtp_stream.h b/chromium/components/mirroring/service/rtp_stream.h
index d2a908c3e84..35ef727ca0f 100644
--- a/chromium/components/mirroring/service/rtp_stream.h
+++ b/chromium/components/mirroring/service/rtp_stream.h
@@ -48,8 +48,8 @@ class COMPONENT_EXPORT(MIRRORING_SERVICE) RtpStreamClient {
virtual void CreateVideoEncodeAccelerator(
const media::cast::ReceiveVideoEncodeAcceleratorCallback& callback) = 0;
- // TODO(xjz): Remove this interface. Instead, create the shared memory in
- // external video encoder through mojo::ScopedSharedBufferHandle.
+ // TODO(crbug.com/1015472): Remove this interface. Instead, create the shared
+ // memory in external video encoder through mojo::ScopedSharedBufferHandle.
virtual void CreateVideoEncodeMemory(
size_t size,
const media::cast::ReceiveVideoEncodeMemoryCallback& callback) = 0;
diff --git a/chromium/components/mirroring/service/session.cc b/chromium/components/mirroring/service/session.cc
index 892a5965aa5..b8745fa0ee6 100644
--- a/chromium/components/mirroring/service/session.cc
+++ b/chromium/components/mirroring/service/session.cc
@@ -41,7 +41,6 @@
#include "media/mojo/clients/mojo_video_encode_accelerator.h"
#include "media/video/video_encode_accelerator.h"
#include "mojo/public/cpp/base/shared_memory_utils.h"
-#include "mojo/public/cpp/bindings/pending_remote.h"
#include "mojo/public/cpp/system/platform_handle.h"
#include "net/base/ip_endpoint.h"
#include "services/viz/public/cpp/gpu/gpu.h"
@@ -153,10 +152,9 @@ bool IsHardwareVP8EncodingSupported(
bool IsHardwareH264EncodingSupported(
const std::vector<media::VideoEncodeAccelerator::SupportedProfile>&
profiles) {
-// TODO(miu): Look into why H.264 hardware encoder on MacOS is broken.
-// http://crbug.com/596674
-// TODO(emircan): Look into HW encoder initialization issues on Win.
-// https://crbug.com/636064
+// TODO(crbug.com/1015482): Look into why H.264 hardware encoder on MacOS is
+// broken.
+// TODO(crbug.com/1015482): Look into HW encoder initialization issues on Win.
#if !defined(OS_MACOSX) && !defined(OS_WIN)
for (const auto& vea_profile : profiles) {
if (vea_profile.profile >= media::H264PROFILE_MIN &&
@@ -317,7 +315,7 @@ media::mojom::RemotingSinkMetadata ToRemotingSinkMetadata(
// Enable remoting 1080p 30fps or higher resolution/fps content for Chromecast
// Ultra receivers only.
- // TODO(xjz): Receiver should report this capability.
+ // TODO(crbug.com/1015467): Receiver should report this capability.
if (params.receiver_model_name == "Chromecast Ultra") {
sink_metadata.video_capabilities.push_back(
RemotingSinkVideoCapability::SUPPORT_4K);
@@ -352,8 +350,8 @@ class Session::AudioCapturingCallback final
base::TimeTicks audio_capture_time,
double volume,
bool key_pressed) override {
- // TODO(xjz): Don't copy the audio data. Instead, send |audio_bus| directly
- // to the encoder.
+ // TODO(crbug.com/1015467): Don't copy the audio data. Instead, send
+ // |audio_bus| directly to the encoder.
std::unique_ptr<media::AudioBus> captured_audio =
media::AudioBus::Create(audio_bus->channels(), audio_bus->frames());
audio_bus->CopyTo(captured_audio.get());
@@ -407,9 +405,9 @@ Session::Session(
network::mojom::URLLoaderFactoryParams::New();
params->process_id = network::mojom::kBrowserProcessId;
params->is_corb_enabled = false;
- network::mojom::URLLoaderFactoryPtr url_loader_factory;
+ mojo::PendingRemote<network::mojom::URLLoaderFactory> url_loader_factory;
network_context_->CreateURLLoaderFactory(
- mojo::MakeRequest(&url_loader_factory), std::move(params));
+ url_loader_factory.InitWithNewPipeAndPassReceiver(), std::move(params));
// Generate session level tags.
base::Value session_tags(base::Value::Type::DICTIONARY);
@@ -520,8 +518,8 @@ void Session::OnEncoderStatusChange(OperationalStatus status) {
case OperationalStatus::STATUS_UNINITIALIZED:
case OperationalStatus::STATUS_CODEC_REINIT_PENDING:
// Not an error.
- // TODO(miu): As an optimization, signal the client to pause sending more
- // frames until the state becomes STATUS_INITIALIZED again.
+ // TODO(crbug.com/1015467): As an optimization, signal the client to pause
+ // sending more frames until the state becomes STATUS_INITIALIZED again.
case OperationalStatus::STATUS_INITIALIZED:
break;
case OperationalStatus::STATUS_INVALID_CONFIGURATION:
@@ -547,10 +545,11 @@ void Session::CreateVideoEncodeAccelerator(
if (gpu_ && gpu_channel_host_ && !supported_profiles_.empty()) {
if (!vea_provider_) {
gpu_->CreateVideoEncodeAcceleratorProvider(
- mojo::MakeRequest(&vea_provider_));
+ vea_provider_.BindNewPipeAndPassReceiver());
}
- media::mojom::VideoEncodeAcceleratorPtr vea;
- vea_provider_->CreateVideoEncodeAccelerator(mojo::MakeRequest(&vea));
+ mojo::PendingRemote<media::mojom::VideoEncodeAccelerator> vea;
+ vea_provider_->CreateVideoEncodeAccelerator(
+ vea.InitWithNewPipeAndPassReceiver());
// std::make_unique doesn't work to create a unique pointer of the subclass.
mojo_vea.reset(new media::MojoVideoEncodeAccelerator(std::move(vea),
supported_profiles_));
@@ -707,9 +706,9 @@ void Session::OnAnswer(const std::vector<FrameSenderConfig>& audio_configs,
audio_stream_ = std::make_unique<AudioRtpStream>(
std::move(audio_sender), weak_factory_.GetWeakPtr());
DCHECK(!audio_capturing_callback_);
- // TODO(xjz): Elliminate the thread hops. The audio data is thread-hopped
- // from the audio thread, and later thread-hopped again to the encoding
- // thread.
+ // TODO(crbug.com/1015467): Eliminate the thread hops. The audio data is
+ // thread-hopped from the audio thread, and later thread-hopped again to
+ // the encoding thread.
audio_capturing_callback_ = std::make_unique<AudioCapturingCallback>(
media::BindToCurrentLoop(base::BindRepeating(
&AudioRtpStream::InsertAudio, audio_stream_->AsWeakPtr())),
@@ -787,7 +786,7 @@ void Session::OnAnswer(const std::vector<FrameSenderConfig>& audio_configs,
}
void Session::OnResponseParsingError(const std::string& error_message) {
- // TODO(xjz): Log the |error_message| in the mirroring logs.
+ // TODO(crbug.com/1015467): Log the |error_message| in the mirroring logs.
}
void Session::CreateAudioStream(
diff --git a/chromium/components/mirroring/service/session.h b/chromium/components/mirroring/service/session.h
index b97a401138d..2f10d1ca2bb 100644
--- a/chromium/components/mirroring/service/session.h
+++ b/chromium/components/mirroring/service/session.h
@@ -181,7 +181,7 @@ class COMPONENT_EXPORT(MIRRORING_SERVICE) Session final
std::unique_ptr<viz::Gpu> gpu_;
scoped_refptr<gpu::GpuChannelHost> gpu_channel_host_;
gpu::VideoEncodeAcceleratorSupportedProfiles supported_profiles_;
- media::mojom::VideoEncodeAcceleratorProviderPtr vea_provider_;
+ mojo::Remote<media::mojom::VideoEncodeAcceleratorProvider> vea_provider_;
base::WeakPtrFactory<Session> weak_factory_{this};
};
diff --git a/chromium/components/mirroring/service/session_monitor.cc b/chromium/components/mirroring/service/session_monitor.cc
index 1286bdde477..844a48b0f45 100644
--- a/chromium/components/mirroring/service/session_monitor.cc
+++ b/chromium/components/mirroring/service/session_monitor.cc
@@ -112,7 +112,7 @@ SessionMonitor::SessionMonitor(
int max_retention_bytes,
const net::IPAddress& receiver_address,
base::Value session_tags,
- network::mojom::URLLoaderFactoryPtr loader_factory)
+ mojo::PendingRemote<network::mojom::URLLoaderFactory> loader_factory)
: max_retention_bytes_(max_retention_bytes),
receiver_address_(receiver_address),
session_tags_(std::move(session_tags)),
@@ -348,8 +348,8 @@ std::string SessionMonitor::GetEventLogsAndReset(
result.resize(media::cast::kMaxSerializedBytes);
int output_bytes;
- // TODO(xjz): media::cast::SerializeEvents() shouldn't require the caller to
- // pre-allocate the memory. It should return a string result.
+ // TODO(crbug.com/1015471): media::cast::SerializeEvents() shouldn't require
+ // the caller to pre-allocate the memory. It should return a string result.
if (media::cast::SerializeEvents(metadata, frame_events, packet_events,
true /* compress */,
media::cast::kMaxSerializedBytes,
diff --git a/chromium/components/mirroring/service/session_monitor.h b/chromium/components/mirroring/service/session_monitor.h
index 1963a007c93..d3b77250cbf 100644
--- a/chromium/components/mirroring/service/session_monitor.h
+++ b/chromium/components/mirroring/service/session_monitor.h
@@ -16,6 +16,8 @@
#include "base/timer/timer.h"
#include "base/values.h"
#include "components/mirroring/mojom/session_observer.mojom.h"
+#include "mojo/public/cpp/bindings/pending_remote.h"
+#include "mojo/public/cpp/bindings/remote.h"
#include "services/network/public/mojom/url_loader_factory.mojom.h"
namespace media {
@@ -52,10 +54,11 @@ class COMPONENT_EXPORT(MIRRORING_SERVICE) SessionMonitor {
public:
using EventsAndStats =
std::pair<std::string /* events */, std::string /* stats */>;
- SessionMonitor(int max_retention_bytes,
- const net::IPAddress& receiver_address,
- base::Value session_tags,
- network::mojom::URLLoaderFactoryPtr loader_factory);
+ SessionMonitor(
+ int max_retention_bytes,
+ const net::IPAddress& receiver_address,
+ base::Value session_tags,
+ mojo::PendingRemote<network::mojom::URLLoaderFactory> loader_factory);
~SessionMonitor();
@@ -116,7 +119,7 @@ class COMPONENT_EXPORT(MIRRORING_SERVICE) SessionMonitor {
std::string receiver_name_;
- network::mojom::URLLoaderFactoryPtr url_loader_factory_;
+ mojo::Remote<network::mojom::URLLoaderFactory> url_loader_factory_;
// Monitors the WiFi status if not null.
std::unique_ptr<WifiStatusMonitor> wifi_status_monitor_;
diff --git a/chromium/components/mirroring/service/session_monitor_unittest.cc b/chromium/components/mirroring/service/session_monitor_unittest.cc
index 826839cff0f..02e6f420dd8 100644
--- a/chromium/components/mirroring/service/session_monitor_unittest.cc
+++ b/chromium/components/mirroring/service/session_monitor_unittest.cc
@@ -18,10 +18,8 @@
#include "components/mirroring/service/wifi_status_monitor.h"
#include "media/cast/cast_environment.h"
#include "media/cast/test/utility/net_utility.h"
-#include "mojo/public/cpp/bindings/pending_remote.h"
#include "mojo/public/cpp/bindings/receiver.h"
-#include "mojo/public/cpp/bindings/remote.h"
-#include "mojo/public/cpp/bindings/strong_binding.h"
+#include "mojo/public/cpp/bindings/self_owned_receiver.h"
#include "net/base/ip_endpoint.h"
#include "services/network/test/test_url_loader_factory.h"
#include "testing/gmock/include/gmock/gmock.h"
@@ -69,7 +67,7 @@ void VerifyWifiStatus(const base::Value& raw_value,
EXPECT_TRUE(found && found->is_dict());
auto* wifi_status = found->FindKey("receiverWifiStatus");
EXPECT_TRUE(wifi_status && wifi_status->is_list());
- base::span<const base::Value> status_list = wifi_status->GetList();
+ base::Value::ConstListView status_list = wifi_status->GetList();
EXPECT_EQ(num_of_status, static_cast<int>(status_list.size()));
for (int i = 0; i < num_of_status; ++i) {
double snr = -1;
@@ -101,12 +99,13 @@ class SessionMonitorTest : public mojom::CastMessageChannel,
void CreateSessionMonitor(int max_bytes, std::string* expected_settings) {
EXPECT_CALL(*this, Send(::testing::_)).Times(::testing::AtLeast(1));
- network::mojom::URLLoaderFactoryPtr url_loader_factory;
+ mojo::PendingRemote<network::mojom::URLLoaderFactory> url_loader_factory;
auto test_url_loader_factory =
std::make_unique<network::TestURLLoaderFactory>();
url_loader_factory_ = test_url_loader_factory.get();
- mojo::MakeStrongBinding(std::move(test_url_loader_factory),
- mojo::MakeRequest(&url_loader_factory));
+ mojo::MakeSelfOwnedReceiver(
+ std::move(test_url_loader_factory),
+ url_loader_factory.InitWithNewPipeAndPassReceiver());
MirrorSettings mirror_settings;
base::Value session_tags(base::Value::Type::DICTIONARY);
base::Value settings = mirror_settings.ToDictionaryValue();
@@ -238,7 +237,7 @@ TEST_F(SessionMonitorTest, ProvidesExpectedTags) {
AssembleBundleAndVerify(bundle_sizes);
base::Value stats = ReadStats(bundles[0].second);
- base::span<const base::Value> stats_list = stats.GetList();
+ base::Value::ConstListView stats_list = stats.GetList();
ASSERT_EQ(1u, stats_list.size());
// Verify tags.
EXPECT_TRUE(stats_list[0].is_dict());
@@ -273,7 +272,7 @@ TEST_F(SessionMonitorTest, MultipleSessions) {
std::vector<SessionMonitor::EventsAndStats> bundles =
AssembleBundleAndVerify(bundle_sizes);
base::Value stats = ReadStats(bundles[0].second);
- base::span<const base::Value> stats_list = stats.GetList();
+ base::Value::ConstListView stats_list = stats.GetList();
// There should be two sessions in the recorded stats.
EXPECT_EQ(2u, stats_list.size());
}
@@ -292,7 +291,7 @@ TEST_F(SessionMonitorTest, ConfigureMaxRetentionBytes) {
std::vector<SessionMonitor::EventsAndStats> bundles =
AssembleBundleAndVerify(bundle_sizes);
base::Value stats = ReadStats(bundles[0].second);
- base::span<const base::Value> stats_list = stats.GetList();
+ base::Value::ConstListView stats_list = stats.GetList();
// Expect to only record the second session.
ASSERT_EQ(1u, stats_list.size());
VerifyWifiStatus(stats_list[0], 54, 3000, 5);
@@ -312,14 +311,14 @@ TEST_F(SessionMonitorTest, AssembleBundlesWithVaryingSizes) {
// Expect the first bundle has only one session.
base::Value stats = ReadStats(bundles[0].second);
- base::span<const base::Value> stats_list = stats.GetList();
+ base::Value::ConstListView stats_list = stats.GetList();
// Expect to only record the second session.
ASSERT_EQ(1u, stats_list.size());
VerifyWifiStatus(stats_list[0], 54, 3000, 5);
// Expect the second bundle has both sessions.
stats = ReadStats(bundles[1].second);
- base::span<const base::Value> stats_list2 = stats.GetList();
+ base::Value::ConstListView stats_list2 = stats.GetList();
ASSERT_EQ(2u, stats_list2.size());
VerifyWifiStatus(stats_list2[0], 34, 2000, 5);
VerifyWifiStatus(stats_list2[1], 54, 3000, 5);
@@ -338,7 +337,7 @@ TEST_F(SessionMonitorTest, ErrorTags) {
std::vector<SessionMonitor::EventsAndStats> bundles =
AssembleBundleAndVerify(bundle_sizes);
base::Value stats = ReadStats(bundles[0].second);
- base::span<const base::Value> stats_list = stats.GetList();
+ base::Value::ConstListView stats_list = stats.GetList();
// There should be three snapshots in the bundle.
ASSERT_EQ(3u, stats_list.size());
@@ -382,7 +381,7 @@ TEST_F(SessionMonitorTest, ReceiverSetupInfo) {
std::vector<SessionMonitor::EventsAndStats> bundles =
AssembleBundleAndVerify(bundle_sizes);
base::Value stats = ReadStats(bundles[0].second);
- base::span<const base::Value> stats_list = stats.GetList();
+ base::Value::ConstListView stats_list = stats.GetList();
// There should be two snapshots in the bundle.
EXPECT_EQ(2u, stats_list.size());
diff --git a/chromium/components/mirroring/service/session_unittest.cc b/chromium/components/mirroring/service/session_unittest.cc
index ccf88236306..a55c5ba1388 100644
--- a/chromium/components/mirroring/service/session_unittest.cc
+++ b/chromium/components/mirroring/service/session_unittest.cc
@@ -272,7 +272,7 @@ class SessionTest : public mojom::ResourceProvider,
EXPECT_CALL(*this, OnOutboundMessage("OFFER")).Times(1);
// The start of remoting is expected to fail.
EXPECT_CALL(remoting_source_,
- OnStartFailed(RemotingStartFailReason::SERVICE_NOT_CONNECTED))
+ OnStartFailed(RemotingStartFailReason::INVALID_ANSWER_MESSAGE))
.Times(1);
EXPECT_CALL(remoting_source_, OnSinkGone()).Times(AtLeast(1));
}
diff --git a/chromium/components/mirroring/service/udp_socket_client.h b/chromium/components/mirroring/service/udp_socket_client.h
index 7618cac4077..75d5764b8c4 100644
--- a/chromium/components/mirroring/service/udp_socket_client.h
+++ b/chromium/components/mirroring/service/udp_socket_client.h
@@ -70,8 +70,8 @@ class COMPONENT_EXPORT(MIRRORING_SERVICE) UdpSocketClient final
// Set by SendPacket() when the sending is not allowed. Once set, SendPacket()
// can only be called again when a previous sending completes successfully.
- // TODO(xjz): Change the callback to a base::OnceClosure as well as in the
- // cast::PacketTransport SendPacket().
+ // TODO(crbug.com/1015479): Change the callback to a base::OnceClosure as well
+ // as in the cast::PacketTransport SendPacket().
base::RepeatingClosure resume_send_callback_;
// Total numbe of bytes written to the data pipe.
diff --git a/chromium/components/mirroring/service/video_capture_client.cc b/chromium/components/mirroring/service/video_capture_client.cc
index 3c59ed60dc2..7309064497f 100644
--- a/chromium/components/mirroring/service/video_capture_client.cc
+++ b/chromium/components/mirroring/service/video_capture_client.cc
@@ -160,7 +160,7 @@ void VideoCaptureClient::OnBufferReady(int32_t buffer_id,
// If the timestamp is not prepared, we use reference time to make a rough
// estimate. e.g. ThreadSafeCaptureOracle::DidCaptureFrame().
- // TODO(crbug/618407): Fix upstream capturers to always set timestamp and
+ // TODO(crbug.com/618407): Fix upstream capturers to always set timestamp and
// reference time.
if (info->timestamp.is_zero())
info->timestamp = reference_time - first_frame_ref_time_;
@@ -179,7 +179,7 @@ void VideoCaptureClient::OnBufferReady(int32_t buffer_id,
scoped_refptr<media::VideoFrame> frame;
BufferFinishedCallback buffer_finished_callback;
if (buffer_iter->second->is_shared_buffer_handle()) {
- // TODO(https://crbug.com/843117): Remove this case after migrating
+ // TODO(crbug.com/843117): Remove this case after migrating
// media::VideoCaptureDeviceClient to the new shared memory API.
auto mapping_iter = mapped_buffers_.find(buffer_id);
const size_t buffer_size =
diff --git a/chromium/components/mirroring/service/video_capture_client.h b/chromium/components/mirroring/service/video_capture_client.h
index 5953e6d8ca0..1d3ca9e4d97 100644
--- a/chromium/components/mirroring/service/video_capture_client.h
+++ b/chromium/components/mirroring/service/video_capture_client.h
@@ -80,9 +80,9 @@ class COMPONENT_EXPORT(MIRRORING_SERVICE) VideoCaptureClient
mojo::Receiver<media::mojom::VideoCaptureObserver> receiver_{this};
- // TODO(https://crbug.com/843117): Store the
- // base::ReadOnlySharedMemoryRegion instead after migrating the
- // media::VideoCaptureDeviceClient to the new shared memory API.
+ // TODO(crbug.com/843117): Store the base::ReadOnlySharedMemoryRegion instead
+ // after migrating the media::VideoCaptureDeviceClient to the new shared
+ // memory API.
using ClientBufferMap =
base::flat_map<int32_t, media::mojom::VideoBufferHandlePtr>;
// Stores the buffer handler on OnBufferCreated(). |buffer_id| is the key.
@@ -95,7 +95,7 @@ class COMPONENT_EXPORT(MIRRORING_SERVICE) VideoCaptureClient
// The callback to deliver the received frame.
FrameDeliverCallback frame_deliver_callback_;
- // TODO(https://crbug.com/843117): Remove the MappingMap after migrating
+ // TODO(crbug.com/843117): Remove the MappingMap after migrating
// media::VideoCaptureDeviceClient to the new shared memory API.
using MappingAndSize = std::pair<mojo::ScopedSharedBufferMapping, uint32_t>;
using MappingMap = base::flat_map<int32_t, MappingAndSize>;
diff --git a/chromium/components/mirroring/service/video_capture_client_unittest.cc b/chromium/components/mirroring/service/video_capture_client_unittest.cc
index 78fd3d312e9..631c2852d7e 100644
--- a/chromium/components/mirroring/service/video_capture_client_unittest.cc
+++ b/chromium/components/mirroring/service/video_capture_client_unittest.cc
@@ -137,7 +137,7 @@ TEST_P(VideoCaptureClientTest, Basic) {
OnBufferReady(0, gfx::Size(320, 180));
}
-INSTANTIATE_TEST_SUITE_P(,
+INSTANTIATE_TEST_SUITE_P(All,
VideoCaptureClientTest,
::testing::Values(true, false));