diff --git a/Classes/LinphoneCoreSettingsStore.m b/Classes/LinphoneCoreSettingsStore.m
index 0832178db..15caf27fe 100644
--- a/Classes/LinphoneCoreSettingsStore.m
+++ b/Classes/LinphoneCoreSettingsStore.m
@@ -187,8 +187,9 @@ extern void linphone_iphone_log_handler(int lev, const char *fmt, va_list args);
[self setBool:linphone_core_adaptive_rate_control_enabled(lc) forKey:@"adaptive_rate_control_preference"];
[self setString:linphone_core_get_adaptive_rate_algorithm(lc) forKey:@"adaptive_rate_algorithm_preference"];
- [self setInteger:lp_config_get_int(conf, "audio", "codec_bitrate_limit", kLinphoneAudioVbrCodecDefaultBitrate) forKey:@"audio_codec_bitrate_limit_preference"];
- [self setInteger:lp_config_get_int(conf, LINPHONERC_APPLICATION_KEY, "disable_voiceproc", 0) forKey:@"disable_voiceproc"];
+ [self setInteger:lp_config_get_int(conf, "audio", "codec_bitrate_limit", kLinphoneAudioVbrCodecDefaultBitrate) forKey:@"audio_codec_bitrate_limit_preference"];
+ [self setInteger:lp_config_get_int(conf, LINPHONERC_APPLICATION_KEY, "voiceproc_preference", 1) forKey:@"voiceproc_preference"];
+ [self setInteger:lp_config_get_int(conf, "sound", "eq_active", 0) forKey:@"eq_active"];
}
[self setBool:lp_config_get_int(conf, LINPHONERC_APPLICATION_KEY, "advanced_account_preference", 0) forKey:@"advanced_account_preference"];
@@ -543,7 +544,16 @@ extern void linphone_iphone_log_handler(int lev, const char *fmt, va_list args);
[self stringForKey:@"adaptive_rate_algorithm_preference"] cStringUsingEncoding:[NSString defaultCStringEncoding]
]);
- lp_config_set_int(config, LINPHONERC_APPLICATION_KEY, "disable_voiceproc", [self boolForKey:@"disable_voiceproc"]);
+ // Voice processing
+ BOOL voice_processing = [self boolForKey:@"voiceproc_preference"];
+ lp_config_set_int(config, LINPHONERC_APPLICATION_KEY, "voiceproc_preference", voice_processing);
+ NSString* au_device = @"AU: Audio Unit Receiver";
+ if( !voice_processing ){ au_device = @"AU: Audio Unit NoVoiceProc"; }
+ linphone_core_set_capture_device(lc, [au_device UTF8String]);
+ linphone_core_set_playback_device(lc, [au_device UTF8String]);
+
+ BOOL equalizer = [self boolForKey:@"eq_active"];
+ lp_config_set_int(config, "sound", "eq_active", equalizer);
linphone_core_set_use_info_for_dtmf(lc, [self boolForKey:@"sipinfo_dtmf_preference"]);
linphone_core_set_use_rfc2833_for_dtmf(lc, [self boolForKey:@"rfc_dtmf_preference"]);
diff --git a/Resources/linphonerc b/Resources/linphonerc
index 314bb41c4..360d286b7 100644
--- a/Resources/linphonerc
+++ b/Resources/linphonerc
@@ -23,6 +23,11 @@ firewall_policy=0
download_bw=380
upload_bw=380
+[sound]
+playback_dev_id=AU: Audio Unit Receiver
+capture_dev_id=AU: Audio Unit Receiver
+eq_active=0
+
[app]
rotation_preference=auto
animations_preference=1
@@ -31,7 +36,7 @@ use_system_contacts=0
start_at_boot_preference=1
backgroundmode_preference=1
autoanswer_notif_preference=1
-
+voiceproc_preference=1
[default_values]
reg_expires=600
\ No newline at end of file
diff --git a/Resources/linphonerc-factory b/Resources/linphonerc-factory
index 09882a861..67ca24af6 100644
--- a/Resources/linphonerc-factory
+++ b/Resources/linphonerc-factory
@@ -26,12 +26,9 @@ video_jitt_comp=60
nortp_timeout=30
[sound]
-playback_dev_id=AU: Audio Unit Receiver
ringer_dev_id=AQ: Audio Queue Device
-capture_dev_id=AU: Audio Unit Receiver
echocancellation=0
dtmf_player_amp=0.007
-eq_active=1
eq_location=mic
eq_gains=50:2:50 100:2:50
diff --git a/Resources/linphonerc-factory~ipad b/Resources/linphonerc-factory~ipad
index 2cb9a3139..7ab44ac65 100644
--- a/Resources/linphonerc-factory~ipad
+++ b/Resources/linphonerc-factory~ipad
@@ -26,12 +26,9 @@ video_jitt_comp=60
nortp_timeout=30
[sound]
-playback_dev_id=AU: Audio Unit Receiver
ringer_dev_id=AQ: Audio Queue Device
-capture_dev_id=AU: Audio Unit Receiver
echocancellation=0
dtmf_player_amp=0.007
-eq_active=1
eq_location=mic
eq_gains=50:2:50 100:2:50
diff --git a/Resources/linphonerc~ipad b/Resources/linphonerc~ipad
index 89537baaa..2f010650c 100644
--- a/Resources/linphonerc~ipad
+++ b/Resources/linphonerc~ipad
@@ -23,6 +23,11 @@ firewall_policy=0
download_bw=512
upload_bw=512
+[sound]
+playback_dev_id=AU: Audio Unit Receiver
+capture_dev_id=AU: Audio Unit Receiver
+eq_active=0
+
[app]
rotation_preference=auto
animations_preference=1
@@ -31,6 +36,7 @@ use_system_contacts=0
start_at_boot_preference=1
backgroundmode_preference=1
autoanswer_notif_preference=1
+voiceproc_preference=1
[default_values]
reg_expires=600
diff --git a/Settings/InAppSettings.bundle/Audio.plist b/Settings/InAppSettings.bundle/Audio.plist
index 64d1cecba..1121dd229 100644
--- a/Settings/InAppSettings.bundle/Audio.plist
+++ b/Settings/InAppSettings.bundle/Audio.plist
@@ -246,13 +246,23 @@
128
+
+ DefaultValue
+
+ Key
+ voiceproc_preference
+ Title
+ Enable Voice Processing
+ Type
+ PSToggleSwitchSpecifier
+
DefaultValue
Key
- disable_voiceproc
+ eq_active
Title
- Disable VoiceProc and Equalizer
+ Enable Bass Boost
Type
PSToggleSwitchSpecifier
diff --git a/Settings/InAppSettings.bundle/en.lproj/Audio.strings b/Settings/InAppSettings.bundle/en.lproj/Audio.strings
index 4384de768..db5389c2a 100644
--- a/Settings/InAppSettings.bundle/en.lproj/Audio.strings
+++ b/Settings/InAppSettings.bundle/en.lproj/Audio.strings
@@ -48,3 +48,9 @@
/* Codec bitrate limit */
"Codec bitrate limit" = "Codec bitrate limit";
+
+/* Voice processing */
+"Enable Voice Processing"="Enable Voice Processing";
+
+/* Bass Boost / equalizer */
+"Enable Bass Boost"="Enable Bass Boost";
\ No newline at end of file
diff --git a/Settings/InAppSettings.bundle/fr.lproj/Audio.strings b/Settings/InAppSettings.bundle/fr.lproj/Audio.strings
index c90dc9783..5295f9cc3 100644
--- a/Settings/InAppSettings.bundle/fr.lproj/Audio.strings
+++ b/Settings/InAppSettings.bundle/fr.lproj/Audio.strings
@@ -48,3 +48,16 @@
/* Codec bitrate limit */
"Codec bitrate limit" = "Limite de débit du codec";
+
+/* Voice processing */
+"Enable Voice Processing"="Optimiser le son pour la VoIP";
+
+/* Bass Boost / equalizer */
+"Enable Bass Boost"="Activer Bass Boost";
+
+/* Adaptative */
+"Adaptive rate algorithm"="Adaptation du débit";
+
+"Simple"="Simple";
+
+"Stateful"="Stateful";
\ No newline at end of file
diff --git a/Settings/InAppSettings.bundle/ru.lproj/Audio.strings b/Settings/InAppSettings.bundle/ru.lproj/Audio.strings
index 2b325e3ae..05456dfcd 100644
--- a/Settings/InAppSettings.bundle/ru.lproj/Audio.strings
+++ b/Settings/InAppSettings.bundle/ru.lproj/Audio.strings
@@ -48,3 +48,9 @@
/* Codec bitrate limit */
"Codec bitrate limit" = "Codec bitrate limit";
+
+/* Voice processing */
+"Enable Voice Processing"="Enable Voice Processing";
+
+/* Bass Boost / equalizer */
+"Enable Bass Boost"="Enable Bass Boost";
\ No newline at end of file
diff --git a/submodules/linphone b/submodules/linphone
index df58cddb5..ebdc286d6 160000
--- a/submodules/linphone
+++ b/submodules/linphone
@@ -1 +1 @@
-Subproject commit df58cddb5d09bba69802ee33aee5385607fd1a68
+Subproject commit ebdc286d6d9e9b6b90f0096f9932a6d25642a0a3