Merge branch 'master' of git://git.savannah.nongnu.org/linphone

This commit is contained in:
Jehan Monnier 2010-07-20 17:03:25 +02:00
commit dc49cb68d2
12 changed files with 43 additions and 27 deletions

2
NEWS
View file

@ -1,4 +1,4 @@
linphone-3.3.2 -- June 25, 2010
linphone-3.3.2 -- July 1st, 2010
* fix crash when setting firewall address in gtk interface
* fix crash while closing video window on windows
* fix un-sent BYE message in some rare cases.

View file

@ -77,7 +77,10 @@ LOCAL_STATIC_LIBRARIES := \
libeXosip2 \
libosip2 \
libgsm
# libmsilbc \
ifeq ($(TARGET_ARCH_ABI),armeabi-v7a)
LOCAL_CFLAGS += -DHAVE_ILBC=1
LOCAL_STATIC_LIBRARIES += libmsilbc
endif
LOCAL_MODULE_CLASS = SHARED_LIBRARIES
include $(BUILD_SHARED_LIBRARY)

View file

@ -271,7 +271,7 @@ static void call_failure(SalOp *op, SalError error, SalReason sr, const char *de
/*char *retrymsg=_("%s. Retry after %i minute(s).");*/
char *msg600=_("User does not want to be disturbed.");
char *msg603=_("Call declined.");
char *msg=(char*)details;
const char *msg=details;
LinphoneCall *call=lc->call;
if (sal_op_get_user_pointer(op)!=lc->call){
@ -281,11 +281,13 @@ static void call_failure(SalOp *op, SalError error, SalReason sr, const char *de
if (lc->vtable.show) lc->vtable.show(lc);
if (error==SalErrorNoResponse){
msg=_("No response.");
if (lc->vtable.display_status)
lc->vtable.display_status(lc,_("No response."));
lc->vtable.display_status(lc,msg);
}else if (error==SalErrorProtocol){
msg=details ? details : _("Protocol error.");
if (lc->vtable.display_status)
lc->vtable.display_status(lc, details ? details : _("Protocol error."));
lc->vtable.display_status(lc, msg);
}else if (error==SalErrorFailure){
switch(sr){
case SalReasonDeclined:
@ -336,7 +338,7 @@ static void call_failure(SalOp *op, SalError error, SalReason sr, const char *de
if (call!=NULL) {
linphone_call_destroy(call);
if (sr!=SalReasonDeclined) gstate_new_state(lc, GSTATE_CALL_ERROR, msg);
else gstate_new_state(lc, GSTATE_CALL_END, NULL);
else gstate_new_state(lc, GSTATE_CALL_END, msg);
lc->call=NULL;
}
}

View file

@ -2246,6 +2246,7 @@ static void post_configure_audio_streams(LinphoneCore *lc){
float recv_gain;
float ng_thres=lp_config_get_float(lc->config,"sound","ng_thres",0.05);
float ng_floorgain=lp_config_get_float(lc->config,"sound","ng_floorgain",0);
int dc_removal=lp_config_get_int(lc->config,"sound","dc_removal",0);
if (mic_gain!=-1)
audio_stream_set_mic_gain(st,mic_gain);
@ -2255,6 +2256,9 @@ static void post_configure_audio_streams(LinphoneCore *lc){
if (recv_gain != 0) {
linphone_core_set_playback_gain_db (lc,recv_gain);
}
if (st->volsend){
ms_filter_call_method(st->volsend,MS_VOLUME_REMOVE_DC,&dc_removal);
}
if (linphone_core_echo_limiter_enabled(lc)){
float speed=lp_config_get_float(lc->config,"sound","el_speed",-1);
thres=lp_config_get_float(lc->config,"sound","el_thres",-1);

View file

@ -83,7 +83,7 @@ public:
/*displayStatus(LinphoneCore lc,String message);*/
displayStatusId = env->GetMethodID(listernerClass,"displayStatus","(Lorg/linphone/core/LinphoneCore;Ljava/lang/String;)V");
/*void generalState(LinphoneCore lc,int state); */
generalStateId = env->GetMethodID(listernerClass,"generalState","(Lorg/linphone/core/LinphoneCore;Lorg/linphone/core/LinphoneCore$GeneralState;)V");
generalStateId = env->GetMethodID(listernerClass,"generalState","(Lorg/linphone/core/LinphoneCore;Lorg/linphone/core/LinphoneCore$GeneralState;Ljava/lang/String;)V");
generalStateClass = (jclass)env->NewGlobalRef(env->FindClass("org/linphone/core/LinphoneCore$GeneralState"));
generalStateFromIntId = env->GetStaticMethodID(generalStateClass,"fromInt","(I)Lorg/linphone/core/LinphoneCore$GeneralState;");
@ -145,7 +145,8 @@ public:
env->CallVoidMethod(lcData->listener
,lcData->generalStateId
,lcData->core
,env->CallStaticObjectMethod(lcData->generalStateClass,lcData->generalStateFromIntId,gstate->new_state));
,env->CallStaticObjectMethod(lcData->generalStateClass,lcData->generalStateFromIntId,gstate->new_state),
gstate->message ? env->NewStringUTF(gstate->message) : NULL);
}
};
@ -161,9 +162,11 @@ extern "C" jlong Java_org_linphone_core_LinphoneCoreImpl_newLinphoneCore(JNIEnv*
LinphoneCoreData* ldata = new LinphoneCoreData(env,thiz,jlistener,juserdata);
#ifdef ANDROID
ms_andsnd_register_card(jvm);
// requires an fpu libmsilbc_init();
#endif /*ANDROID*/
#ifdef HAVE_ILBC
libmsilbc_init(); // requires an fpu
#endif
jlong nativePtr = (jlong)linphone_core_new( &ldata->vTable
,userConfig
,factoryConfig

View file

@ -59,8 +59,8 @@ static MSList *match_payloads(const MSList *local, const MSList *remote){
matched=find_payload_type_best_match(local,p2);
if (matched){
matched=payload_type_clone(matched);
if (p2->recv_fmtp)
payload_type_set_send_fmtp(matched,p2->recv_fmtp);
if (p2->send_fmtp)
payload_type_set_send_fmtp(matched,p2->send_fmtp);
res=ms_list_append(res,matched);
payload_type_set_number(matched,payload_type_get_number(p2));
}else{

View file

@ -90,22 +90,20 @@ bool_t linphone_proxy_config_is_registered(const LinphoneProxyConfig *obj){
* - hostnames : sip:sip.example.net
**/
int linphone_proxy_config_set_server_addr(LinphoneProxyConfig *obj, const char *server_addr){
LinphoneAddress *addr;
char *try=NULL;
LinphoneAddress *addr=NULL;
char *modified=NULL;
if (obj->reg_proxy!=NULL) ms_free(obj->reg_proxy);
obj->reg_proxy=NULL;
if (server_addr!=NULL && strlen(server_addr)>0){
addr=linphone_address_new(server_addr);
if (!addr){
/*try to prepend 'sip:' */
if (strstr(server_addr,"sip:")==NULL){
try=ms_strdup_printf("sip:%s",server_addr);
addr=linphone_address_new(try);
ms_free(try);
}
if (strstr(server_addr,"sip:")==NULL){
modified=ms_strdup_printf("sip:%s",server_addr);
addr=linphone_address_new(modified);
ms_free(modified);
}
if (addr==NULL)
addr=linphone_address_new(server_addr);
if (addr){
obj->reg_proxy=linphone_address_as_string_uri_only(addr);
linphone_address_destroy(addr);
@ -167,7 +165,12 @@ int linphone_proxy_config_set_route(LinphoneProxyConfig *obj, const char *route)
ms_free(obj->reg_route);
obj->reg_route=NULL;
}
obj->reg_route=ms_strdup(route);
if (route!=NULL){
/*try to prepend 'sip:' */
if (strstr(route,"sip:")==NULL){
obj->reg_route=ms_strdup_printf("sip:%s",route);
}else obj->reg_route=ms_strdup(route);
}
return 0;
}

View file

@ -47,5 +47,6 @@ public interface LinphoneCoreListener {
* @param state LinphoneCore.GeneralState
* @return
* */
public void generalState(LinphoneCore lc,LinphoneCore.GeneralState state);
public void generalState(LinphoneCore lc,LinphoneCore.GeneralState state, String message);
}

@ -1 +1 @@
Subproject commit 5267b9b3e66519a17d75735e65ae0534ebfe3ff1
Subproject commit c6d39ca3e664ad89a8c437f630817334ada056ca

2
oRTP

@ -1 +1 @@
Subproject commit 18eccd4f3af64f3bd5293d635a1a169dc77c92ad
Subproject commit a8076d9487ee91d89df221256e0d3371e0fa3f50

View file

@ -10,7 +10,7 @@ status-green.png \
status-orange.png \
status-red.png \
status-offline.png \
contact-orange.png dialer-orange.png \
contact-orange.png dialer-orange.png history-orange.png\
startcall-green.png stopcall-red.png
EXTRA_DIST=$(pixmap_DATA)

View file

@ -71,4 +71,4 @@ mediastreamer2/src/drawdib-display.c
mediastreamer2/src/audiomixer.c
mediastreamer2/src/chanadapt.c
mediastreamer2/src/itc.c
mediastreamer2/src/extdisplay.c