ProducerOptionsType.fromMap constructor

ProducerOptionsType.fromMap(
  1. Map<String, dynamic> map
)

Implementation

factory ProducerOptionsType.fromMap(Map<String, dynamic> map) {
  final instance = ProducerOptionsType(
    encodings: (map['encodings'] as List).map((e) {
      return RtpEncodingParameters(
        rid: e['rid'] as String?,
        maxBitrate: e['maxBitrate'] as int?,
        minBitrate: e['minBitrate'] as int?,
        scalabilityMode: e['scalabilityMode'] as String?,
        scaleResolutionDownBy: e['scaleResolutionDownBy'] as double?,
        // Add other fields if necessary based on RtpEncodingParameters definition
      );
    }).toList(),
    codecOptions: map['codecOptions'] != null
        ? ProducerCodecOptions(
            // Initialize fields for ProducerCodecOptions here if necessary
          )
        : null,
    track: map['track'] as MediaStreamTrack?,
    stream: map['stream'] as MediaStream?,
    codec: map['codec'] as RtpCodecCapability?,
  );

  // Add extra properties excluding known fields
  instance._extraProperties.addAll(
    Map.from(map)..removeWhere(
      (key, _) => [
        'encodings',
        'codecOptions',
        'track',
        'stream',
        'codec',
      ].contains(key),
    ),
  );

  return instance;
}