Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(352)

Unified Diff: webrtc/media/engine/webrtcvideoengine2_unittest.cc

Issue 2185953002: Add decoder-specific settings with proper lifetime. (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: Add h264_extra_settings to VideoReceiveStream::Decoder::ToString() Created 4 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « webrtc/media/engine/webrtcvideoengine2.cc ('k') | webrtc/video/video_receive_stream.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: webrtc/media/engine/webrtcvideoengine2_unittest.cc
diff --git a/webrtc/media/engine/webrtcvideoengine2_unittest.cc b/webrtc/media/engine/webrtcvideoengine2_unittest.cc
index 24cd8fc9573c1ea40c20236a9e804f5d4069100f..9a37e9d7cfa62a380d1ddafdcc7905ab01439120 100644
--- a/webrtc/media/engine/webrtcvideoengine2_unittest.cc
+++ b/webrtc/media/engine/webrtcvideoengine2_unittest.cc
@@ -3595,6 +3595,40 @@ TEST_F(WebRtcVideoChannel2Test, GetRtpReceiveParametersCodecs) {
EXPECT_EQ(kVp9Codec.ToCodecParameters(), rtp_parameters.codecs[1]);
}
+TEST_F(WebRtcVideoChannel2Test, GetRtpReceiveFmtpSprop) {
+ cricket::VideoRecvParameters parameters;
+ cricket::VideoCodec kH264sprop1(101, "H264", 640, 400, 15);
+ kH264sprop1.SetParam("sprop-parameter-sets", "uvw");
+ parameters.codecs.push_back(kH264sprop1);
+ cricket::VideoCodec kH264sprop2(102, "H264", 640, 400, 15);
+ kH264sprop2.SetParam("sprop-parameter-sets", "xyz");
+ parameters.codecs.push_back(kH264sprop2);
+ EXPECT_TRUE(channel_->SetRecvParameters(parameters));
+
+ FakeVideoReceiveStream* recv_stream = AddRecvStream();
+ const webrtc::VideoReceiveStream::Config& cfg = recv_stream->GetConfig();
+ webrtc::RtpParameters rtp_parameters =
+ channel_->GetRtpReceiveParameters(last_ssrc_);
+ ASSERT_EQ(2u, rtp_parameters.codecs.size());
+ EXPECT_EQ(kH264sprop1.ToCodecParameters(), rtp_parameters.codecs[0]);
+ ASSERT_EQ(2u, cfg.decoders.size());
+ EXPECT_EQ(101, cfg.decoders[0].payload_type);
+ EXPECT_EQ("H264", cfg.decoders[0].payload_name);
+ std::string sprop;
+ const webrtc::DecoderSpecificSettings* decoder_specific;
+ decoder_specific = &cfg.decoders[0].decoder_specific;
+ ASSERT_TRUE(static_cast<bool>(decoder_specific->h264_extra_settings));
+ sprop = decoder_specific->h264_extra_settings->sprop_parameter_sets;
+ EXPECT_EQ("uvw", sprop);
+
+ EXPECT_EQ(102, cfg.decoders[1].payload_type);
+ EXPECT_EQ("H264", cfg.decoders[1].payload_name);
+ decoder_specific = &cfg.decoders[1].decoder_specific;
+ ASSERT_TRUE(static_cast<bool>(decoder_specific->h264_extra_settings));
+ sprop = decoder_specific->h264_extra_settings->sprop_parameter_sets;
+ EXPECT_EQ("xyz", sprop);
+}
+
// Test that RtpParameters for receive stream has one encoding and it has
// the correct SSRC.
TEST_F(WebRtcVideoChannel2Test, RtpEncodingParametersSsrcIsSet) {
« no previous file with comments | « webrtc/media/engine/webrtcvideoengine2.cc ('k') | webrtc/video/video_receive_stream.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698