Skip to content

Commit

Permalink
[Cast Streaming] Rename cast_streaming::CastStreamingReceiver
Browse files Browse the repository at this point in the history
Currently, the `cast_streaming` namespace contains a number of classes
with names prefaced by `CastStreaming`. Aside from this making the code
needlessly verbose, it precludes having more "meaningful" names that
actually relate to their functionality.

This CL updates the largest such offender - the mojo API
cast_streaming::mojom::CastStreamingReceiver, and updates all code
references associated with it.

Change-Id: Icb0255e740175f95404f7ef446524175b9a9444d
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3642666
Reviewed-by: Fabrice de Gans <fdegans@chromium.org>
Commit-Queue: Greg Kerr <kerrnel@chromium.org>
Reviewed-by: Greg Kerr <kerrnel@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1002333}
  • Loading branch information
Ryan Keane authored and Chromium LUCI CQ committed May 11, 2022
1 parent 852d76a commit 975de58
Show file tree
Hide file tree
Showing 23 changed files with 115 additions and 123 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -34,12 +34,12 @@ void StreamingControllerBase::MainFrameReadyToCommitNavigation(

navigation_handle->GetRenderFrameHost()
->GetRemoteAssociatedInterfaces()
->GetInterface(&cast_streaming_receiver_);
->GetInterface(&demuxer_connector_);
navigation_handle->GetRenderFrameHost()
->GetRemoteAssociatedInterfaces()
->GetInterface(&renderer_connection_);

DCHECK(cast_streaming_receiver_);
DCHECK(demuxer_connector_);
DCHECK(renderer_connection_);

TryStartPlayback();
Expand Down Expand Up @@ -69,7 +69,7 @@ void StreamingControllerBase::StartPlaybackAsync(PlaybackStartedCB cb) {
}

void StreamingControllerBase::TryStartPlayback() {
if (playback_started_cb_ && constraints_ && cast_streaming_receiver_) {
if (playback_started_cb_ && constraints_ && demuxer_connector_) {
cast_streaming::ReceiverSession::MessagePortProvider message_port_provider =
base::BindOnce(
[](std::unique_ptr<cast_api_bindings::MessagePort> port) {
Expand All @@ -80,7 +80,7 @@ void StreamingControllerBase::TryStartPlayback() {
std::move(constraints_), std::move(message_port_provider), client_);
DCHECK(receiver_session_);

StartPlayback(receiver_session_.get(), std::move(cast_streaming_receiver_),
StartPlayback(receiver_session_.get(), std::move(demuxer_connector_),
std::move(renderer_connection_));
std::move(playback_started_cb_).Run();
}
Expand Down
10 changes: 5 additions & 5 deletions chromecast/cast_core/runtime/browser/streaming_controller_base.h
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
#include "base/sequence_checker.h"
#include "chromecast/browser/cast_web_contents.h"
#include "components/cast_streaming/browser/public/receiver_session.h"
#include "components/cast_streaming/public/mojom/cast_streaming_session.mojom.h"
#include "components/cast_streaming/public/mojom/demuxer_connector.mojom.h"
#include "components/cast_streaming/public/mojom/renderer_controller.mojom.h"
#include "mojo/public/cpp/bindings/associated_remote.h"

Expand Down Expand Up @@ -45,8 +45,8 @@ class StreamingControllerBase : public StreamingController,
// Begins playback of |receiver_session|.
virtual void StartPlayback(
cast_streaming::ReceiverSession* receiver_session,
mojo::AssociatedRemote<cast_streaming::mojom::CastStreamingReceiver>
cast_streaming_receiver,
mojo::AssociatedRemote<cast_streaming::mojom::DemuxerConnector>
demuxer_connector,
mojo::AssociatedRemote<cast_streaming::mojom::RendererController>
renderer_connection) = 0;

Expand Down Expand Up @@ -86,8 +86,8 @@ class StreamingControllerBase : public StreamingController,
// Mojo connections. Initially populated in MainFrameReadyToCommitNavigation()
// with connections to the Renderer process, and transferred to
// StartPlayback() when it is first called.
mojo::AssociatedRemote<cast_streaming::mojom::CastStreamingReceiver>
cast_streaming_receiver_;
mojo::AssociatedRemote<cast_streaming::mojom::DemuxerConnector>
demuxer_connector_;
mojo::AssociatedRemote<cast_streaming::mojom::RendererController>
renderer_connection_;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,11 +23,11 @@ StreamingControllerMirroring::~StreamingControllerMirroring() = default;

void StreamingControllerMirroring::StartPlayback(
cast_streaming::ReceiverSession* receiver_session,
mojo::AssociatedRemote<cast_streaming::mojom::CastStreamingReceiver>
cast_streaming_receiver,
mojo::AssociatedRemote<cast_streaming::mojom::DemuxerConnector>
demuxer_connector,
mojo::AssociatedRemote<cast_streaming::mojom::RendererController>
renderer_connection) {
receiver_session->StartStreamingAsync(std::move(cast_streaming_receiver));
receiver_session->StartStreamingAsync(std::move(demuxer_connector));

renderer_connection_ = std::move(renderer_connection);
renderer_connection_->SetPlaybackController(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
#include <memory>

#include "chromecast/cast_core/runtime/browser/streaming_controller_base.h"
#include "components/cast_streaming/public/mojom/cast_streaming_session.mojom.h"
#include "components/cast_streaming/public/mojom/demuxer_connector.mojom.h"
#include "components/cast_streaming/public/mojom/renderer_controller.mojom.h"
#include "media/mojo/mojom/renderer.mojom.h"
#include "mojo/public/cpp/bindings/associated_remote.h"
Expand Down Expand Up @@ -40,8 +40,8 @@ class StreamingControllerMirroring : public StreamingControllerBase {
// StreamingControllerBase overrides:
void StartPlayback(
cast_streaming::ReceiverSession* receiver_session,
mojo::AssociatedRemote<cast_streaming::mojom::CastStreamingReceiver>
cast_streaming_receiver,
mojo::AssociatedRemote<cast_streaming::mojom::DemuxerConnector>
demuxer_connector,
mojo::AssociatedRemote<cast_streaming::mojom::RendererController>
renderer_connection) override;
void ProcessAVConstraints(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,11 +19,11 @@ StreamingControllerRemoting::~StreamingControllerRemoting() = default;

void StreamingControllerRemoting::StartPlayback(
cast_streaming::ReceiverSession* receiver_session,
mojo::AssociatedRemote<cast_streaming::mojom::CastStreamingReceiver>
cast_streaming_receiver,
mojo::AssociatedRemote<cast_streaming::mojom::DemuxerConnector>
demuxer_connector,
mojo::AssociatedRemote<cast_streaming::mojom::RendererController>
renderer_connection) {
receiver_session->StartStreamingAsync(std::move(cast_streaming_receiver),
receiver_session->StartStreamingAsync(std::move(demuxer_connector),
std::move(renderer_connection));

auto* renderer_controller = receiver_session->GetRendererControls();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
#include <memory>

#include "chromecast/cast_core/runtime/browser/streaming_controller_base.h"
#include "components/cast_streaming/public/mojom/cast_streaming_session.mojom.h"
#include "components/cast_streaming/public/mojom/demuxer_connector.mojom.h"
#include "components/cast_streaming/public/mojom/renderer_controller.mojom.h"
#include "mojo/public/cpp/bindings/associated_remote.h"

Expand Down Expand Up @@ -37,8 +37,8 @@ class StreamingControllerRemoting : public StreamingControllerBase {
// StreamingControllerBase overrides:
void StartPlayback(
cast_streaming::ReceiverSession* receiver_session,
mojo::AssociatedRemote<cast_streaming::mojom::CastStreamingReceiver>
cast_streaming_receiver,
mojo::AssociatedRemote<cast_streaming::mojom::DemuxerConnector>
demuxer_connector,
mojo::AssociatedRemote<cast_streaming::mojom::RendererController>
renderer_connection) override;
void ProcessAVConstraints(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,6 @@
#include "chromecast/cast_core/runtime/browser/streaming_controller.h"
#include "chromecast/shared/platform_info_serializer.h"
#include "components/cast_streaming/browser/public/receiver_session.h"
#include "components/cast_streaming/public/mojom/cast_streaming_session.mojom.h"
#include "components/cast_streaming/public/mojom/renderer_controller.mojom.h"
#include "testing/gmock/include/gmock/gmock.h"
#include "testing/gtest/include/gtest/gtest.h"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@

#include "base/callback_forward.h"
#include "base/sequence_checker.h"
#include "components/cast_streaming/public/mojom/cast_streaming_session.mojom.h"
#include "components/cast_streaming/public/mojom/demuxer_connector.mojom.h"
#include "mojo/public/cpp/bindings/message.h"
#include "mojo/public/cpp/bindings/pending_receiver.h"
#include "mojo/public/cpp/bindings/receiver.h"
Expand Down
10 changes: 4 additions & 6 deletions components/cast_streaming/browser/public/receiver_session.h
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@

#include "base/callback.h"
#include "base/time/time.h"
#include "components/cast_streaming/public/mojom/cast_streaming_session.mojom.h"
#include "components/cast_streaming/public/mojom/demuxer_connector.mojom.h"
#include "components/cast_streaming/public/mojom/renderer_controller.mojom.h"
#include "mojo/public/cpp/bindings/associated_remote.h"
#include "third_party/openscreen/src/cast/streaming/receiver_session.h"
Expand All @@ -26,7 +26,7 @@ class VideoDecoderConfig;
namespace cast_streaming {

// This interface handles a single Cast Streaming Receiver Session over a given
// |message_port| and with a given |cast_streaming_receiver|. On destruction,
// |message_port| and with a given |demuxer_connector|. On destruction,
// the Cast Streaming Receiver Session will be terminated if it was ever
// started.
// TODO(1220176): Forward declare ReceiverSession::Preferences instead of
Expand Down Expand Up @@ -92,15 +92,13 @@ class ReceiverSession {
// |PlaybackCommandForwardingRenderer| is being used, the below overload is
// recommended instead.
virtual void StartStreamingAsync(
mojo::AssociatedRemote<mojom::CastStreamingReceiver>
cast_streaming_receiver) = 0;
mojo::AssociatedRemote<mojom::DemuxerConnector> demuxer_connector) = 0;

// As above, but also sets the |renderer_controller| to be used to control a
// renderer-process |PlaybackCommandForwardingRenderer|. This control may then
// be done through the RenderControls returned by GetRendererControls() below.
virtual void StartStreamingAsync(
mojo::AssociatedRemote<mojom::CastStreamingReceiver>
cast_streaming_receiver,
mojo::AssociatedRemote<mojom::DemuxerConnector> demuxer_connector,
mojo::AssociatedRemote<mojom::RendererController>
renderer_controller) = 0;

Expand Down
20 changes: 9 additions & 11 deletions components/cast_streaming/browser/receiver_session_impl.cc
Original file line number Diff line number Diff line change
Expand Up @@ -36,22 +36,20 @@ ReceiverSessionImpl::ReceiverSessionImpl(
ReceiverSessionImpl::~ReceiverSessionImpl() = default;

void ReceiverSessionImpl::StartStreamingAsync(
mojo::AssociatedRemote<mojom::CastStreamingReceiver>
cast_streaming_receiver) {
mojo::AssociatedRemote<mojom::DemuxerConnector> demuxer_connector) {
DCHECK(HasNetworkContextGetter());

DVLOG(1) << __func__;
cast_streaming_receiver_ = std::move(cast_streaming_receiver);
demuxer_connector_ = std::move(demuxer_connector);

cast_streaming_receiver_->EnableReceiver(base::BindOnce(
demuxer_connector_->EnableReceiver(base::BindOnce(
&ReceiverSessionImpl::OnReceiverEnabled, weak_factory_.GetWeakPtr()));
cast_streaming_receiver_.set_disconnect_handler(base::BindOnce(
demuxer_connector_.set_disconnect_handler(base::BindOnce(
&ReceiverSessionImpl::OnMojoDisconnect, weak_factory_.GetWeakPtr()));
}

void ReceiverSessionImpl::StartStreamingAsync(
mojo::AssociatedRemote<mojom::CastStreamingReceiver>
cast_streaming_receiver,
mojo::AssociatedRemote<mojom::DemuxerConnector> demuxer_connector,
mojo::AssociatedRemote<mojom::RendererController> renderer_controller) {
DCHECK(!renderer_control_config_);
external_renderer_controls_ =
Expand All @@ -60,7 +58,7 @@ void ReceiverSessionImpl::StartStreamingAsync(
renderer_control_config_.emplace(std::move(renderer_controller),
external_renderer_controls_->Bind());

StartStreamingAsync(std::move(cast_streaming_receiver));
StartStreamingAsync(std::move(demuxer_connector));
}

ReceiverSession::RendererController*
Expand Down Expand Up @@ -131,8 +129,8 @@ void ReceiverSessionImpl::OnSessionInitialization(
std::move(std::move(video_pipe_consumer.value()))));
}

cast_streaming_receiver_->OnStreamsInitialized(std::move(audio_info),
std::move(video_info));
demuxer_connector_->OnStreamsInitialized(std::move(audio_info),
std::move(video_info));

InformClientOfConfigChange();
}
Expand Down Expand Up @@ -216,7 +214,7 @@ void ReceiverSessionImpl::OnSessionEnded() {
DVLOG(1) << __func__;

// Tear down the Mojo connection.
cast_streaming_receiver_.reset();
demuxer_connector_.reset();

// Tear down all remaining Mojo objects if needed. This is necessary if the
// Cast Streaming Session ending was initiated by the receiver component.
Expand Down
20 changes: 10 additions & 10 deletions components/cast_streaming/browser/receiver_session_impl.h
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
#include "components/cast_streaming/browser/cast_streaming_session.h"
#include "components/cast_streaming/browser/demuxer_stream_data_provider.h"
#include "components/cast_streaming/browser/public/receiver_session.h"
#include "components/cast_streaming/public/mojom/cast_streaming_session.mojom.h"
#include "components/cast_streaming/public/mojom/demuxer_connector.mojom.h"
#include "components/cast_streaming/public/mojom/renderer_controller.mojom.h"
#include "media/mojo/mojom/media_types.mojom.h"
#include "mojo/public/cpp/bindings/associated_remote.h"
Expand All @@ -37,12 +37,12 @@ class ReceiverSessionImpl final
ReceiverSessionImpl& operator=(const ReceiverSessionImpl&) = delete;

// ReceiverSession implementation.
void StartStreamingAsync(mojo::AssociatedRemote<mojom::CastStreamingReceiver>
cast_streaming_receiver) override;
void StartStreamingAsync(mojo::AssociatedRemote<mojom::CastStreamingReceiver>
cast_streaming_receiver,
mojo::AssociatedRemote<mojom::RendererController>
renderer_controller) override;
void StartStreamingAsync(mojo::AssociatedRemote<mojom::DemuxerConnector>
demuxer_connector) override;
void StartStreamingAsync(
mojo::AssociatedRemote<mojom::DemuxerConnector> demuxer_connector,
mojo::AssociatedRemote<mojom::RendererController> renderer_controller)
override;
RendererController* GetRendererControls() override;

private:
Expand All @@ -66,10 +66,10 @@ class ReceiverSessionImpl final
mojo::Remote<media::mojom::Renderer> renderer_controls_;
};

// Handler for |cast_streaming_receiver_| disconnect.
// Handler for |demuxer_connector_| disconnect.
void OnMojoDisconnect();

// Callback for mojom::CastStreamingReceiver::EnableReceiver()
// Callback for mojom::DemuxerConnector::EnableReceiver()
void OnReceiverEnabled();

// Informs the client of updated configs.
Expand All @@ -95,7 +95,7 @@ class ReceiverSessionImpl final
MessagePortProvider message_port_provider_;
std::unique_ptr<ReceiverSession::AVConstraints> av_constraints_;

mojo::AssociatedRemote<mojom::CastStreamingReceiver> cast_streaming_receiver_;
mojo::AssociatedRemote<mojom::DemuxerConnector> demuxer_connector_;
cast_streaming::CastStreamingSession cast_streaming_session_;

std::unique_ptr<AudioDemuxerStreamDataProvider>
Expand Down
2 changes: 1 addition & 1 deletion components/cast_streaming/public/mojom/BUILD.gn
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ import("//mojo/public/tools/bindings/mojom.gni")

mojom("mojom") {
sources = [
"cast_streaming_session.mojom",
"demuxer_connector.mojom",
"renderer_controller.mojom",
]
public_deps = [
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -81,15 +81,15 @@ struct VideoStreamInitializationInfo {
// Implemented by the renderer, used to start the Cast Streaming Session.
// Closure of the Mojo channel will trigger the end of the Cast Streaming
// Session.
interface CastStreamingReceiver {
interface DemuxerConnector {
// Used for synchronization between the browser and the renderer. The browser
// should invoke this after binding the interface, and wait for the reply
// callback to know when the renderer is ready to receive and render frames.
EnableReceiver() => ();

// Called when the streams have been successfully initialized. At least one of
// |audio_buffer_requester| or |video_buffer_requester| must be set. This will
// only be called once per the lifetime of CastStreamingReceiver.
// only be called once per the lifetime of DemuxerConnector.
OnStreamsInitialized(
AudioStreamInitializationInfo? audio_buffer_requester,
VideoStreamInitializationInfo? video_buffer_requester);
Expand Down
4 changes: 2 additions & 2 deletions components/cast_streaming/renderer/BUILD.gn
Original file line number Diff line number Diff line change
Expand Up @@ -58,8 +58,8 @@ source_set("resource_provider_impl") {
sources = [
"cast_streaming_demuxer.cc",
"cast_streaming_demuxer.h",
"cast_streaming_receiver.cc",
"cast_streaming_receiver.h",
"demuxer_connector.cc",
"demuxer_connector.h",
"renderer_controller_proxy.cc",
"renderer_controller_proxy.h",
"resource_provider_impl.cc",
Expand Down
18 changes: 9 additions & 9 deletions components/cast_streaming/renderer/cast_streaming_demuxer.cc
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,8 @@
#include "base/bind.h"
#include "base/sequence_checker.h"
#include "base/task/single_thread_task_runner.h"
#include "components/cast_streaming/renderer/cast_streaming_receiver.h"
#include "components/cast_streaming/renderer/decoder_buffer_reader.h"
#include "components/cast_streaming/renderer/demuxer_connector.h"
#include "media/base/audio_decoder_config.h"
#include "media/base/decoder_buffer.h"
#include "media/base/timestamp_constants.h"
Expand Down Expand Up @@ -284,23 +284,23 @@ class CastStreamingVideoDemuxerStream final
};

CastStreamingDemuxer::CastStreamingDemuxer(
CastStreamingReceiver* receiver,
DemuxerConnector* demuxer_connector,
scoped_refptr<base::SingleThreadTaskRunner> media_task_runner)
: media_task_runner_(std::move(media_task_runner)),
original_task_runner_(base::SequencedTaskRunnerHandle::Get()),
receiver_(receiver),
demuxer_connector_(demuxer_connector),
weak_factory_(this) {
DVLOG(1) << __func__;
DCHECK(receiver_);
DCHECK(demuxer_connector_);
}

CastStreamingDemuxer::~CastStreamingDemuxer() {
DVLOG(1) << __func__;

if (was_initialization_successful_) {
original_task_runner_->PostTask(
FROM_HERE, base::BindOnce(&CastStreamingReceiver::OnDemuxerDestroyed,
base::Unretained(receiver_)));
FROM_HERE, base::BindOnce(&DemuxerConnector::OnDemuxerDestroyed,
base::Unretained(demuxer_connector_)));
}
}

Expand Down Expand Up @@ -371,9 +371,9 @@ void CastStreamingDemuxer::Initialize(media::DemuxerHost* host,
initialized_cb_ = std::move(status_cb);

original_task_runner_->PostTask(
FROM_HERE,
base::BindOnce(&CastStreamingReceiver::SetDemuxer,
base::Unretained(receiver_), base::Unretained(this)));
FROM_HERE, base::BindOnce(&DemuxerConnector::SetDemuxer,
base::Unretained(demuxer_connector_),
base::Unretained(this)));
}

void CastStreamingDemuxer::AbortPendingReads() {
Expand Down

0 comments on commit 975de58

Please sign in to comment.