Add adaptive rate algorithm setting
This commit is contained in:
parent
36e2f77076
commit
5a7ef0aab0
8 changed files with 237 additions and 196 deletions
1
.gitignore
vendored
1
.gitignore
vendored
|
@ -28,3 +28,4 @@ submodules/externals/build/libvpx/x86
|
|||
submodules/externals/build/libvpx/arm
|
||||
submodules/externals/build/openh264/arm
|
||||
submodules/externals/build/openh264/x86
|
||||
submodules/externals/build/cunit/CUnit/
|
||||
|
|
|
@ -98,8 +98,10 @@
|
|||
<string name="pref_media_encryption_key_zrtp">zrtp</string>
|
||||
<string name="pref_background_mode_key">pref_background_mode_key</string>
|
||||
<string name="pref_codec_bitrate_limit_key">pref_codec_bitrate_limit_key</string>
|
||||
<string name="pref_adaptative_rate_control_key">pref_adaptative_rate_control_key</string>
|
||||
|
||||
<string name="pref_adaptive_rate_control_key">pref_adaptive_rate_control_key</string>
|
||||
<string name="pref_adaptive_rate_algorithm_key">pref_adaptive_rate_algorithm</string>
|
||||
<string name="pref_adaptive_rate_algorithm_simple_key">pref_adaptive_rate_algorithm_simple_key</string>
|
||||
<string name="pref_adaptive_rate_algorithm_stateful_key">pref_adaptive_rate_algorithm_stateful_key</string>
|
||||
|
||||
<string name="push_reg_id_key">push_reg_id_key</string>
|
||||
<string name="push_sender_id_key">push_sender_id_key</string>
|
||||
|
|
|
@ -166,7 +166,13 @@
|
|||
<string name="pref_audio_port_description">Audio port or port range (minport-maxport)</string>
|
||||
<string name="pref_incoming_call_timeout_title">Incoming call timeout (in seconds)</string>
|
||||
<string name="place_call_chooser">Place a call</string>
|
||||
<string name="pref_adaptative_rate_control">Adaptative rate control</string>
|
||||
<string name="pref_adaptive_rate_control">Adaptive rate control</string>
|
||||
<string name="pref_adaptive_rate_algorithm">Adaptive rate algorithm</string>
|
||||
<string-array name="adaptive_rate_algorithm_entries">
|
||||
<item>Simple</item>
|
||||
<item>Stateful</item>
|
||||
</string-array>
|
||||
|
||||
<string name="pref_codec_bitrate_limit">Codec bitrate limit</string>
|
||||
|
||||
<string-array name="limit_bitrate_entries">
|
||||
|
|
|
@ -54,8 +54,14 @@
|
|||
android:key="@string/pref_echo_canceller_calibration_key"/>
|
||||
|
||||
<CheckBoxPreference
|
||||
android:title="@string/pref_adaptative_rate_control"
|
||||
android:key="@string/pref_adaptative_rate_control_key" />
|
||||
android:title="@string/pref_adaptive_rate_control"
|
||||
android:key="@string/pref_adaptive_rate_control_key" />
|
||||
|
||||
<ListPreference
|
||||
android:title="@string/pref_adaptive_rate_algorithm"
|
||||
android:key="@string/pref_adaptive_rate_algorithm_key"
|
||||
android:entries="@array/adaptive_rate_algorithm_entries"
|
||||
android:entryValues="@array/adaptive_rate_algorithm_entries" />
|
||||
|
||||
<ListPreference
|
||||
android:title="@string/pref_codec_bitrate_limit"
|
||||
|
|
|
@ -23,6 +23,7 @@ import org.linphone.core.LinphoneAddress;
|
|||
import org.linphone.core.LinphoneAuthInfo;
|
||||
import org.linphone.core.LinphoneCore;
|
||||
import org.linphone.core.LinphoneAddress.TransportType;
|
||||
import org.linphone.core.LinphoneCore.AdaptiveRateAlgorithm;
|
||||
import org.linphone.core.LinphoneCore.FirewallPolicy;
|
||||
import org.linphone.core.LinphoneCore.MediaEncryption;
|
||||
import org.linphone.core.LinphoneCore.RegistrationState;
|
||||
|
@ -1098,14 +1099,22 @@ public class LinphonePreferences {
|
|||
return getConfig().getBool("app", "first_remote_provisioning", true);
|
||||
}
|
||||
|
||||
public boolean isAdaptativeRateControlEnabled() {
|
||||
public boolean isAdaptiveRateControlEnabled() {
|
||||
return getLc().isAdaptiveRateControlEnabled();
|
||||
}
|
||||
|
||||
public void enableAdaptativeRateControl(boolean enabled) {
|
||||
public void enableAdaptiveRateControl(boolean enabled) {
|
||||
getLc().enableAdaptiveRateControl(enabled);
|
||||
}
|
||||
|
||||
public AdaptiveRateAlgorithm getAdaptiveRateAlgorithm() {
|
||||
return getLc().getAdaptiveRateAlgorithm();
|
||||
}
|
||||
|
||||
public void setAdaptiveRateAlgorithm(AdaptiveRateAlgorithm alg) {
|
||||
getLc().setAdaptiveRateAlgorithm(alg);
|
||||
}
|
||||
|
||||
public int getCodecBitrateLimit() {
|
||||
return getConfig().getInt("audio", "codec_bitrate_limit", 36);
|
||||
}
|
||||
|
|
|
@ -25,6 +25,7 @@ import java.util.List;
|
|||
import org.linphone.LinphoneManager.EcCalibrationListener;
|
||||
import org.linphone.core.LinphoneAddress;
|
||||
import org.linphone.core.LinphoneCore;
|
||||
import org.linphone.core.LinphoneCore.AdaptiveRateAlgorithm;
|
||||
import org.linphone.core.LinphoneCore.EcCalibratorStatus;
|
||||
import org.linphone.core.LinphoneCore.MediaEncryption;
|
||||
import org.linphone.core.LinphoneCoreException;
|
||||
|
@ -441,9 +442,12 @@ public class SettingsFragment extends PreferencesListFragment implements EcCalib
|
|||
echoCalibration.setSummary(String.format(getString(R.string.ec_calibrated), mPrefs.getEchoCalibration()));
|
||||
}
|
||||
|
||||
CheckBoxPreference adaptativeRateControl = (CheckBoxPreference) findPreference(getString(R.string.pref_adaptative_rate_control_key));
|
||||
adaptativeRateControl.setChecked(mPrefs.isAdaptativeRateControlEnabled());
|
||||
CheckBoxPreference adaptiveRateControl = (CheckBoxPreference) findPreference(getString(R.string.pref_adaptive_rate_control_key));
|
||||
adaptiveRateControl.setChecked(mPrefs.isAdaptiveRateControlEnabled());
|
||||
|
||||
ListPreference adaptiveRateAlgorithm = (ListPreference) findPreference(getString(R.string.pref_adaptive_rate_algorithm_key));
|
||||
adaptiveRateAlgorithm.setSummary(String.valueOf(mPrefs.getAdaptiveRateAlgorithm()));
|
||||
adaptiveRateAlgorithm.setValue(String.valueOf(mPrefs.getAdaptiveRateAlgorithm()));
|
||||
|
||||
ListPreference bitrateLimit = (ListPreference) findPreference(getString(R.string.pref_codec_bitrate_limit_key));
|
||||
bitrateLimit.setSummary(String.valueOf(mPrefs.getCodecBitrateLimit()));
|
||||
|
@ -460,15 +464,28 @@ public class SettingsFragment extends PreferencesListFragment implements EcCalib
|
|||
}
|
||||
});
|
||||
|
||||
findPreference(getString(R.string.pref_adaptative_rate_control_key)).setOnPreferenceChangeListener(new OnPreferenceChangeListener() {
|
||||
findPreference(getString(R.string.pref_adaptive_rate_control_key)).setOnPreferenceChangeListener(new OnPreferenceChangeListener() {
|
||||
@Override
|
||||
public boolean onPreferenceChange(Preference preference, Object newValue) {
|
||||
boolean enabled = (Boolean) newValue;
|
||||
mPrefs.enableAdaptativeRateControl(enabled);
|
||||
mPrefs.enableAdaptiveRateControl(enabled);
|
||||
return true;
|
||||
}
|
||||
});
|
||||
|
||||
findPreference(getString(R.string.pref_adaptive_rate_algorithm_key)).setOnPreferenceChangeListener(new OnPreferenceChangeListener() {
|
||||
@Override
|
||||
public boolean onPreferenceChange(Preference preference, Object newValue) {
|
||||
ListPreference listPreference = (ListPreference) preference;
|
||||
int index = listPreference.findIndexOfValue((String)newValue);
|
||||
|
||||
mPrefs.setAdaptiveRateAlgorithm(AdaptiveRateAlgorithm.fromInt(index));
|
||||
preference.setSummary(String.valueOf(mPrefs.getAdaptiveRateAlgorithm()));
|
||||
return true;
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
findPreference(getString(R.string.pref_codec_bitrate_limit_key)).setOnPreferenceChangeListener(new OnPreferenceChangeListener() {
|
||||
@Override
|
||||
public boolean onPreferenceChange(Preference preference, Object newValue) {
|
||||
|
|
|
@ -1 +1 @@
|
|||
Subproject commit 3b4ef4e2faa9b382df35579c0d9444ba8feac828
|
||||
Subproject commit fa1c112cb33d2c0a42b351652a4779a8aea77c56
|
|
@ -1 +1 @@
|
|||
Subproject commit 7563ab148ae6c16ca7d0cfb00f5bde3dfe9cbb19
|
||||
Subproject commit 0abc9efadc86737345690e63886f31880286a5ee
|
Loading…
Reference in a new issue