getCodecsList static method

List<Codec> getCodecsList(
  1. List<int>? selectedCodecsIds, {
  2. bool audio = true,
})

Converts list of int id's to list of Codecs. When input list not specified - returns default codecs settings

Implementation

static List<Codec> getCodecsList(List<int>? selectedCodecsIds, {bool audio=true}) {
  List<Codec> ret = <Codec>[];
  if(selectedCodecsIds != null) {
    for(var c in selectedCodecsIds) {
      ret.add(Codec(c, selected:true));
    }

    for(var c in Codec.availableCodecs(audio)) {
      if(ret.indexWhere((codec) => (codec.id == c))==-1) {
        ret.add(Codec(c, selected:false));
      }
    }
  }
  else {
    //Build codecs selected by default
    for(var c in Codec.availableCodecs(audio)) {
      bool sel = audio ? ((c==SiprixVoipSdk.kAudioCodecDTMF)||(c==SiprixVoipSdk.kAudioCodecOpus)||(c==SiprixVoipSdk.kAudioCodecPCMA))
                       : ((c==SiprixVoipSdk.kVideoCodecVP8)||(c==SiprixVoipSdk.kVideoCodecH264));
      ret.add(Codec(c, selected:sel));
    }
  }

  return ret;
}