void CodecList::GetAllowedFormats (OpalMediaFormatList & formats) { OpalMediaFormat::GetAllRegisteredMediaFormats (formats); formats.RemoveNonTransportable (); OpalMediaFormatList black_list; black_list += "Linear-16-Stereo-48kHz"; black_list += "LPC-10"; black_list += "Speex*"; black_list += "FECC*"; black_list += "RFC4175*"; // Blacklist NSE, since it is unused in ekiga and might create // problems with some registrars (such as Eutelia) black_list += "NamedSignalEvent"; // Only keep OPUS in mono mode (for VoIP chat) // and with the maximum sample rate black_list += "Opus-8*"; black_list += "Opus-12*"; black_list += "Opus-16*"; black_list += "Opus-24*"; black_list += "Opus-48S"; // Only include the VP8 RFC version of the capability black_list += "VP8-OM"; // Purge blacklisted codecs formats -= black_list; // Only keep audio and video codecs for (int i = 0 ; i < formats.GetSize () ; i++) { if (formats[i].GetMediaType () != OpalMediaType::Audio () && formats[i].GetMediaType () != OpalMediaType::Video ()) formats -= formats[i]; } PTRACE(4, "Ekiga\tAll available audio & video media formats: " << setfill (',') << formats); }