| 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 ba15b17c85b229604bd7ba082e836b00ac54fc4f..66fbf0abb683d2229155757c49f646cc0e9368f3 100644
|
| --- a/webrtc/video/video_send_stream_tests.cc
|
| +++ b/webrtc/video/video_send_stream_tests.cc
|
| @@ -1726,7 +1726,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->Copy();
|
| }
|
|
|
| @@ -1747,6 +1747,8 @@ class VideoCodecConfigObserver : public test::SendTest,
|
| }
|
|
|
| void VerifyCodecSpecifics(const VideoCodec& config) const;
|
| + rtc::scoped_refptr<VideoEncoderConfig::EncoderSpecificSettings>
|
| + GetEncoderSpecificSettings() const;
|
|
|
| void PerformTest() override {
|
| EXPECT_TRUE(
|
| @@ -1754,6 +1756,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(std::move(encoder_config_));
|
| ASSERT_TRUE(
|
| init_encode_event_.Wait(VideoSendStreamTest::kDefaultTimeoutMs));
|
| @@ -1784,6 +1787,14 @@ void VideoCodecConfigObserver<VideoCodecH264>::VerifyCodecSpecifics(
|
| EXPECT_EQ(0, memcmp(&config.codecSpecific.H264, &encoder_settings_,
|
| 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 {
|
| @@ -1805,6 +1816,14 @@ void VideoCodecConfigObserver<VideoCodecVP8>::VerifyCodecSpecifics(
|
| EXPECT_EQ(0, memcmp(&config.codecSpecific.VP8, &encoder_settings,
|
| 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 {
|
| @@ -1827,6 +1846,13 @@ void VideoCodecConfigObserver<VideoCodecVP9>::VerifyCodecSpecifics(
|
| 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");
|
| RunBaseTest(&test);
|
| @@ -2190,11 +2216,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);
|
|
|