diff --git a/ChangeLog b/ChangeLog
index bc1c8662..18850797 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,12 @@
+3.0.0
+
+- introduced new audio codec "CELT", not compatible to old versions
+
+- IMA-ADPCM, MS-ADPCM removed
+
+- since CELT works on 48 kHz sample rate, resampling was removed
+
+
2.3.0
- new system sample rate of 33 kHz to improve audio quality, not compatible
@@ -7,6 +16,7 @@
- added command line argument for connecting a server at software start-up
+
2.2.2
- "Mute" and "Solo" check boxes for each connected client fader
diff --git a/README b/README
index c30409fe..34876834 100755
--- a/README
+++ b/README
@@ -40,28 +40,11 @@ computer to the server should not exceed 30 ms average and the network jitter
should be as low as 2-5 ms (To get a low ping time on DSL connections, an
extra option "DSL fast path" should be enabled by your internet provider).
-Technical details
-To get sufficient results, a sample rate of 24 kHz (mono channel) was chosen.
-The audio compression algorithm IMA-ADPCM with very low delay is used which
-results in a raw compressed audio data rate of 96 kbps. First tests showed
-that an upstream of 128 kbps is too slow for using the llcon software. At
-least 256 kbps upstream bandwidth is required.
-
The llcon software package includes both, the server and the client
functionality which can be selected by using command line arguments.
-
-MANUAL:
For starting server type ./llcon -s
-Start the llcon server on a remote computer with fast internet access. Start the
-llcon client on your local computer and connect your sound card with your
-instrument/microphone and headphone and type in the IP address of the server.
-There are levelers for adjusting the sound card (in/out) and network buffer sizes.
-It seems that 2 blocks for network buffer is an optimal choice. For the sound card
-buffer, try to make them as short as possible by watching the LEDs below the
-levelers (they should stay green).
-
For test purpose it is possible to run server and client on the same computer. For
this setup first start the server and then the client. Type in 127.0.0.1 for the
IP address in the client software.
@@ -74,11 +57,14 @@ source:
- Qt cross-platform application framework: http://trolltech.com
-- audio reverberation code: by Perry R. Cook and Gary P. Scavone, 1995 - 2004
- (taken from "The Synthesis ToolKit in C++ (STK)")
+- The CELT ultra-low delay audio codec: http://www.celt-codec.org
-- IMA-ADPCM: by Erik de Castro Lopo
+- Audio reverberation code: by Perry R. Cook and Gary P. Scavone, 1995 - 2004
+ (taken from "The Synthesis ToolKit in C++ (STK)")
-- some parts are taken from the project "Dream: a PC-based Digital Radio Mondiale
- (DRM) receiver" written by one of the llcon authors, Volker Fischer:
- http://drm.sf.net
+- Some parts are taken from the project "Dream: a PC-based Digital Radio Mondiale
+ (DRM) receiver" written by one of the llcon authors, Volker Fischer:
+ http://drm.sf.net
+
+- Some pixmaps are from Clker.com - vector clip art online,
+ royalty free & public domain
diff --git a/configure.in b/configure.in
index 5a957054..132db4e6 100755
--- a/configure.in
+++ b/configure.in
@@ -2,7 +2,7 @@ dnl Process this file with autoconf to produce a configure script.
AC_PREREQ(2.50)
AC_INIT(src/main.cpp)
-AM_INIT_AUTOMAKE(llcon,2.3.1cvs)
+AM_INIT_AUTOMAKE(llcon,3.0.0cvs)
AM_CONFIG_HEADER(config.h)
@@ -15,7 +15,6 @@ AC_PROG_CPP
AC_PROG_INSTALL
AC_SUBST(LIBTOOL_DEPS)
AC_PROG_MAKE_SET
-AC_CHECK_PROGS(RPMBUILD, rpmbuild, rpm)
dnl Configuration Arguments
diff --git a/linux/Makefile.am b/linux/Makefile.am
index d2abf819..b24eeaf4 100755
--- a/linux/Makefile.am
+++ b/linux/Makefile.am
@@ -1,3 +1,5 @@
+#SUBDIRS = ../libs/celt/libcelt
+
bin_PROGRAMS = llcon
llcon_SOURCES = ../src/buffer.cpp \
diff --git a/src/channel.cpp b/src/channel.cpp
index ef77f030..35b53340 100755
--- a/src/channel.cpp
+++ b/src/channel.cpp
@@ -829,6 +829,17 @@ void CChannel::OnNetTranspPropsReceived ( CNetworkTransportProps NetworkTranspor
CycleTimeVariance.Reset();
}
+
+ // in case of a server channel, use the same network buffer
+ // size factor as the connected client
+ if ( bIsServer )
+ {
+
+ // TODO
+ // if size is not equal
+ // change size
+
+ }
}
void CChannel::OnReqNetTranspProps()
diff --git a/src/client.cpp b/src/client.cpp
index 9ca655da..3bb7f3bb 100755
--- a/src/client.cpp
+++ b/src/client.cpp
@@ -302,6 +302,10 @@ void CClient::Init ( const int iPrefMonoBlockSizeSamIndexAtSndCrdSamRate )
vecbyNetwData.Init ( iCeltNumCodedBytes );
// the channel works on the audio coded block size
+
+// TEST right now we only support 128 samples, later 256 and 512, too
+Channel.SetNetwBufSizeFactOut ( 1 );
+
// Channel.SetNetwBufSizeOut ( iCeltNumCodedBytes );
}
diff --git a/src/llconserverdlg.cpp b/src/llconserverdlg.cpp
index ba83ab80..1de8da2b 100755
--- a/src/llconserverdlg.cpp
+++ b/src/llconserverdlg.cpp
@@ -116,12 +116,8 @@ void CLlconServerDlg::OnTimer()
vecpListViewItems[i]->setText ( 6, "None" );
break;
- case CT_IMAADPCM:
- vecpListViewItems[i]->setText ( 6, "IMA-ADPCM" );
- break;
-
- case CT_MSADPCM:
- vecpListViewItems[i]->setText ( 6, "MS-ADPCM" );
+ case CT_CELT:
+ vecpListViewItems[i]->setText ( 6, "CELT" );
break;
default:
diff --git a/src/protocol.cpp b/src/protocol.cpp
index a904dc57..63d93195 100755
--- a/src/protocol.cpp
+++ b/src/protocol.cpp
@@ -133,9 +133,7 @@ MESSAGES
- "sam rate": sample rate of the audio stream
- "audiocod type": audio coding type, the following types are supported:
- 0: none, no audio coding applied
- - 1: IMA-ADPCM
- - 2: MS-ADPCM
- - 3: CELT
+ - 1: CELT
- "version": version of the audio coder, if not used this value shall be set to 0
- "audiocod arg": argument for the audio coder, if not used this value shall be set to 0
@@ -902,8 +900,6 @@ bool CProtocol::EvaluateNetwTranspPropsMes ( const CVector