Commits an initial version of the libjitsi library which should be fully functional with respect to neomedia/MediaService and should be usable with and without OSGi.

cusax-fix
Lyubomir Marinov 14 years ago
parent 5003e1b9e3
commit fcb78cba3f

@ -1,11 +0,0 @@
/*
* Jitsi, the OpenSource Java VoIP and Instant Messaging client.
*
* Distributable under LGPL license.
* See terms of license at gnu.org.
*/
#include <stdlib.h>
void * operator new (size_t size) { return ::malloc(size); }
void operator delete (void *ptr) { ::free(ptr); }
void *__cxa_pure_virtual = NULL;

@ -1,37 +0,0 @@
#!/bin/sh
CC=x86_64-w64-mingw32-gcc
JAVA_HOME=$HOME/Downloads/jdk-7u4-windows-i586
OCSDK_HOME=$HOME/Downloads/OCSDK
WINVER=0x0501
BASE_DIR=`dirname $0`
if [ "x${BASE_DIR}" = "x" ]; then
BASE_DIR=.
else
BASE_DIR=`cd ${BASE_DIR}/../../../../ && pwd`
fi
SRC_DIR=${BASE_DIR}/src/native/windows/msofficecomm
STRIP=`echo ${CC} | sed 's/gcc/strip/'`
TARGET=${BASE_DIR}/lib/native/windows-64/jmsofficecomm.dll
for CXX_FILE in ${SRC_DIR}/*.cxx; do
${CC} \
-c \
-D_JNI_IMPLEMENTATION_ -D_UNICODE -DUNICODE -D_WIN32_WINNT=${WINVER} -DWINVER=${WINVER} \
-fno-exceptions -fno-rtti \
-I${JAVA_HOME}/include -I${JAVA_HOME}/include/win32 -I${OCSDK_HOME} \
-O2 \
-Wall \
-x 'c++' \
${CXX_FILE} \
-o ${SRC_DIR}/`basename ${CXX_FILE} .cxx`.o
done
${CC} \
-shared \
-Wl,--kill-at \
${SRC_DIR}/*.o \
${SRC_DIR}/*.res \
-o ${TARGET} \
-lole32 -loleaut32 -luuid
${STRIP} -x ${TARGET}

@ -1,37 +0,0 @@
#!/bin/sh
CC=i686-w64-mingw32-gcc
JAVA_HOME=$HOME/Downloads/jdk-7u4-windows-i586
OCSDK_HOME=$HOME/Downloads/OCSDK
WINVER=0x0501
BASE_DIR=`dirname $0`
if [ "x${BASE_DIR}" = "x" ]; then
BASE_DIR=.
else
BASE_DIR=`cd ${BASE_DIR}/../../../../ && pwd`
fi
SRC_DIR=${BASE_DIR}/src/native/windows/msofficecomm
STRIP=`echo ${CC} | sed 's/gcc/strip/'`
TARGET=${BASE_DIR}/lib/native/windows/jmsofficecomm.dll
for CXX_FILE in ${SRC_DIR}/*.cxx; do
${CC} \
-c \
-D_JNI_IMPLEMENTATION_ -D_UNICODE -DUNICODE -D_WIN32_WINNT=${WINVER} -DWINVER=${WINVER} \
-fno-exceptions -fno-rtti \
-I${JAVA_HOME}/include -I${JAVA_HOME}/include/win32 -I${OCSDK_HOME} \
-O2 \
-Wall \
-x 'c++' \
${CXX_FILE} \
-o ${SRC_DIR}/`basename ${CXX_FILE} .cxx`.o
done
${CC} \
-shared \
-Wl,--kill-at \
${SRC_DIR}/*.o \
${SRC_DIR}/*.res \
-o ${TARGET} \
-lole32 -loleaut32 -luuid
${STRIP} -x ${TARGET}

@ -76,13 +76,13 @@ public class DeviceConfiguration
* The default value to be used for the {@link #PROP_AUDIO_DENOISE} property
* when it does not have a value.
*/
private static final boolean DEFAULT_AUDIO_DENOISE = true;
public static final boolean DEFAULT_AUDIO_DENOISE = true;
/**
* The default value to be used for the {@link #PROP_AUDIO_ECHOCANCEL}
* property when it does not have a value.
*/
private static final boolean DEFAULT_AUDIO_ECHOCANCEL = true;
public static final boolean DEFAULT_AUDIO_ECHOCANCEL = true;
/**
* The default value to be used for the
@ -92,7 +92,7 @@ public class DeviceConfiguration
* reverberation time is in the order of 300 ms, so a filter length of 100
* ms is a good choice (800 samples at 8000 Hz sampling rate).
*/
private static final long DEFAULT_AUDIO_ECHOCANCEL_FILTER_LENGTH_IN_MILLIS
public static final long DEFAULT_AUDIO_ECHOCANCEL_FILTER_LENGTH_IN_MILLIS
= 100;
/**

@ -353,18 +353,33 @@ synchronized void setDeviceIndex(int deviceIndex)
Format.NOT_SPECIFIED /* frameRate */,
Format.byteArray);
DeviceConfiguration deviceConfig
= NeomediaActivator
.getMediaServiceImpl()
.getDeviceConfiguration();
MediaServiceImpl mediaServiceImpl
= NeomediaActivator.getMediaServiceImpl();
boolean denoise = DeviceConfiguration.DEFAULT_AUDIO_DENOISE;
boolean echoCancel = DeviceConfiguration.DEFAULT_AUDIO_ECHOCANCEL;
long echoCancelFilterLengthInMillis
= DeviceConfiguration
.DEFAULT_AUDIO_ECHOCANCEL_FILTER_LENGTH_IN_MILLIS;
if (mediaServiceImpl != null)
{
DeviceConfiguration devCfg
= mediaServiceImpl.getDeviceConfiguration();
PortAudio.setDenoise(
stream,
audioQualityImprovement && deviceConfig.isDenoise());
if (devCfg != null)
{
denoise = devCfg.isDenoise();
echoCancel = devCfg.isEchoCancel();
echoCancelFilterLengthInMillis
= devCfg.getEchoCancelFilterLengthInMillis();
}
}
PortAudio.setDenoise(stream, audioQualityImprovement && denoise);
PortAudio.setEchoFilterLengthInMillis(
stream,
(audioQualityImprovement && deviceConfig.isEchoCancel())
? deviceConfig.getEchoCancelFilterLengthInMillis()
(audioQualityImprovement && echoCancel)
? echoCancelFilterLengthInMillis
: 0);
}
}

Loading…
Cancel
Save