getCodecsList static method
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;
}