@@ -113,10 +113,82 @@ class RTCRtpEncodingParameters {
113113
114114Map <String , dynamic > rtpEncodingParametersToMap (
115115 RTCRtpEncodingParameters parameters) {
116- return {};
116+ return {
117+ 'rtcp' : rtcpParametersToMap (parameters.rtcp),
118+ 'headerExtensions' : parameters.headerExtensions
119+ .map ((e) => headerExtensionToMap (e))
120+ .toList (),
121+ 'encodings' : parameters.encodings.map ((e) => rtpEncodingToMap (e)).toList (),
122+ 'codecs' : parameters.codecs.map ((e) => rtcCodecToMap (e)).toList (),
123+ };
117124}
118125
119126RTCRtpEncodingParameters rtpEncodingParametersFromMap (
120127 Map <String , dynamic > map) {
121- return RTCRtpEncodingParameters ();
128+ return RTCRtpEncodingParameters (
129+ rtcp: rtcpParametersFromMap (map['rtcp' ]),
130+ codecs: (map['codecs' ] as List ).map ((e) => rtcCodecFromMap (e)).toList (),
131+ encodings:
132+ (map['encodings' ] as List ).map ((e) => rtpEncodingFromMap (e)).toList (),
133+ headerExtensions: (map['headerExtensions' ] as List )
134+ .map ((e) => headerExtensionFromMap (e))
135+ .toList ());
136+ }
137+
138+ Map <String , dynamic > rtpEncodingToMap (RTCRtpEncoding encoding) {
139+ return {
140+ 'rid' : encoding.rid,
141+ 'active' : encoding.active,
142+ 'maxBitrateBps' : encoding.maxBitrateBps,
143+ 'minBitrateBps' : encoding.minBitrateBps,
144+ 'maxFramerate' : encoding.maxFramerate,
145+ 'numTemporalLayers' : encoding.numTemporalLayers,
146+ 'scaleResolutionDownBy' : encoding.scaleResolutionDownBy,
147+ 'ssrc' : encoding.ssrc
148+ };
149+ }
150+
151+ RTCRtpEncoding rtpEncodingFromMap (Map <String , dynamic > map) {
152+ return RTCRtpEncoding (
153+ rid: map['rid' ],
154+ active: map['active' ],
155+ maxBitrateBps: map['maxBitrateBps' ],
156+ minBitrateBps: map['minBitrateBps' ],
157+ numTemporalLayers: map['numTemporalLayers' ],
158+ scaleResolutionDownBy: map['scaleResolutionDownBy' ],
159+ ssrc: map['ssrc' ]);
160+ }
161+
162+ Map <String , dynamic > rtcCodecToMap (RTCRTPCodec codec) {
163+ return {
164+ 'payloadType' : codec.payloadType,
165+ 'name' : codec.name,
166+ 'kind' : codec.kind,
167+ 'clockRate' : codec.clockRate,
168+ 'numChannels' : codec.numChannels,
169+ 'parameters' : codec.parameters
170+ };
171+ }
172+
173+ RTCRTPCodec rtcCodecFromMap (Map <String , dynamic > map) {
174+ return RTCRTPCodec (
175+ payloadType: map['payloadType' ],
176+ name: map['name' ],
177+ kind: map['kind' ],
178+ clockRate: map['clockRate' ],
179+ numChannels: map['numChannels' ],
180+ parameters: map['parameters' ]);
181+ }
182+
183+ Map <String , dynamic > headerExtensionToMap (RTCHeaderExtension headerExtension) {
184+ return {
185+ 'uri' : headerExtension.uri,
186+ 'id' : headerExtension.id,
187+ 'encrypted' : headerExtension.encrypted
188+ };
189+ }
190+
191+ RTCHeaderExtension headerExtensionFromMap (Map <String , dynamic > map) {
192+ return RTCHeaderExtension (
193+ encrypted: map['encrypted' ], id: map['id' ], uri: map['uri' ]);
122194}
0 commit comments