mirror of
https://github.com/Swiftgram/Telegram-iOS.git
synced 2025-12-15 18:59:54 +00:00
Use server config for APM + iOS crash fix
This commit is contained in:
parent
0b42ec8fe2
commit
69adf70d9a
@ -13,6 +13,7 @@
|
||||
#include "audio/AudioOutput.h"
|
||||
#include "audio/AudioInput.h"
|
||||
#include "logging.h"
|
||||
#include "VoIPServerConfig.h"
|
||||
#include <string.h>
|
||||
#include <stdio.h>
|
||||
|
||||
@ -42,12 +43,34 @@ EchoCanceller::EchoCanceller(bool enableAEC, bool enableNS, bool enableAGC){
|
||||
config.high_pass_filter.enabled = enableAEC;
|
||||
config.gain_controller2.enabled = enableAGC;
|
||||
apm->ApplyConfig(config);
|
||||
|
||||
apm->noise_suppression()->set_level(webrtc::NoiseSuppression::Level::kHigh);
|
||||
|
||||
webrtc::NoiseSuppression::Level nsLevel;
|
||||
#ifdef __APPLE__
|
||||
switch(ServerConfig::GetSharedInstance()->GetInt("webrtc_ns_level_vpio", 0)){
|
||||
#else
|
||||
switch(ServerConfig::GetSharedInstance()->GetInt("webrtc_ns_level", 2)){
|
||||
#endif
|
||||
case 0:
|
||||
nsLevel=webrtc::NoiseSuppression::Level::kLow;
|
||||
break;
|
||||
case 1:
|
||||
nsLevel=webrtc::NoiseSuppression::Level::kModerate;
|
||||
break;
|
||||
case 3:
|
||||
nsLevel=webrtc::NoiseSuppression::Level::kVeryHigh;
|
||||
break;
|
||||
case 2:
|
||||
default:
|
||||
nsLevel=webrtc::NoiseSuppression::Level::kHigh;
|
||||
break;
|
||||
}
|
||||
apm->noise_suppression()->set_level(nsLevel);
|
||||
apm->noise_suppression()->Enable(enableNS);
|
||||
if(enableAGC){
|
||||
apm->gain_control()->set_mode(webrtc::GainControl::Mode::kAdaptiveDigital);
|
||||
apm->gain_control()->set_target_level_dbfs(9);
|
||||
apm->gain_control()->set_target_level_dbfs(ServerConfig::GetSharedInstance()->GetInt("webrtc_agc_target_level", 9));
|
||||
apm->gain_control()->enable_limiter(ServerConfig::GetSharedInstance()->GetBoolean("webrtc_agc_enable_limiter", true));
|
||||
apm->gain_control()->set_compression_gain_db(ServerConfig::GetSharedInstance()->GetInt("webrtc_agc_compression_gain", 20));
|
||||
}
|
||||
apm->voice_detection()->set_likelihood(webrtc::VoiceDetection::Likelihood::kVeryLowLikelihood);
|
||||
|
||||
|
||||
@ -73,11 +73,17 @@ CellularCarrierInfo DarwinSpecific::GetCarrierInfo(){
|
||||
#if TARGET_OS_IOS
|
||||
CTTelephonyNetworkInfo* netinfo=[CTTelephonyNetworkInfo new];
|
||||
CTCarrier* carrier=[netinfo subscriberCellularProvider];
|
||||
if(carrier && [carrier carrierName]){
|
||||
info.name=[[carrier carrierName] cStringUsingEncoding:NSUTF8StringEncoding];
|
||||
info.mcc=[[carrier mobileCountryCode] cStringUsingEncoding:NSUTF8StringEncoding];
|
||||
info.mnc=[[carrier mobileNetworkCode] cStringUsingEncoding:NSUTF8StringEncoding];
|
||||
info.countryCode=[[[carrier isoCountryCode] uppercaseString] cStringUsingEncoding:NSUTF8StringEncoding];
|
||||
if(carrier){
|
||||
NSString* name=[carrier carrierName];
|
||||
NSString* mcc=[carrier mobileCountryCode];
|
||||
NSString* mnc=[carrier mobileNetworkCode];
|
||||
NSString* countryCode=[carrier isoCountryCode];
|
||||
if(name && mcc && mnc && countryCode){
|
||||
info.name=[name cStringUsingEncoding:NSUTF8StringEncoding];
|
||||
info.mcc=[mcc cStringUsingEncoding:NSUTF8StringEncoding];
|
||||
info.mnc=[mnc cStringUsingEncoding:NSUTF8StringEncoding];
|
||||
info.countryCode=[[countryCode uppercaseString] cStringUsingEncoding:NSUTF8StringEncoding];
|
||||
}
|
||||
}
|
||||
#endif
|
||||
return info;
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user