| | |
| | | const char *prefname; |
| | | }; |
| | | |
| | | struct codec_name_pref_table codec_pref_table[] = {{"speex", 8000, "speex_8k_preference"}, |
| | | struct codec_name_pref_table hdl_codec_pref_table[] = {{"speex", 8000, "speex_8k_preference"}, |
| | | {"speex", 16000, "speex_16k_preference"}, |
| | | {"silk", 24000, "silk_24k_preference"}, |
| | | {"silk", 16000, "silk_16k_preference"}, |
| | |
| | | |
| | | + (NSString *)getPreferenceForCodec:(const char *)name withRate:(int)rate { |
| | | int i; |
| | | for (i = 0; codec_pref_table[i].name != NULL; ++i) { |
| | | if (strcasecmp(codec_pref_table[i].name, name) == 0 && codec_pref_table[i].rate == rate) |
| | | return [NSString stringWithUTF8String:codec_pref_table[i].prefname]; |
| | | for (i = 0; hdl_codec_pref_table[i].name != NULL; ++i) { |
| | | if (strcasecmp(hdl_codec_pref_table[i].name, name) == 0 && hdl_codec_pref_table[i].rate == rate) |
| | | return [NSString stringWithUTF8String:hdl_codec_pref_table[i].prefname]; |
| | | } |
| | | return Nil; |
| | | } |
| | | |
| | | + (NSSet *)unsupportedCodecs { |
| | | NSMutableSet *set = [NSMutableSet set]; |
| | | for (int i = 0; codec_pref_table[i].name != NULL; ++i) { |
| | | for (int i = 0; hdl_codec_pref_table[i].name != NULL; ++i) { |
| | | PayloadType *available = linphone_core_find_payload_type( |
| | | theLinphoneCore, codec_pref_table[i].name, codec_pref_table[i].rate, LINPHONE_FIND_PAYLOAD_IGNORE_CHANNELS); |
| | | theLinphoneCore, hdl_codec_pref_table[i].name, hdl_codec_pref_table[i].rate, LINPHONE_FIND_PAYLOAD_IGNORE_CHANNELS); |
| | | if ((available == NULL) |
| | | // these two codecs should not be hidden, even if not supported |
| | | && strcmp(codec_pref_table[i].prefname, "h264_preference") != 0 && |
| | | strcmp(codec_pref_table[i].prefname, "mp4v-es_preference") != 0) { |
| | | [set addObject:[NSString stringWithUTF8String:codec_pref_table[i].prefname]]; |
| | | && strcmp(hdl_codec_pref_table[i].prefname, "h264_preference") != 0 && |
| | | strcmp(hdl_codec_pref_table[i].prefname, "mp4v-es_preference") != 0) { |
| | | [set addObject:[NSString stringWithUTF8String:hdl_codec_pref_table[i].prefname]]; |
| | | } |
| | | } |
| | | return set; |