diff options
Diffstat (limited to 'cast/streaming/offer_messages_unittest.cc')
-rw-r--r-- | cast/streaming/offer_messages_unittest.cc | 44 |
1 files changed, 41 insertions, 3 deletions
diff --git a/cast/streaming/offer_messages_unittest.cc b/cast/streaming/offer_messages_unittest.cc index 038d2f80..3bad54d0 100644 --- a/cast/streaming/offer_messages_unittest.cc +++ b/cast/streaming/offer_messages_unittest.cc @@ -81,6 +81,22 @@ constexpr char kValidOffer[] = R"({ "channels": 2, "aesKey": "51027e4e2347cbcb49d57ef10177aebc", "aesIvMask": "7f12a19be62a36c04ae4116caaeff6d1" + }, + { + "index": 3, + "type": "video_source", + "codecName": "av1", + "rtpProfile": "cast", + "rtpPayloadType": 104, + "ssrc": 19088744, + "maxFrameRate": "30000/1001", + "targetDelay": 1000, + "timeBase": "1/90000", + "maxBitRate": 5000000, + "profile": "main", + "level": "5", + "aesKey": "bbf109bf84513b456b13a184453b66ce", + "aesIvMask": "edaf9e4536e2b66191f560d9c04b2a69" } ] })"; @@ -103,12 +119,13 @@ void ExpectEqualsValidOffer(const Offer& offer) { EXPECT_EQ(CastMode::kMirroring, offer.cast_mode); // Verify list of video streams. - EXPECT_EQ(2u, offer.video_streams.size()); + EXPECT_EQ(3u, offer.video_streams.size()); const auto& video_streams = offer.video_streams; const bool flipped = video_streams[0].stream.index != 0; - const VideoStream& vs_one = flipped ? video_streams[1] : video_streams[0]; - const VideoStream& vs_two = flipped ? video_streams[0] : video_streams[1]; + const VideoStream& vs_one = flipped ? video_streams[2] : video_streams[0]; + const VideoStream& vs_two = video_streams[1]; + const VideoStream& vs_three = flipped ? video_streams[0] : video_streams[2]; EXPECT_EQ(0, vs_one.stream.index); EXPECT_EQ(1, vs_one.stream.channels); @@ -163,6 +180,27 @@ void ExpectEqualsValidOffer(const Offer& offer) { const auto& resolutions_two = vs_two.resolutions; EXPECT_EQ(0u, resolutions_two.size()); + EXPECT_EQ(3, vs_three.stream.index); + EXPECT_EQ(1, vs_three.stream.channels); + EXPECT_EQ(Stream::Type::kVideoSource, vs_three.stream.type); + EXPECT_EQ(VideoCodec::kAv1, vs_three.codec); + EXPECT_EQ(RtpPayloadType::kVideoAv1, vs_three.stream.rtp_payload_type); + EXPECT_EQ(19088744u, vs_three.stream.ssrc); + EXPECT_EQ((SimpleFraction{30000, 1001}), vs_three.max_frame_rate); + EXPECT_EQ(90000, vs_three.stream.rtp_timebase); + EXPECT_EQ(5000000, vs_three.max_bit_rate); + EXPECT_EQ("main", vs_three.profile); + EXPECT_EQ("5", vs_three.level); + EXPECT_THAT(vs_three.stream.aes_key, + ElementsAre(0xbb, 0xf1, 0x09, 0xbf, 0x84, 0x51, 0x3b, 0x45, 0x6b, + 0x13, 0xa1, 0x84, 0x45, 0x3b, 0x66, 0xce)); + EXPECT_THAT(vs_three.stream.aes_iv_mask, + ElementsAre(0xed, 0xaf, 0x9e, 0x45, 0x36, 0xe2, 0xb6, 0x61, 0x91, + 0xf5, 0x60, 0xd9, 0xc0, 0x4b, 0x2a, 0x69)); + + const auto& resolutions_three = vs_three.resolutions; + EXPECT_EQ(0u, resolutions_three.size()); + // Verify list of audio streams. EXPECT_EQ(1u, offer.audio_streams.size()); const AudioStream& as = offer.audio_streams[0]; |