Reland "Wiring the RTCRtpEncodingParameters.priority down to the bitrate allocator."
This is a reland of d2b912aed132c751919ed286439fb39bbd714dda
Original change's description:
> Wiring the RTCRtpEncodingParameters.priority down to the bitrate allocator.
>
> I followed the wiring path for the max bitrate.
> Doc:
> https://docs.google.com/a/google.com/document/d/1sGT6y00prOIErFuGD44zWZacDpR6Rkjg_HXA_Z3Vw4Q/edit?usp=sharing
>
> Bug: webrtc:8630
> Change-Id: I6b861816670442656721c20f81d035ee5eb6218c
> Reviewed-on: https://webrtc-review.googlesource.com/30380
> Commit-Queue: Seth Hampson <shampson@webrtc.org>
> Reviewed-by: Stefan Holmer <stefan@webrtc.org>
> Reviewed-by: Fredrik Solenberg <solenberg@webrtc.org>
> Reviewed-by: Erik Språng <sprang@webrtc.org>
> Reviewed-by: Elad Alon <eladalon@webrtc.org>
> Reviewed-by: Peter Thatcher <pthatcher@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#21397}
TBR=solenberg@webrtc.org,eladalon@webrtc.org,sprang@webrtc.org,stefan@webrtc.org
Bug: webrtc:8630
Change-Id: I7429d9e270c9ecb4dfaf6aef85d3055c47658631
Reviewed-on: https://webrtc-review.googlesource.com/35600
Commit-Queue: Seth Hampson <shampson@webrtc.org>
Reviewed-by: Peter Thatcher <pthatcher@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21524}
diff --git a/pc/rtpsenderreceiver_unittest.cc b/pc/rtpsenderreceiver_unittest.cc
index 03bb84b..6334f72 100644
--- a/pc/rtpsenderreceiver_unittest.cc
+++ b/pc/rtpsenderreceiver_unittest.cc
@@ -12,6 +12,7 @@
#include <string>
#include <utility>
+#include "api/rtpparameters.h"
#include "media/base/fakemediaengine.h"
#include "media/base/rtpdataengine.h"
#include "media/engine/fakewebrtccall.h"
@@ -600,6 +601,28 @@
DestroyAudioRtpSender();
}
+TEST_F(RtpSenderReceiverTest, SetAudioBitratePriority) {
+ CreateAudioRtpSender();
+
+ webrtc::RtpParameters params = audio_rtp_sender_->GetParameters();
+ EXPECT_EQ(1, params.encodings.size());
+ EXPECT_EQ(webrtc::kDefaultBitratePriority,
+ params.encodings[0].bitrate_priority);
+ double new_bitrate_priority = 2.0;
+ params.encodings[0].bitrate_priority = new_bitrate_priority;
+ EXPECT_TRUE(audio_rtp_sender_->SetParameters(params));
+
+ params = audio_rtp_sender_->GetParameters();
+ EXPECT_EQ(1, params.encodings.size());
+ EXPECT_EQ(new_bitrate_priority, params.encodings[0].bitrate_priority);
+
+ params = voice_media_channel_->GetRtpSendParameters(kAudioSsrc);
+ EXPECT_EQ(1, params.encodings.size());
+ EXPECT_EQ(new_bitrate_priority, params.encodings[0].bitrate_priority);
+
+ DestroyAudioRtpSender();
+}
+
TEST_F(RtpSenderReceiverTest, VideoSenderCanSetParameters) {
CreateVideoRtpSender();
@@ -636,6 +659,28 @@
DestroyVideoRtpSender();
}
+TEST_F(RtpSenderReceiverTest, SetVideoBitratePriority) {
+ CreateVideoRtpSender();
+
+ webrtc::RtpParameters params = video_rtp_sender_->GetParameters();
+ EXPECT_EQ(1, params.encodings.size());
+ EXPECT_EQ(webrtc::kDefaultBitratePriority,
+ params.encodings[0].bitrate_priority);
+ double new_bitrate_priority = 2.0;
+ params.encodings[0].bitrate_priority = new_bitrate_priority;
+ EXPECT_TRUE(video_rtp_sender_->SetParameters(params));
+
+ params = video_rtp_sender_->GetParameters();
+ EXPECT_EQ(1, params.encodings.size());
+ EXPECT_EQ(new_bitrate_priority, params.encodings[0].bitrate_priority);
+
+ params = video_media_channel_->GetRtpSendParameters(kVideoSsrc);
+ EXPECT_EQ(1, params.encodings.size());
+ EXPECT_EQ(new_bitrate_priority, params.encodings[0].bitrate_priority);
+
+ DestroyVideoRtpSender();
+}
+
TEST_F(RtpSenderReceiverTest, AudioReceiverCanSetParameters) {
CreateAudioRtpReceiver();