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 == PjsipConnectFlutter.kAudioCodecDTMF) ||
(c == PjsipConnectFlutter.kAudioCodecOpus) ||
(c == PjsipConnectFlutter.kAudioCodecPCMA))
: ((c == PjsipConnectFlutter.kVideoCodecVP8) ||
(c == PjsipConnectFlutter.kVideoCodecH264));
ret.add(Codec(c, selected: sel));
}
}
return ret;
}