diff options
author | Jordan Bayles <jophba@chromium.org> | 2021-07-01 15:13:23 -0700 |
---|---|---|
committer | Openscreen LUCI CQ <openscreen-scoped@luci-project-accounts.iam.gserviceaccount.com> | 2021-07-01 22:52:43 +0000 |
commit | 2e2730fe0190f72dadd631176d2f380b4a6186a8 (patch) | |
tree | 16948b153573e25eafe4dfc986de016013faeed3 /cast/streaming/sender_session_unittest.cc | |
parent | f2d9d267c1363c42d6eef6f9190033af98fb236b (diff) | |
download | openscreen-2e2730fe0190f72dadd631176d2f380b4a6186a8.tar.gz |
[Cast Streaming] Add codec negotiation over RPC
This patch adds support for negotiating codec information over the RPC
messenger class for both the standalone sender and receiver.
Although a full remoting implementation in the standalone
implementations is not a goal and not particularly practical, it is
important that we exercise the public remoting APIs and get basic usage
and flows handled in our library.
To that end, this patch specifically adds support for sending
RPC_DS_INITIALIZE and RPC_DS_INITIALIZE_CALLBACK messages, simulating
the process of setting up a remoting media stream and demuxer in Chrome.
NOTE: this does not enable "true" remoting--the standalone sender is
still decoding and reencoding the video. For "true" remoting support we
need the ability to unpack raw frames (probably exclusively from a WebM
container that holds VP8 frames) and pass them directly.
In future patches, we can also consider adding additional features to
the standalone implementation, such as play/pause and volume control
methods.
Bug: b/190078859
Change-Id: I49c2acb537aa3c647b8c3a53c9545f5eb3893982
Reviewed-on: https://chromium-review.googlesource.com/c/openscreen/+/2973373
Commit-Queue: Jordan Bayles <jophba@chromium.org>
Reviewed-by: mark a. foltz <mfoltz@chromium.org>
Diffstat (limited to 'cast/streaming/sender_session_unittest.cc')
-rw-r--r-- | cast/streaming/sender_session_unittest.cc | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/cast/streaming/sender_session_unittest.cc b/cast/streaming/sender_session_unittest.cc index 36b1bae8..bfe4cfab 100644 --- a/cast/streaming/sender_session_unittest.cc +++ b/cast/streaming/sender_session_unittest.cc @@ -545,8 +545,9 @@ TEST_F(SenderSessionTest, SuccessfulRemotingNegotiationYieldsValidObject) { // The messenger is tested elsewhere, but we can sanity check that we got a valid // one here. - EXPECT_TRUE(negotiation.messenger); - const RpcMessenger::Handle handle = negotiation.messenger->GetUniqueHandle(); + EXPECT_TRUE(session_->rpc_messenger()); + const RpcMessenger::Handle handle = + session_->rpc_messenger()->GetUniqueHandle(); EXPECT_NE(RpcMessenger::kInvalidHandle, handle); } |