- Added Internet Low Bitrate Codec (iLBC).

- Improved account's codec selection.
This commit is contained in:
Juha Heinanen
2019-05-29 09:12:25 +03:00
parent 692ac3d08c
commit 9b4cf1b9c1
4 changed files with 19 additions and 9 deletions
+3 -2
View File
@@ -20,9 +20,10 @@ jitter_buffer_delay 5-10
rtp_stats no rtp_stats no
dyn_dns yes dyn_dns yes
prefer_ipv6 no prefer_ipv6 no
module opus.so module ilbc.so
module g711.so
module g7221.so module g7221.so
module g711.so
module opus.so
module webrtc_aec.so module webrtc_aec.so
module opensles.so module opensles.so
module stun.so module stun.so
+5
View File
@@ -27,6 +27,10 @@ add_library(lib_g722_1 STATIC IMPORTED)
set_target_properties(lib_g722_1 PROPERTIES IMPORTED_LOCATION set_target_properties(lib_g722_1 PROPERTIES IMPORTED_LOCATION
${distribution_DIR}/g7221/lib/${ANDROID_ABI}/libg722_1.a) ${distribution_DIR}/g7221/lib/${ANDROID_ABI}/libg722_1.a)
add_library(lib_ilbc STATIC IMPORTED)
set_target_properties(lib_ilbc PROPERTIES IMPORTED_LOCATION
${distribution_DIR}/ilbc/lib/${ANDROID_ABI}/libilbc.a)
add_library(lib_webrtc STATIC IMPORTED) add_library(lib_webrtc STATIC IMPORTED)
set_target_properties(lib_webrtc PROPERTIES IMPORTED_LOCATION set_target_properties(lib_webrtc PROPERTIES IMPORTED_LOCATION
${distribution_DIR}/webrtc/lib/${ANDROID_ABI}/libwebrtc.a) ${distribution_DIR}/webrtc/lib/${ANDROID_ABI}/libwebrtc.a)
@@ -61,6 +65,7 @@ target_link_libraries(baresip
lib_crypto lib_crypto
lib_opus lib_opus
lib_g722_1 lib_g722_1
lib_ilbc
lib_webrtc lib_webrtc
lib_zrtp lib_zrtp
lib_bn lib_bn
@@ -76,10 +76,10 @@ class AccountActivity : AppCompatActivity() {
val codec = acc.audioCodec[i] val codec = acc.audioCodec[i]
spinnerList[i].add(codec) spinnerList[i].add(codec)
for (c in audioCodecs) if (c != codec) spinnerList[i].add(c) for (c in audioCodecs) if (c != codec) spinnerList[i].add(c)
spinnerList[i].add("") spinnerList[i].add("-")
} else { } else {
spinnerList[i] = audioCodecs spinnerList[i].addAll(audioCodecs)
spinnerList[i].add(0, "") spinnerList[i].add(0, "-")
} }
val codecSpinner = findViewById(spinner.id) as Spinner val codecSpinner = findViewById(spinner.id) as Spinner
val adapter = ArrayAdapter<String>(this,android.R.layout.simple_spinner_item, val adapter = ArrayAdapter<String>(this,android.R.layout.simple_spinner_item,
@@ -309,16 +309,16 @@ class AccountActivity : AppCompatActivity() {
} }
} }
val ac = ArrayList(LinkedHashSet<String>(newCodecs.filter { it != "" } as ArrayList<String>)) val ac = ArrayList(LinkedHashSet<String>(newCodecs.filter { it != "-" } as ArrayList<String>))
if (ac != acc.audioCodec) { if (ac != acc.audioCodec) {
Log.d("Baresip", "New codecs ${newCodecs.filter { it != "" }}") Log.d("Baresip", "New codecs ${newCodecs.filter { it != "-" }}")
val acParam = ";audio_codecs=" + Utils.implode(ac, ",") val acParam = ";audio_codecs=" + Utils.implode(ac, ",")
if (account_set_audio_codecs(acc.accp, acParam) == 0) { if (account_set_audio_codecs(acc.accp, acParam) == 0) {
var i = 0 var i = 0
while (true) { while (true) {
val codec = account_audio_codec(acc.accp, i) val codec = account_audio_codec(acc.accp, i)
if (codec != "") { if (codec != "") {
Log.d("Baresip", "Found audio codec $codec") Log.d("Baresip", "Found audio codec '$codec'")
i++ i++
} else { } else {
break break
@@ -327,7 +327,7 @@ class AccountActivity : AppCompatActivity() {
acc.audioCodec = ac acc.audioCodec = ac
save = true save = true
} else { } else {
Log.e("Baresip", "Setting of audio codecs $acParam failed") Log.e("Baresip", "Setting of audio codecs '$acParam' failed")
} }
} }
@@ -24,6 +24,10 @@ object Config {
config = "${config}module g7221.so\n" config = "${config}module g7221.so\n"
write = true write = true
} }
if (!config.contains(Regex("module[ ]+ilbc.so"))) {
config = "${config}module ilbc.so\n"
write = true
}
if (config.contains(Regex("#module_app[ ]+mwi.so"))) { if (config.contains(Regex("#module_app[ ]+mwi.so"))) {
config = config.replace(Regex("#module_app[ ]+mwi.so"), config = config.replace(Regex("#module_app[ ]+mwi.so"),
"module_app mwi.so") "module_app mwi.so")