Commit cafd13f2 authored by Simon Morlat's avatar Simon Morlat
Browse files

Merge branch 'master' of git.sv.gnu.org:/srv/git/linphone

parents 9b5c5be5 c7227c9f
......@@ -12,8 +12,8 @@ You need:
- Install some linphone dependencies with macports
$ port install speex
$ port install osip2
$ port install eXosip2
$ port install libosip2
$ port install libeXosip2
$ port install ffmpeg-devel
- Install SDL (for video display)
......@@ -33,6 +33,8 @@ When this version will be integrated into macports, only this will be necessary:
$ port install sdl-devel
- Install gtk. It is recommended to use the quartz backend for better integration.
$ port install cairo +quartz +no_x11
$ port install pango +quartz +no_x11
$ port install gtk2 +quartz +no_x11
$ port install ige-mac-integration
$ port install hicolor-icon-theme
......
......@@ -102,6 +102,7 @@ LOCAL_STATIC_LIBRARIES += \
endif
ifeq ($(LINPHONE_VIDEO),1)
LOCAL_LDLIBS += -lGLESv2
LOCAL_STATIC_LIBRARIES += libvpx
ifeq ($(BUILD_X264),1)
LOCAL_STATIC_LIBRARIES += \
......@@ -121,12 +122,12 @@ LOCAL_STATIC_LIBRARIES += libspeex
ifeq ($(TARGET_ARCH_ABI),armeabi-v7a)
LOCAL_CFLAGS += -DHAVE_ILBC=1
LOCAL_STATIC_LIBRARIES += libmsilbc
else
LOCAL_STATIC_LIBRARIES += $(LIBLINPHONE_EXTENDED_STATIC_LIBS)
LOCAL_SRC_FILES += $(LIBLINPHONE_EXTENDED_SRC_FILES)
LOCAL_C_INCLUDES += $(LIBLINPHONE_EXTENDED_C_INCLUDES)
endif
LOCAL_STATIC_LIBRARIES += $(LIBLINPHONE_EXTENDED_STATIC_LIBS)
LOCAL_SRC_FILES += $(LIBLINPHONE_EXTENDED_SRC_FILES)
LOCAL_LDLIBS += -lGLESv2
ifeq ($(TARGET_ARCH_ABI),armeabi-v7a)
LOCAL_SHARED_LIBRARIES += liblinssl liblincrypto
......
......@@ -83,9 +83,9 @@
${prefix}/lib/gdk-pixbuf-2.0
</binary>
<binary>
<data>
${prefix}/share/mime/globs
</binary>
</data>
<binary>
${prefix}/lib/pango/${pkg:pango:pango_module_version}/modules/*.so
......@@ -117,7 +117,11 @@
"${bundle}", which refers to the bundle root directory.
-->
<data>
${prefix:linphone}/share
${prefix:linphone}/share/linphone
</data>
<data>
${prefix:linphone}/share/pixmaps/linphone
</data>
<!-- Copy in the themes data. You may want to trim this to save space
......@@ -147,8 +151,12 @@
${project}/../../gtk/gtkrc.mac
</data>
<data dest="${bundle}/Contents/Resources/share/sounds/linphone">
${prefix:linphone}/share/sounds/linphone/
<data dest="${bundle}/Contents/Resources/share/sounds/linphone/rings/oldphone.wav">
${prefix:linphone}/share/sounds/linphone/rings/oldphone.wav
</data>
<data dest="${bundle}/Contents/Resources/share/sounds/linphone/ringback.wav">
${prefix:linphone}/share/sounds/linphone/ringback.wav
</data>
<!-- Icon themes to copy. The "icons" property can be either of
......
......@@ -185,3 +185,4 @@ int linphone_core_start_echo_calibration(LinphoneCore *lc, LinphoneEcCalibration
lc->ecc=ec_calibrator_new(lc->sound_conf.play_sndcard,lc->sound_conf.capt_sndcard,rate,cb,cb_data);
return 0;
}
......@@ -1689,7 +1689,8 @@ void linphone_core_iterate(LinphoneCore *lc){
if (lc->ecc->cb)
lc->ecc->cb(lc,ecs,lc->ecc->delay,lc->ecc->cb_data);
if (ecs==LinphoneEcCalibratorDone){
lp_config_set_int(lc->config, "sound", "ec_delay",MAX(lc->ecc->delay-10,0));
int len=lp_config_get_int(lc->config,"sound","ec_tail_len",0);
lp_config_set_int(lc->config, "sound", "ec_delay",MAX(lc->ecc->delay-(len/2),0));
}
ec_calibrator_destroy(lc->ecc);
lc->ecc=NULL;
......
......@@ -624,6 +624,12 @@ extern "C" void Java_org_linphone_core_LinphoneCoreImpl_enableEchoCancellation(J
,jboolean enable) {
linphone_core_enable_echo_cancellation((LinphoneCore*)lc,enable);
}
extern "C" void Java_org_linphone_core_LinphoneCoreImpl_enableEchoLimiter(JNIEnv* env
,jobject thiz
,jlong lc
,jboolean enable) {
linphone_core_enable_echo_limiter((LinphoneCore*)lc,enable);
}
extern "C" jboolean Java_org_linphone_core_LinphoneCoreImpl_isEchoCancellationEnabled(JNIEnv* env
,jobject thiz
,jlong lc
......
......@@ -65,7 +65,6 @@ static gboolean iconified=FALSE;
static gchar *workingdir=NULL;
static char *progpath=NULL;
gchar *linphone_logfile=NULL;
static gboolean app_terminated=FALSE;
static GOptionEntry linphone_options[]={
{
......@@ -1284,7 +1283,7 @@ static gboolean on_window_state_event(GtkWidget *w, GdkEventWindowState *event){
linphone_core_enable_video_preview(linphone_gtk_get_core(),FALSE);
}else{
linphone_core_enable_video_preview(linphone_gtk_get_core(),
linphone_gtk_get_ui_config_int("videoselfview",VIDEOSELFVIEW_DEFAULT));
linphone_gtk_get_ui_config_int("videoselfview",VIDEOSELFVIEW_DEFAULT) && linphone_core_video_enabled(linphone_gtk_get_core()));
}
return FALSE;
}
......@@ -1383,11 +1382,25 @@ static void linphone_gtk_check_soundcards(){
}
}
static void linphone_gtk_quit(void){
gdk_threads_leave();
linphone_gtk_destroy_log_window();
linphone_core_destroy(the_core);
linphone_gtk_log_uninit();
}
#ifdef HAVE_GTK_OSX
/*
This is not the correct way to implement block termination.
The good way would be to call gtk_main_quit(), and return TRUE.
Unfortunately this does not work, because if we return TRUE the NSApplication sometimes calls the CFRunLoop recursively, which prevents gtk_main() to exit.
As a result the program cannot exit at all.
As a workaround we do all the cleanup (unregistration and config save) within the handler.
*/
static gboolean on_block_termination(void){
gtk_main_quit();
g_message("Block termination returning %i",!app_terminated);
return !app_terminated;
linphone_gtk_quit();
return FALSE;
}
#endif
......@@ -1514,11 +1527,7 @@ int main(int argc, char *argv[]){
linphone_gtk_check_for_new_version();
gtk_main();
gdk_threads_leave();
linphone_gtk_destroy_log_window();
linphone_core_destroy(the_core);
linphone_gtk_log_uninit();
app_terminated=TRUE;
linphone_gtk_quit();
#ifndef HAVE_GTK_OSX
/*workaround a bug on win32 that makes status icon still present in the systray even after program exit.*/
gtk_status_icon_set_visible(icon,FALSE);
......
......@@ -186,18 +186,21 @@ public interface LinphoneCore {
static public class EcCalibratorStatus {
@SuppressWarnings("unchecked")
static private Vector values = new Vector();
public static final int IN_PROGRESS_STATUS=0;
public static final int DONE_STATUS=1;
public static final int FAILED_STATUS=2;
/**
* Calibration in progress
*/
static public EcCalibratorStatus InProgress = new EcCalibratorStatus(0,"InProgress");
static public EcCalibratorStatus InProgress = new EcCalibratorStatus(IN_PROGRESS_STATUS,"InProgress");
/**
* Calibration done
*/
static public EcCalibratorStatus Done = new EcCalibratorStatus(1,"Done");
static public EcCalibratorStatus Done = new EcCalibratorStatus(DONE_STATUS,"Done");
/**
* Calibration in progress
*/
static public EcCalibratorStatus Failed = new EcCalibratorStatus(2,"Failed");
static public EcCalibratorStatus Failed = new EcCalibratorStatus(FAILED_STATUS,"Failed");
private final int mValue;
private final String mStringValue;
......@@ -591,5 +594,6 @@ public interface LinphoneCore {
boolean pauseAllCalls();
void setZrtpSecretsCache(String file);
public void enableEchoLimiter(boolean val);
}
mediastreamer2 @ bddf312c
Subproject commit 7c091db48e2ac5b785ced3964a386ec51f695a60
Subproject commit bddf312c1b7852d1b29c6b476d207133c5f31ff2
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment