setPreferredCodec method

void setPreferredCodec(
  1. RTCSessionDescription description, {
  2. String audioCodec = 'opus',
  3. String videoCodec = 'vp8',
})

Implementation

void setPreferredCodec(RTCSessionDescription description,
    {String audioCodec = 'opus', String videoCodec = 'vp8'}) {
  var capSel = CodecCapabilitySelector(description.sdp!);
  var acaps = capSel.getCapabilities('audio');
  if (acaps != null) {
    acaps.codecs = acaps.codecs
        .where((e) => (e['codec'] as String).toLowerCase() == audioCodec)
        .toList();
    acaps.setCodecPreferences('audio', acaps.codecs);
    capSel.setCapabilities(acaps);
  }
  var vcaps = capSel.getCapabilities('video');
  if (vcaps != null) {
    vcaps.codecs = vcaps.codecs
        .where((e) => (e['codec'] as String).toLowerCase() == videoCodec)
        .toList();
    vcaps.setCodecPreferences('video', vcaps.codecs);
    capSel.setCapabilities(vcaps);
  }
  description.sdp = capSel.sdp();
}