From 9757d69c1b4f5ef5b886b852ddf893751246a248 Mon Sep 17 00:00:00 2001 From: Jehan Monnier Date: Tue, 15 Nov 2016 13:29:51 +0100 Subject: [PATCH] Only allows use of Simple adaptive rate algorithm --- coreapi/linphonecore.c | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/coreapi/linphonecore.c b/coreapi/linphonecore.c index 4a37b9d38..d560bc8fc 100644 --- a/coreapi/linphonecore.c +++ b/coreapi/linphonecore.c @@ -1468,11 +1468,20 @@ bool_t linphone_core_adaptive_rate_control_enabled(const LinphoneCore *lc){ } void linphone_core_set_adaptive_rate_algorithm(LinphoneCore *lc, const char* algorithm){ + if (ms_qos_analyzer_algorithm_from_string(algorithm) != MSQosAnalyzerAlgorithmSimple) { + ms_warning("Unsupported adaptive rate algorithm [%s] on core [%p], using Simple",algorithm,lc); + linphone_core_set_adaptive_rate_algorithm(lc,ms_qos_analyzer_algorithm_to_string(MSQosAnalyzerAlgorithmSimple)); + return; + } lp_config_set_string(lc->config,"net","adaptive_rate_algorithm",algorithm); } const char * linphone_core_get_adaptive_rate_algorithm(const LinphoneCore *lc){ - return lp_config_get_string(lc->config, "net", "adaptive_rate_algorithm", "Simple"); + const char* saved_value = lp_config_get_string(lc->config, "net", "adaptive_rate_algorithm", "Simple"); + if (ms_qos_analyzer_algorithm_from_string(saved_value) != MSQosAnalyzerAlgorithmSimple) { + ms_warning("Unsupported adaptive rate algorithm [%s] on core [%p], using Simple",saved_value,lc); + } + return ms_qos_analyzer_algorithm_to_string(MSQosAnalyzerAlgorithmSimple); } bool_t linphone_core_rtcp_enabled(const LinphoneCore *lc){