Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit 8b397fe

Browse files
feat: Add RTCDegradationPreference to RTCRtpParameters.
1 parent 5e9f541 commit 8b397fe

File tree

4 files changed

+44
-1
lines changed

4 files changed

+44
-1
lines changed

‎CHANGELOG.md‎

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,10 @@
11
# Changelog
22

33
--------------------------------------------
4+
[1.0.13] - 2023年04月14日
5+
6+
* Add RTCDegradationPreference to RTCRtpParameters.
7+
48
[1.0.12] - 2023年04月10日
59

610
* Add addStreams to RTCRtpSender.

‎lib/src/enums.dart‎

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -176,3 +176,31 @@ RTCPeerConnectionState peerConnectionStateForString(String? state) {
176176

177177
return RTCPeerConnectionState.RTCPeerConnectionStateClosed;
178178
}
179+
180+
enum RTCDegradationPreference {
181+
DISABLED,
182+
MAINTAIN_FRAMERATE,
183+
MAINTAIN_RESOLUTION,
184+
BALANCED,
185+
}
186+
187+
final typeRTCDegradationPreferenceString = <RTCDegradationPreference, String>{
188+
RTCDegradationPreference.DISABLED: 'disabled',
189+
RTCDegradationPreference.MAINTAIN_FRAMERATE: 'maintain-framerate',
190+
RTCDegradationPreference.MAINTAIN_RESOLUTION: 'maintain-resolution',
191+
RTCDegradationPreference.BALANCED: 'balanced',
192+
};
193+
194+
RTCDegradationPreference degradationPreferenceforString(String? degradation) {
195+
switch (degradation) {
196+
case 'disabled':
197+
return RTCDegradationPreference.DISABLED;
198+
case 'maintain-framerate':
199+
return RTCDegradationPreference.MAINTAIN_FRAMERATE;
200+
case 'maintain-resolution':
201+
return RTCDegradationPreference.MAINTAIN_RESOLUTION;
202+
case 'balanced':
203+
return RTCDegradationPreference.BALANCED;
204+
}
205+
return RTCDegradationPreference.BALANCED;
206+
}

‎lib/src/rtc_rtp_parameters.dart‎

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
import 'enums.dart';
12
import 'rtc_rtcp_parameters.dart';
23

34
class RTCRTPCodec {
@@ -151,6 +152,7 @@ class RTCRtpParameters {
151152
this.headerExtensions,
152153
this.encodings,
153154
this.codecs,
155+
this.degradationPreference,
154156
});
155157

156158
factory RTCRtpParameters.fromMap(Map<dynamic, dynamic> map) {
@@ -169,12 +171,16 @@ class RTCRtpParameters {
169171
codecsMap.forEach((params) {
170172
codecs.add(RTCRTPCodec.fromMap(params));
171173
});
174+
175+
var degradationPreference = map['degradationPreference'];
172176
var rtcp = RTCRTCPParameters.fromMap(map['rtcp']);
173177
return RTCRtpParameters(
174178
transactionId: map['transactionId'],
175179
rtcp: rtcp,
176180
headerExtensions: headerExtensions,
177181
encodings: encodings,
182+
degradationPreference:
183+
degradationPreferenceforString(degradationPreference),
178184
codecs: codecs);
179185
}
180186

@@ -186,6 +192,8 @@ class RTCRtpParameters {
186192

187193
List<RTCRtpEncoding>? encodings;
188194

195+
RTCDegradationPreference? degradationPreference;
196+
189197
/// Codec parameters can't currently be changed between getParameters and
190198
/// setParameters. Though in the future it will be possible to reorder them or
191199
/// remove them.
@@ -210,6 +218,9 @@ class RTCRtpParameters {
210218
'headerExtensions': headerExtensionsList,
211219
'encodings': encodingList,
212220
'codecs': codecsList,
221+
if (degradationPreference != null)
222+
'degradationPreference':
223+
typeRTCDegradationPreferenceString[degradationPreference!],
213224
};
214225
}
215226
}

‎pubspec.yaml‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
name: webrtc_interface
22
description: WebRTC Interface for Dart-Web/Flutter.
3-
version: 1.0.12
3+
version: 1.0.13
44
homepage: https://flutter-webrtc.org
55

66
environment:

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /