@@ -54,6 +54,7 @@ constructor(
5454
5555data class VideoEncoding (
5656 val maxBitrate : Int ,
57+ val minBitrate : Int ,
5758 val maxFps : Int ,
5859) {
5960 fun toRtpEncoding (
@@ -63,6 +64,7 @@ data class VideoEncoding(
6364 return RtpParameters .Encoding (rid, true , scaleDownBy).apply {
6465 numTemporalLayers = 1
6566 maxBitrateBps = maxBitrate
67+ minBitrateBps = minBitrate
6668 maxFramerate = maxFps
6769
6870 // only set on the full track
@@ -109,39 +111,39 @@ enum class VideoPreset169(
109111) : VideoPreset {
110112 H90 (
111113 VideoCaptureParameter (160 , 90 , 15 ),
112- VideoEncoding (90_000 , 15 ),
114+ VideoEncoding (90_000 , 0 , 15 ),
113115 ),
114116 H180 (
115117 VideoCaptureParameter (320 , 180 , 15 ),
116- VideoEncoding (160_000 , 15 ),
118+ VideoEncoding (160_000 , 0 , 15 ),
117119 ),
118120 H216 (
119121 VideoCaptureParameter (384 , 216 , 15 ),
120- VideoEncoding (180_000 , 15 ),
122+ VideoEncoding (180_000 , 0 , 15 ),
121123 ),
122124 H360 (
123125 VideoCaptureParameter (640 , 360 , 30 ),
124- VideoEncoding (450_000 , 30 ),
126+ VideoEncoding (450_000 , 0 , 30 ),
125127 ),
126128 H540 (
127129 VideoCaptureParameter (960 , 540 , 30 ),
128- VideoEncoding (800_000 , 30 ),
130+ VideoEncoding (800_000 , 0 , 30 ),
129131 ),
130132 H720 (
131133 VideoCaptureParameter (1280 , 720 , 30 ),
132- VideoEncoding (1_700_000 , 30 ),
134+ VideoEncoding (1_700_000 , 0 , 30 ),
133135 ),
134136 H1080 (
135137 VideoCaptureParameter (1920 , 1080 , 30 ),
136- VideoEncoding (3_000_000 , 30 ),
138+ VideoEncoding (3_000_000 , 0 , 30 ),
137139 ),
138140 H1440 (
139141 VideoCaptureParameter (2560 , 1440 , 30 ),
140- VideoEncoding (5_000_000 , 30 ),
142+ VideoEncoding (5_000_000 , 0 , 30 ),
141143 ),
142144 H2160 (
143145 VideoCaptureParameter (3840 , 2160 , 30 ),
144- VideoEncoding (8_000_000 , 30 ),
146+ VideoEncoding (8_000_000 , 0 , 30 ),
145147 ),
146148}
147149
@@ -154,39 +156,39 @@ enum class VideoPreset43(
154156) : VideoPreset {
155157 H120 (
156158 VideoCaptureParameter (160 , 120 , 15 ),
157- VideoEncoding (70_000 , 15 ),
159+ VideoEncoding (70_000 , 0 , 15 ),
158160 ),
159161 H180 (
160162 VideoCaptureParameter (240 , 180 , 15 ),
161- VideoEncoding (125_000 , 15 ),
163+ VideoEncoding (125_000 , 0 , 15 ),
162164 ),
163165 H240 (
164166 VideoCaptureParameter (320 , 240 , 15 ),
165- VideoEncoding (140_000 , 15 ),
167+ VideoEncoding (140_000 , 0 , 15 ),
166168 ),
167169 H360 (
168170 VideoCaptureParameter (480 , 360 , 30 ),
169- VideoEncoding (330_000 , 30 ),
171+ VideoEncoding (330_000 , 0 , 30 ),
170172 ),
171173 H480 (
172174 VideoCaptureParameter (640 , 480 , 30 ),
173- VideoEncoding (500_000 , 30 ),
175+ VideoEncoding (500_000 , 0 , 30 ),
174176 ),
175177 H540 (
176178 VideoCaptureParameter (720 , 540 , 30 ),
177- VideoEncoding (600_000 , 30 ),
179+ VideoEncoding (600_000 , 0 , 30 ),
178180 ),
179181 H720 (
180182 VideoCaptureParameter (960 , 720 , 30 ),
181- VideoEncoding (1_300_000 , 30 ),
183+ VideoEncoding (1_300_000 , 0 , 30 ),
182184 ),
183185 H1080 (
184186 VideoCaptureParameter (1440 , 1080 , 30 ),
185- VideoEncoding (2_300_000 , 30 ),
187+ VideoEncoding (2_300_000 , 0 , 30 ),
186188 ),
187189 H1440 (
188190 VideoCaptureParameter (1920 , 1440 , 30 ),
189- VideoEncoding (3_800_000 , 30 ),
191+ VideoEncoding (3_800_000 , 0 , 30 ),
190192 ),
191193}
192194
@@ -199,38 +201,38 @@ enum class ScreenSharePresets(
199201) : VideoPreset {
200202 H360_FPS3 (
201203 VideoCaptureParameter (640 , 360 , 3 ),
202- VideoEncoding (200_000 , 3 ),
204+ VideoEncoding (200_000 , 0 , 3 ),
203205 ),
204206 H360_FPS15 (
205207 VideoCaptureParameter (640 , 360 , 15 ),
206- VideoEncoding (400_000 , 15 ),
208+ VideoEncoding (400_000 , 0 , 15 ),
207209 ),
208210 H720_FPS5 (
209211 VideoCaptureParameter (1280 , 720 , 5 ),
210- VideoEncoding (800_000 , 5 ),
212+ VideoEncoding (800_000 , 0 , 5 ),
211213 ),
212214 H720_FPS15 (
213215 VideoCaptureParameter (1280 , 720 , 15 ),
214- VideoEncoding (1_500_000 , 15 ),
216+ VideoEncoding (1_500_000 , 0 , 15 ),
215217 ),
216218 H720_FPS30 (
217219 VideoCaptureParameter (1280 , 720 , 30 ),
218- VideoEncoding (2_000_000 , 30 ),
220+ VideoEncoding (2_000_000 , 0 , 30 ),
219221 ),
220222 H1080_FPS15 (
221223 VideoCaptureParameter (1920 , 1080 , 15 ),
222- VideoEncoding (2_500_000 , 15 ),
224+ VideoEncoding (2_500_000 , 0 , 15 ),
223225 ),
224226 H1080_FPS30 (
225227 VideoCaptureParameter (1920 , 1080 , 30 ),
226- VideoEncoding (5_000_000 , 30 ),
228+ VideoEncoding (5_000_000 , 0 , 30 ),
227229 ),
228230
229231 /* *
230232 * Uses the original resolution without resizing.
231233 */
232234 ORIGINAL (
233235 VideoCaptureParameter (0 , 0 , 30 , adaptOutputToDimensions = false ),
234- VideoEncoding (7_000_000 , 30 ),
236+ VideoEncoding (7_000_000 , 0 , 30 ),
235237 )
236238}
0 commit comments