setPreferredCodec method

void setPreferredCodec(
  1. RTCSessionDescription description
)

Implementation

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