@@ -4,20 +4,73 @@ class RTCRtpCodecCapability {
44 required this .clockRate,
55 required this .mimeType,
66 this .sdpFmtpLine});
7+ factory RTCRtpCodecCapability .fromMap (Map <dynamic , dynamic > map) {
8+ return RTCRtpCodecCapability (
9+ channels: map['channels' ],
10+ clockRate: map['clockRate' ],
11+ mimeType: map['mimeType' ],
12+ sdpFmtpLine: map['sdpFmtpLine' ],
13+ );
14+ }
715 num ? channels;
816 num clockRate;
917 String mimeType;
1018 String ? sdpFmtpLine;
19+ Map <String , dynamic > toMap () {
20+ return {
21+ 'channels' : channels,
22+ 'clockRate' : clockRate,
23+ 'mimeType' : mimeType,
24+ if (sdpFmtpLine != null ) 'sdpFmtpLine' : sdpFmtpLine,
25+ };
26+ }
1127}
1228
1329class RTCRtpHeaderExtensionCapability {
1430 RTCRtpHeaderExtensionCapability (this .uri);
31+ factory RTCRtpHeaderExtensionCapability .fromMap (Map <dynamic , dynamic > map) {
32+ return RTCRtpHeaderExtensionCapability (map['uri' ]);
33+ }
1534 String uri;
35+ Map <String , dynamic > toMap () {
36+ return {
37+ 'uri' : uri,
38+ };
39+ }
1640}
1741
1842class RTCRtpCapabilities {
1943 RTCRtpCapabilities ({this .codecs, this .headerExtensions, this .fecMechanisms});
44+ factory RTCRtpCapabilities .fromMap (Map <dynamic , dynamic > map) {
45+ var codecs = < RTCRtpCodecCapability > [];
46+ dynamic codecsMap = map['codecs' ];
47+ codecsMap.forEach ((params) {
48+ codecs.add (RTCRtpCodecCapability .fromMap (params));
49+ });
50+ var headerExtensions = < RTCRtpHeaderExtensionCapability > [];
51+ dynamic headerExtensionsMap = map['headerExtensions' ];
52+ headerExtensionsMap.forEach ((params) {
53+ headerExtensions.add (RTCRtpHeaderExtensionCapability .fromMap (params));
54+ });
55+ var fecMechanisms = < String > [];
56+ dynamic fecMechanismsMap = map['fecMechanisms' ];
57+ fecMechanismsMap.forEach ((params) {
58+ fecMechanisms.add (params);
59+ });
60+ return RTCRtpCapabilities (
61+ codecs: codecs,
62+ headerExtensions: headerExtensions,
63+ fecMechanisms: fecMechanisms);
64+ }
2065 List <RTCRtpCodecCapability >? codecs;
2166 List <RTCRtpHeaderExtensionCapability >? headerExtensions;
2267 List <String >? fecMechanisms;
68+ 69+ Map <String , dynamic > toMap () {
70+ return {
71+ 'codecs' : codecs? .map ((e) => e.toMap ()).toList (),
72+ 'headerExtensions' : headerExtensions? .map ((e) => e.toMap ()).toList (),
73+ 'fecMechanisms' : fecMechanisms,
74+ };
75+ }
2376}
0 commit comments