Use new account_[set_]mediaaf() API functions

This commit is contained in:
Juha Heinanen
2021-04-27 11:26:25 +03:00
parent 0bd4d2f5a4
commit f879ba78b6
4 changed files with 25 additions and 15 deletions
+17 -9
View File
@@ -1095,6 +1095,23 @@ Java_com_tutpro_baresip_Api_account_1set_1dtmfmode(JNIEnv *env, jobject thiz,
return account_set_dtmfmode(acc, mode); return account_set_dtmfmode(acc, mode);
} }
JNIEXPORT jint JNICALL
Java_com_tutpro_baresip_Api_account_1mediaaf(JNIEnv *env, jobject thiz, jstring jAcc) {
const char *native_acc = (*env)->GetStringUTFChars(env, jAcc, 0);
struct account *acc = (struct account *)strtoul(native_acc, NULL, 10);
(*env)->ReleaseStringUTFChars(env, jAcc, native_acc);
return account_mediaaf(acc);
}
JNIEXPORT void JNICALL
Java_com_tutpro_baresip_Api_account_1set_1mediaaf(JNIEnv *env, jobject thiz, jstring jAcc, jint jAf) {
const char *native_acc = (*env)->GetStringUTFChars(env, jAcc, 0);
struct account *acc = (struct account *)strtoul(native_acc, NULL, 10);
(*env)->ReleaseStringUTFChars(env, jAcc, native_acc);
LOGD("setting account mediaaf to '%d'\n", jAf);
account_set_mediaaf(acc, jAf);
}
JNIEXPORT jstring JNICALL JNIEXPORT jstring JNICALL
Java_com_tutpro_baresip_Api_account_1extra(JNIEnv *env, jobject thiz, jstring javaAcc) Java_com_tutpro_baresip_Api_account_1extra(JNIEnv *env, jobject thiz, jstring javaAcc)
{ {
@@ -1285,15 +1302,6 @@ Java_com_tutpro_baresip_Api_ua_1answer(JNIEnv *env, jobject thiz, jstring javaUA
(*env)->ReleaseStringUTFChars(env, javaCall, native_call); (*env)->ReleaseStringUTFChars(env, javaCall, native_call);
} }
JNIEXPORT void JNICALL
Java_com_tutpro_baresip_Api_ua_1set_1media_1af(JNIEnv *env, jobject thiz, jstring javaUA,
jint javaAf) {
const char *native_ua = (*env)->GetStringUTFChars(env, javaUA, 0);
struct ua *ua = (struct ua *)strtoul(native_ua, NULL, 10);
LOGD("setting ua media af to '%d'\n", javaAf);
ua_set_media_af(ua, javaAf);
}
JNIEXPORT void JNICALL JNIEXPORT void JNICALL
Java_com_tutpro_baresip_Api_ua_1debug(JNIEnv *env, jobject thiz, jstring javaUA) { Java_com_tutpro_baresip_Api_ua_1debug(JNIEnv *env, jobject thiz, jstring javaUA) {
const char *native_ua = (*env)->GetStringUTFChars(env, javaUA, 0); const char *native_ua = (*env)->GetStringUTFChars(env, javaUA, 0);
@@ -57,6 +57,8 @@ class Account(val accp: String) {
val extra = Api.account_extra(accp) val extra = Api.account_extra(accp)
preferIPv6Media = Utils.paramValue(extra,"prefer_ipv6_media") == "yes" preferIPv6Media = Utils.paramValue(extra,"prefer_ipv6_media") == "yes"
if (!preferIPv6Media)
preferIPv6Media = Api.account_mediaaf(accp) == Api.AF_INET6
callHistory = Utils.paramValue(extra,"call_history") == "" callHistory = Utils.paramValue(extra,"call_history") == ""
} }
@@ -108,6 +110,8 @@ class Account(val accp: String) {
if (mediaEnc != "") res += ";mediaenc=${mediaEnc}" if (mediaEnc != "") res += ";mediaenc=${mediaEnc}"
if (preferIPv6Media) res += ";mediaaf=ipv6"
if (vmUri == "") if (vmUri == "")
res = "$res;mwi=no" res = "$res;mwi=no"
else else
@@ -123,9 +127,6 @@ class Account(val accp: String) {
if (!callHistory) if (!callHistory)
extra += ";call_history=no" extra += ";call_history=no"
if (preferIPv6Media)
extra += ";prefer_ipv6_media=yes"
if (extra != "") if (extra != "")
res += ";extra=\"" + extra.substringAfter(";") + "\"" res += ";extra=\"" + extra.substringAfter(";") + "\""
@@ -455,9 +455,9 @@ class AccountActivity : AppCompatActivity() {
acc.preferIPv6Media = ipV6MediaCheck.isChecked acc.preferIPv6Media = ipV6MediaCheck.isChecked
Log.d(TAG, "New preferIPv6Media is ${acc.preferIPv6Media}") Log.d(TAG, "New preferIPv6Media is ${acc.preferIPv6Media}")
if (acc.preferIPv6Media) if (acc.preferIPv6Media)
Api.ua_set_media_af(ua.uap, Api.AF_INET6) Api.account_set_mediaaf(acc.accp, Api.AF_INET6)
else else
Api.ua_set_media_af(ua.uap, Api.AF_UNSPEC) Api.account_set_mediaaf(acc.accp, Api.AF_UNSPEC)
save = true save = true
} }
@@ -44,6 +44,8 @@ object Api {
external fun account_set_answermode(acc: String, mode: Int): Int external fun account_set_answermode(acc: String, mode: Int): Int
external fun account_dtmfmode(acc: String): Int external fun account_dtmfmode(acc: String): Int
external fun account_set_dtmfmode(acc: String, mode: Int): Int external fun account_set_dtmfmode(acc: String, mode: Int): Int
external fun account_mediaaf(acc: String): Int
external fun account_set_mediaaf(acc: String, af: Int)
external fun account_extra(acc: String): String external fun account_extra(acc: String): String
external fun account_debug(acc: String) external fun account_debug(acc: String)
@@ -61,7 +63,6 @@ object Api {
external fun ua_hangup(uap: String, callp: String, code: Int, reason: String) external fun ua_hangup(uap: String, callp: String, code: Int, reason: String)
external fun ua_call_alloc(uap: String, xcallp: String, video: Int): String external fun ua_call_alloc(uap: String, xcallp: String, video: Int): String
external fun ua_answer(uap: String, callp: String, video: Int) external fun ua_answer(uap: String, callp: String, video: Int)
external fun ua_set_media_af(uap: String, af: Int)
external fun ua_debug(uap: String) external fun ua_debug(uap: String)
external fun call_peeruri(callp: String): String external fun call_peeruri(callp: String): String