| Index: webrtc/video/video_send_stream_tests.cc
|
| diff --git a/webrtc/video/video_send_stream_tests.cc b/webrtc/video/video_send_stream_tests.cc
|
| index 87abfea08ca75e642083957949600d6c0af255b2..569f8a565b42cb04846eca28b1981416a41860a2 100644
|
| --- a/webrtc/video/video_send_stream_tests.cc
|
| +++ b/webrtc/video/video_send_stream_tests.cc
|
| @@ -1487,7 +1487,7 @@ class VideoCodecConfigObserver : public test::SendTest,
|
| kVideoCodecConfigObserverNumberOfTemporalLayers - 1);
|
| }
|
|
|
| - encoder_config->encoder_specific_settings = &encoder_settings_;
|
| + encoder_config->encoder_specific_settings = GetEncoderSpecificSettings();
|
| encoder_config_ = *encoder_config;
|
| }
|
|
|
| @@ -1508,6 +1508,8 @@ class VideoCodecConfigObserver : public test::SendTest,
|
| }
|
|
|
| void VerifyCodecSpecifics(const VideoCodec& config) const;
|
| + rtc::scoped_refptr<VideoEncoderConfig::EncoderSpecificSettings>
|
| + GetEncoderSpecificSettings() const;
|
|
|
| void PerformTest() override {
|
| EXPECT_TRUE(
|
| @@ -1515,6 +1517,7 @@ class VideoCodecConfigObserver : public test::SendTest,
|
| ASSERT_EQ(1u, num_initializations_) << "VideoEncoder not initialized.";
|
|
|
| encoder_settings_.frameDroppingOn = true;
|
| + encoder_config_.encoder_specific_settings = GetEncoderSpecificSettings();
|
| stream_->ReconfigureVideoEncoder(encoder_config_);
|
| ASSERT_TRUE(
|
| init_encode_event_.Wait(VideoSendStreamTest::kDefaultTimeoutMs));
|
| @@ -1546,6 +1549,13 @@ void VideoCodecConfigObserver<VideoCodecH264>::VerifyCodecSpecifics(
|
| sizeof(encoder_settings_)));
|
| }
|
| template <>
|
| +rtc::scoped_refptr<VideoEncoderConfig::EncoderSpecificSettings>
|
| +VideoCodecConfigObserver<VideoCodecH264>::GetEncoderSpecificSettings() const {
|
| + return new rtc::RefCountedObject<
|
| + VideoEncoderConfig::H264EncoderSpecificSettings>(encoder_settings_);
|
| +}
|
| +
|
| +template <>
|
| void VideoCodecConfigObserver<VideoCodecVP8>::VerifyCodecSpecifics(
|
| const VideoCodec& config) const {
|
| // Check that the number of temporal layers has propagated properly to
|
| @@ -1567,6 +1577,13 @@ void VideoCodecConfigObserver<VideoCodecVP8>::VerifyCodecSpecifics(
|
| sizeof(encoder_settings_)));
|
| }
|
| template <>
|
| +rtc::scoped_refptr<VideoEncoderConfig::EncoderSpecificSettings>
|
| +VideoCodecConfigObserver<VideoCodecVP8>::GetEncoderSpecificSettings() const {
|
| + return new rtc::RefCountedObject<
|
| + VideoEncoderConfig::Vp8EncoderSpecificSettings>(encoder_settings_);
|
| +}
|
| +
|
| +template <>
|
| void VideoCodecConfigObserver<VideoCodecVP9>::VerifyCodecSpecifics(
|
| const VideoCodec& config) const {
|
| // Check that the number of temporal layers has propagated properly to
|
| @@ -1587,6 +1604,12 @@ void VideoCodecConfigObserver<VideoCodecVP9>::VerifyCodecSpecifics(
|
| EXPECT_EQ(0, memcmp(&config.codecSpecific.VP9, &encoder_settings,
|
| sizeof(encoder_settings_)));
|
| }
|
| +template <>
|
| +rtc::scoped_refptr<VideoEncoderConfig::EncoderSpecificSettings>
|
| +VideoCodecConfigObserver<VideoCodecVP9>::GetEncoderSpecificSettings() const {
|
| + return new rtc::RefCountedObject<
|
| + VideoEncoderConfig::Vp9EncoderSpecificSettings>(encoder_settings_);
|
| +}
|
|
|
| TEST_F(VideoSendStreamTest, EncoderSetupPropagatesVp8Config) {
|
| VideoCodecConfigObserver<VideoCodecVP8> test(kVideoCodecVP8, "VP8");
|
| @@ -1916,11 +1939,12 @@ class Vp9HeaderObserver : public test::SendTest {
|
| VideoSendStream::Config* send_config,
|
| std::vector<VideoReceiveStream::Config>* receive_configs,
|
| VideoEncoderConfig* encoder_config) override {
|
| - encoder_config->encoder_specific_settings = &vp9_settings_;
|
| send_config->encoder_settings.encoder = vp9_encoder_.get();
|
| send_config->encoder_settings.payload_name = "VP9";
|
| send_config->encoder_settings.payload_type = kVp9PayloadType;
|
| ModifyVideoConfigsHook(send_config, receive_configs, encoder_config);
|
| + encoder_config->encoder_specific_settings = new rtc::RefCountedObject<
|
| + VideoEncoderConfig::Vp9EncoderSpecificSettings>(vp9_settings_);
|
| EXPECT_EQ(1u, encoder_config->streams.size());
|
| encoder_config->streams[0].temporal_layer_thresholds_bps.resize(
|
| vp9_settings_.numberOfTemporalLayers - 1);
|
|
|