b469805b2d0c9b23ca020cf9356ff137205f856c..7960485054f37eb60d63a98231686cef41302a8b
2022-05-11 chenqiyang
修改部分方法
OC
796048 对比 | 目录
2021-12-15 464027401@qq.com
去掉部分无用日志打印
2e150f 对比 | 目录
2021-12-14 464027401@qq.com
设置为随机端口
548b4e 对比 | 目录
2个文件已修改
30 ■■■■■ 已修改文件
HDLLinPhoneSDK(OC)/HDLLinPhoneSDK/HDLLinphoneManager.m 30 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Shared.IOS.HDLLinphoneSDK/Shared.IOS.HDLLinphoneSDK/Library/libHDLLinPhoneSDK.a 补丁 | 查看 | 原始文档 | blame | 历史
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;
@@ -2132,11 +2132,21 @@
    linphone_core_cbs_set_version_update_check_result_received(cbs, linphone_iphone_version_update_check_result_received);
    linphone_core_cbs_set_qrcode_found(cbs, linphone_iphone_qr_code_found);
    linphone_core_cbs_set_user_data(cbs, (__bridge void *)(self));
//    NSLog(@"Creating linphonecore1:%@",_configDb);
    lp_config_set_int(_configDb, [@"app" UTF8String], [@"random_port_preference" UTF8String], 1);
    theLinphoneCore = linphone_factory_create_core_with_config_3(factory, _configDb, NULL);
    linphone_core_add_callbacks(theLinphoneCore, cbs);
    linphone_core_start(theLinphoneCore);
    //设置为随机端口
    LinphoneSipTransports transportValue = {-1, -1, -1, -1};
    // will also update the sip_*_port section of the config
    if (linphone_core_set_sip_transports(theLinphoneCore, &transportValue)) {
        LOGE(@"cannot set transport");
    }
    [self removeAllAccounts];
    // Let the core handle cbs
    linphone_core_cbs_unref(cbs);
Shared.IOS.HDLLinphoneSDK/Shared.IOS.HDLLinphoneSDK/Library/libHDLLinPhoneSDK.a
Binary files differ