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..22a4f003decb3fd8fd30b8bab310ec0441820a9b 100644 |
--- a/webrtc/media/engine/webrtcvideoengine2_unittest.cc |
+++ b/webrtc/media/engine/webrtcvideoengine2_unittest.cc |
@@ -3595,6 +3595,42 @@ 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); |
+ ASSERT_NE(nullptr, cfg.decoders[0].decoder_specific); // h264_specifics); |
+ std::string sprop; |
+ // const rtc::scoped_refptr<webrtc::DecoderSpecificSettings> |
+ // decoder_specifics = cfg.decoders[0].decoder_specific; |
+ // sprop = decoder_specifics->h264_extra_settings->spropParameterSets; |
sprang_webrtc
2016/07/27 08:37:25
Missing cleanup? :)
|
+ sprop = |
+ cfg.decoders[0].decoder_specific->h264_extra_settings->spropParameterSets; |
sprang_webrtc
2016/07/27 08:37:25
h264_extra_settings is an optional, check if popul
|
+ EXPECT_EQ("uvw", sprop); |
+ |
+ EXPECT_EQ(102, cfg.decoders[1].payload_type); |
+ EXPECT_EQ("H264", cfg.decoders[1].payload_name); |
+ ASSERT_NE(nullptr, cfg.decoders[0].decoder_specific); |
+ sprop = |
+ cfg.decoders[0].decoder_specific->h264_extra_settings->spropParameterSets; |
+ EXPECT_EQ("xyz", sprop); |
+} |
+ |
// Test that RtpParameters for receive stream has one encoding and it has |
// the correct SSRC. |
TEST_F(WebRtcVideoChannel2Test, RtpEncodingParametersSsrcIsSet) { |