chenqiyang
2022-05-11 7960485054f37eb60d63a98231686cef41302a8b
HDLLinPhoneSDK(OC)/HDLLinPhoneSDK/HDLLinphoneManager.m
@@ -139,7 +139,7 @@
   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"},
@@ -167,23 +167,23 @@
+ (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;