8000 feat: Add RTCRtpCapabilities interface. · flutter-webrtc/webrtc-interface@6c9a62d · GitHub
[go: up one dir, main page]

Skip to content

Commit 6c9a62d

Browse files
committed
feat: Add RTCRtpCapabilities interface.
1 parent 798a57c commit 6c9a62d

File tree

4 files changed

+33
-0
lines changed

4 files changed

+33
-0
lines changed

lib/src/rtc_rtp_capabilities.dart

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
class RTCRtpCodecCapability {
2+
RTCRtpCodecCapability(
3+
{this.channels,
4+
required this.clockRate,
5+
required this.mimeType,
6+
this.sdpFmtpLine});
7+
num? channels;
8+
num clockRate;
9+
String mimeType;
10+
String? sdpFmtpLine;
11+
}
12+
13+
class RTCRtpHeaderExtensionCapability {
14+
RTCRtpHeaderExtensionCapability(this.uri);
15+
String uri;
16+
}
17+
18+
class RTCRtpCapabilities {
19+
RTCRtpCapabilities({this.codecs, this.headerExtensions, this.fecMechanisms});
20+
List<RTCRtpCodecCapability>? codecs;
21+
List<RTCRtpHeaderExtensionCapability>? headerExtensions;
22+
List<String>? fecMechanisms;
23+
}

lib/src/rtc_rtp_receiver.dart

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import 'enums.dart';
22
import 'media_stream_track.dart';
3+
import 'rtc_rtp_capabilities.dart';
34
import 'rtc_rtp_parameters.dart';
45
import 'rtc_stats_report.dart';
56

@@ -17,6 +18,8 @@ abstract class RTCRtpReceiver {
1718
/// http://ortc.org/wp-content/uploads/2016/03/ortc.html#rtcrtpparameters*.
1819
RTCRtpParameters get parameters;
1920

21+
Future<RTCRtpCapabilities> getCapabilities();
22+
2023
MediaStreamTrack? get track;
2124

2225
String get receiverId;

lib/src/rtc_rtp_sender.dart

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
import 'dart:async';
22

3+
import 'package:webrtc_interface/src/rtc_rtp_capabilities.dart';
4+
35
import 'media_stream_track.dart';
46
import 'rtc_dtmf_sender.dart';
57
import 'rtc_rtp_parameters.dart';
@@ -16,6 +18,8 @@ abstract class RTCRtpSender {
1618

1719
Future<List<StatsReport>> getStats();
1820

21+
Future<RTCRtpCapabilities> getCapabilities();
22+
1923
RTCRtpParameters get parameters;
2024

2125
MediaStreamTrack? get track;

lib/src/rtc_rtp_transceiver.dart

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ import 'dart:async';
22

33
import 'enums.dart';
44
import 'media_stream.dart';
5+
import 'rtc_rtp_capabilities.dart';
56
import 'rtc_rtp_parameters.dart';
67
import 'rtc_rtp_receiver.dart';
78
import 'rtc_rtp_sender.dart';
@@ -30,6 +31,8 @@ abstract class RTCRtpTransceiver {
3031

3132
Future<TransceiverDirection> getDirection();
3233

34+
Future<void> setCodecPreferences(List<RTCRtpCodecCapability> codecs);
35+
3336
String get mid;
3437

3538
RTCRtpSender get sender;

0 commit comments

Comments
 (0)
0