Implement changing degradation preference with setParameters()
The current default behavior is unchanged and points to MAINTAIN_FRAMERATE, meaning there is no way to currently use BALANCED as we can't detect when the value as been set or not. Updating this is an API change that should be done in another CL and properly communicated first. Bug: webrtc:7607 Change-Id: Ic3877ad8dd7bc418296f21a04bc37f59ec55934a Reviewed-on: https://webrtc-review.googlesource.com/88766 Reviewed-by: Stefan Holmer <stefan@webrtc.org> Reviewed-by: Steve Anton <steveanton@webrtc.org> Commit-Queue: Florent Castelli <orphis@webrtc.org> Cr-Commit-Position: refs/heads/master@{#24024}
This commit is contained in:

committed by
Commit Bot

parent
a61f7db9ae
commit
87b3c510b4
@ -67,8 +67,7 @@ bool PerSenderRtpEncodingParameterHasValue(
|
||||
// Returns true if any RtpParameters member that isn't implemented contains a
|
||||
// value.
|
||||
bool UnimplementedRtpParameterHasValue(const RtpParameters& parameters) {
|
||||
if (!parameters.mid.empty() ||
|
||||
parameters.degradation_preference != DegradationPreference::BALANCED) {
|
||||
if (!parameters.mid.empty()) {
|
||||
return true;
|
||||
}
|
||||
for (size_t i = 0; i < parameters.encodings.size(); ++i) {
|
||||
|
@ -675,18 +675,12 @@ TEST_F(RtpSenderReceiverTest, AudioSenderCantSetUnimplementedRtpParameters) {
|
||||
RtpParameters params = audio_rtp_sender_->GetParameters();
|
||||
EXPECT_EQ(1u, params.encodings.size());
|
||||
|
||||
// Unimplemented RtpParameters: mid, header_extensions,
|
||||
// degredation_preference.
|
||||
// Unimplemented RtpParameters: mid
|
||||
params.mid = "dummy_mid";
|
||||
EXPECT_EQ(RTCErrorType::UNSUPPORTED_PARAMETER,
|
||||
audio_rtp_sender_->SetParameters(params).type());
|
||||
params = audio_rtp_sender_->GetParameters();
|
||||
|
||||
ASSERT_EQ(DegradationPreference::BALANCED, params.degradation_preference);
|
||||
params.degradation_preference = DegradationPreference::MAINTAIN_FRAMERATE;
|
||||
EXPECT_EQ(RTCErrorType::UNSUPPORTED_PARAMETER,
|
||||
audio_rtp_sender_->SetParameters(params).type());
|
||||
|
||||
DestroyAudioRtpSender();
|
||||
}
|
||||
|
||||
@ -868,18 +862,12 @@ TEST_F(RtpSenderReceiverTest, VideoSenderCantSetUnimplementedRtpParameters) {
|
||||
RtpParameters params = video_rtp_sender_->GetParameters();
|
||||
EXPECT_EQ(1u, params.encodings.size());
|
||||
|
||||
// Unimplemented RtpParameters: mid, header_extensions,
|
||||
// degredation_preference.
|
||||
// Unimplemented RtpParameters: mid
|
||||
params.mid = "dummy_mid";
|
||||
EXPECT_EQ(RTCErrorType::UNSUPPORTED_PARAMETER,
|
||||
video_rtp_sender_->SetParameters(params).type());
|
||||
params = video_rtp_sender_->GetParameters();
|
||||
|
||||
ASSERT_EQ(DegradationPreference::BALANCED, params.degradation_preference);
|
||||
params.degradation_preference = DegradationPreference::MAINTAIN_FRAMERATE;
|
||||
EXPECT_EQ(RTCErrorType::UNSUPPORTED_PARAMETER,
|
||||
video_rtp_sender_->SetParameters(params).type());
|
||||
|
||||
DestroyVideoRtpSender();
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user