aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJordan Bayles <jophba@chromium.org>2021-06-10 11:27:37 -0700
committerOpenscreen LUCI CQ <openscreen-scoped@luci-project-accounts.iam.gserviceaccount.com>2021-06-10 19:52:22 +0000
commit0f37d8d302ee7da5c2ed5eafb93898709b9a0d9c (patch)
tree9d453571d3f6a60587b5b8c07389172beaeddd38
parentf6e2b5ea1dfca4fceb6e1d4004494a88006e1f9f (diff)
downloadopenscreen-0f37d8d302ee7da5c2ed5eafb93898709b9a0d9c.tar.gz
[Cast Streaming] Add DCHECK for codec types
This patch improves error checking in the ReceiverSession, by ensuring that kNotSpecified is not passed as a codec preference to the session. Change-Id: Ifab5626da4de4617721ed2c8a4187fc47bbfc24a Reviewed-on: https://chromium-review.googlesource.com/c/openscreen/+/2950432 Commit-Queue: Jordan Bayles <jophba@chromium.org> Reviewed-by: Ryan Keane <rwkeane@google.com>
-rw-r--r--cast/streaming/receiver_session.cc7
1 files changed, 7 insertions, 0 deletions
diff --git a/cast/streaming/receiver_session.cc b/cast/streaming/receiver_session.cc
index 9d267ada..a49acbca 100644
--- a/cast/streaming/receiver_session.cc
+++ b/cast/streaming/receiver_session.cc
@@ -122,6 +122,13 @@ ReceiverSession::ReceiverSession(Client* const client,
OSP_DCHECK(client_);
OSP_DCHECK(environment_);
+ OSP_DCHECK(!std::any_of(
+ preferences_.video_codecs.begin(), preferences_.video_codecs.end(),
+ [](VideoCodec c) { return c == VideoCodec::kNotSpecified; }));
+ OSP_DCHECK(!std::any_of(
+ preferences_.audio_codecs.begin(), preferences_.audio_codecs.end(),
+ [](AudioCodec c) { return c == AudioCodec::kNotSpecified; }));
+
messenger_.SetHandler(
SenderMessage::Type::kOffer,
[this](SenderMessage message) { OnOffer(std::move(message)); });