Commit 6de16327 authored by jehan's avatar jehan
Browse files

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

parents 811956df acf36431
linphone-3.4.2 -- March 3rd, 2011
* fix problems with webcams on windows
Requires mediastreamer-2.7.2
linphone-3.4.1 -- February 17th, 2011
* bugfixes
* gtk executable is renamed "linphone" (was linphone-3 before)
......
......@@ -49,6 +49,8 @@ rm /lib/libgcc.a /lib/libmingw32.a /lib/libmingwex.a
#Remove libintl from gtk, we don't need it and it conflicts with the one supplied by mingw.
rm /lib/libintl.dll.a
rm /lib/libintl.la
rm /lib/libintl.a
rm /include/intl.h
* Download and install Inno Setup Compiler (required only if you run 'make setup.exe'). Add it to your windows Path environment variable.
......@@ -56,7 +58,8 @@ rm /include/intl.h
Get Linphone source code
************************
Install msys-git from (http://code.google.com/p/msysgit/)
Install msys-git from (http://code.google.com/p/msysgit/). During installation you are asked to make a choice about how line endings are treated by git.
Choose "Checkout line endings as they are, commit as they are". THIS CHOICE IS VERY IMPORTANT. OTHERS BREAK AUTOMAKE.
It is recommended that you create a directory somewhere with a path without any spaces or ~ characters, for example
c:\sources\
......
dnl Process this file with autoconf to produce a configure script.
AC_INIT([linphone],[3.4.1],[linphone-developers@nongnu.org])
AC_INIT([linphone],[3.4.2],[linphone-developers@nongnu.org])
AC_CANONICAL_SYSTEM
AC_CONFIG_SRCDIR([coreapi/linphonecore.c])
......
......@@ -623,7 +623,7 @@ static void video_stream_event_cb(void *user_pointer, const MSFilter *f, const u
ms_warning("In linphonecall.c: video_stream_event_cb");
switch (event_id) {
case MS_VIDEO_DECODER_DECODING_ERRORS:
ms_warning("CAse is MS_VIDEO_DECODER_DECODING_ERRORS");
ms_warning("Case is MS_VIDEO_DECODER_DECODING_ERRORS");
linphone_call_send_vfu_request((LinphoneCall*) user_pointer);
break;
default:
......
......@@ -496,10 +496,6 @@ static void sip_config_read(LinphoneCore *lc)
ipv6=lp_config_get_int(lc->config,"sip","use_ipv6",-1);
if (ipv6==-1){
ipv6=0;
if (host_has_ipv6_network()){
if (lc->vtable.display_message)
lc->vtable.display_message(lc,_("Your machine appears to be connected to an IPv6 network. By default linphone always uses IPv4. Please update your configuration if you want to use IPv6"));
}
}
linphone_core_enable_ipv6(lc,ipv6);
memset(&tr,0,sizeof(tr));
......@@ -3590,6 +3586,12 @@ void linphone_core_play_dtmf(LinphoneCore *lc, char dtmf, int duration_ms){
ms_error("No dtmf generator at this time !");
return;
}
// Play DTMF only when in call
if (!linphone_core_in_call(lc)) {
return;
}
if (duration_ms>0)
ms_filter_call_method(f, MS_DTMF_GEN_PLAY, &dtmf);
else ms_filter_call_method(f, MS_DTMF_GEN_START, &dtmf);
......
......@@ -1173,3 +1173,6 @@ extern "C" void Java_org_linphone_core_LinphoneProxyConfigImpl_setExpires(JNIEnv
linphone_proxy_config_expires((LinphoneProxyConfig *) ptr, (int) delay);
}
extern "C" jint Java_org_linphone_core_LinphoneCallImpl_getDuration(JNIEnv* env,jobject thiz,jlong ptr) {
linphone_call_get_duration((LinphoneCall *) ptr);
}
\ No newline at end of file
......@@ -345,52 +345,6 @@ bool_t lp_spawn_command_line_sync(const char *command, char **result,int *comman
return FALSE;
}
#if defined(HAVE_GETIFADDRS) && defined(INET6)
#include <sys/types.h>
#include <sys/socket.h>
#include <ifaddrs.h>
bool_t host_has_ipv6_network()
{
struct ifaddrs *ifp;
struct ifaddrs *ifpstart;
bool_t ipv6_present=FALSE;
if (getifaddrs (&ifpstart) < 0)
{
return FALSE;
}
for (ifp=ifpstart; ifp != NULL; ifp = ifp->ifa_next)
{
if (!ifp->ifa_addr)
continue;
switch (ifp->ifa_addr->sa_family) {
case AF_INET:
break;
case AF_INET6:
ipv6_present=TRUE;
break;
default:
continue;
}
}
freeifaddrs (ifpstart);
return ipv6_present;
}
#else
bool_t host_has_ipv6_network()
{
return FALSE;
}
#endif
static ortp_socket_t create_socket(int local_port){
struct sockaddr_in laddr;
ortp_socket_t sock;
......
......@@ -137,50 +137,55 @@ public interface LinphoneCall {
/**
* Retrieves the call's current state.
**/
public State getState();
State getState();
/**
* Returns the remote address associated to this call
*
**/
public LinphoneAddress getRemoteAddress();
LinphoneAddress getRemoteAddress();
/**
* get direction of the call (incoming or outgoing).
* @return CallDirection
*/
public CallDirection getDirection();
CallDirection getDirection();
/**
* get the call log associated to this call.
* @Return LinphoneCallLog
**/
public LinphoneCallLog getCallLog();
LinphoneCallLog getCallLog();
public LinphoneCallParams getCurrentParamsCopy();
LinphoneCallParams getCurrentParamsCopy();
public void enableCamera(boolean enabled);
void enableCamera(boolean enabled);
/**
* Enables or disable echo cancellation.
* @param enable
*/
public void enableEchoCancellation(boolean enable);
void enableEchoCancellation(boolean enable);
/**
* get EC status
* @return true if echo cancellation is enabled.
*/
public boolean isEchoCancellationEnabled();
boolean isEchoCancellationEnabled();
/**
* Enables or disable echo limiter cancellation.
* @param enable
*/
public void enableEchoLimiter(boolean enable);
void enableEchoLimiter(boolean enable);
/**
* get EL status
* @return true if echo limiter is enabled.
*/
public boolean isEchoLimiterEnabled();
boolean isEchoLimiterEnabled();
/**
* Returns the object associated to a call this one is replacing.
* Call replacement can occur during transfer scenarios.
*/
public LinphoneCall getReplacedCall();
LinphoneCall getReplacedCall();
/**
* @return call duration computed from media start
*/
int getDuration();
}
......@@ -391,7 +391,8 @@ public interface LinphoneCore {
*/
public void sendDtmf(char number);
/**
* Initiate a dtmf signal to the speqker if not in call
* Initiate a dtmf signal to the speaker if not in call.
* Sending of the DTMF is done in another function.
* @param number
* @param duration in ms , -1 for unlimited
*/
......
......@@ -36,14 +36,14 @@ abstract public class LinphoneCoreFactory {
factoryName = className;
}
public static LinphoneCoreFactory instance() {
public static final synchronized LinphoneCoreFactory instance() {
try {
if (theLinphoneCoreFactory == null) {
Class lFactoryClass = Class.forName(factoryName);
theLinphoneCoreFactory = (LinphoneCoreFactory) lFactoryClass.newInstance();
}
} catch (Exception e) {
System.err.println("cannot instanciate factory ["+factoryName+"]");
System.err.println("Cannot instanciate factory ["+factoryName+"]");
}
return theLinphoneCoreFactory;
}
......
./bin/avcodec-52.dll
./bin/avutil-50.dll
./bin/libeXosip2-6.dll
./bin/libogg.dll
./bin/libtheora.dll
./bin/libogg-0.dll
./bin/libtheora-0.dll
./bin/libxml2-2.dll
./bin/libosip2-6.dll
./bin/libosipparser2-6.dll
......
mediastreamer2 @ fee15bc1
Subproject commit 874577ad3a835255fc719da26f5dbdadf301aa01
Subproject commit fee15bc174996771973a27bf974d740e7f657bf6
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