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); |