1 diff -ur twinkle-1.4.2/configure.in twinkle-1.4.2.ilbc/configure.in
2 --- twinkle-1.4.2/configure.in 2012-11-25 17:33:24.559058451 +0100
3 +++ twinkle-1.4.2.ilbc/configure.in 2012-11-25 17:24:34.305743823 +0100
6 if test "x$ac_cv_ilbc" = "xyes"
8 - AC_CHECK_LIB(ilbc, iLBC_decode, [
9 - AC_CHECK_HEADER(ilbc/iLBC_define.h, [],
10 - [AC_MSG_ERROR([ilbc header files missing])])
16 + int main() { iLBC_decode(NULL, NULL, NULL, 0); return 0; } ], [
17 AC_DEFINE(HAVE_ILBC, 1, [Define to 1 if you have the <ilbc> library.])
19 echo "LIBS += -lilbc" >> $QT_INCL_PRO
21 - ], [have_ilbc="no"])
27 if test "x$ac_cv_ilbc_cpp" = "xyes"
29 AC_DEFINE(HAVE_ILBC_CPP, 1, [Define to 1 if you have a C++ ilbc library.])
30 diff -ur twinkle-1.4.2/src/audio/audio_decoder.cpp twinkle-1.4.2.ilbc/src/audio/audio_decoder.cpp
31 --- twinkle-1.4.2/src/audio/audio_decoder.cpp 2009-01-18 14:38:00.000000000 +0100
32 +++ twinkle-1.4.2.ilbc/src/audio/audio_decoder.cpp 2012-11-25 17:28:53.519068012 +0100
37 -#include <ilbc/iLBC_decode.h>
44 +#ifndef NO_OF_BYTES_20MS
45 +#define NO_OF_BYTES_20MS 38
48 +#ifndef NO_OF_BYTES_30MS
49 +#define NO_OF_BYTES_30MS 50
53 +#define MIN_SAMPLE -32768
57 +#define MAX_SAMPLE 32767
60 //////////////////////////////////////////
61 // class t_audio_decoder
62 //////////////////////////////////////////
64 uint16 t_ilbc_audio_decoder::decode(uint8 *payload, uint16 payload_size,
65 int16 *pcm_buf, uint16 pcm_buf_size)
68 - float block[BLOCKL_MAX];
70 + int16 block[BLOCKL_MAX];
73 if (get_ptime(payload_size) == 20) {
74 block_len = BLOCKL_20MS;
75 assert(pcm_buf_size >= block_len);
76 - iLBC_decode(block, (unsigned char*)payload, &_ilbc_decoder_20, 1);
77 + iLBC_decode(block, (uint16*)payload, &_ilbc_decoder_20, 1);
78 _last_received_ptime = 20;
80 block_len = BLOCKL_30MS;
81 assert(pcm_buf_size >= block_len);
82 - iLBC_decode(block, (unsigned char*)payload, &_ilbc_decoder_30, 1);
83 + iLBC_decode(block, (uint16*)payload, &_ilbc_decoder_30, 1);
84 _last_received_ptime = 30;
88 if (sample < MIN_SAMPLE) sample = MIN_SAMPLE;
89 if (sample > MAX_SAMPLE) sample = MAX_SAMPLE;
91 - pcm_buf[i] = static_cast<int16>(sample);
92 + pcm_buf[i] = sample;
98 uint16 t_ilbc_audio_decoder::conceal(int16 *pcm_buf, uint16 pcm_buf_size) {
100 - float block[BLOCKL_MAX];
102 + short int block[BLOCKL_MAX];
105 if (_last_received_ptime == 0) return 0;
106 diff -ur twinkle-1.4.2/src/audio/audio_decoder.h twinkle-1.4.2.ilbc/src/audio/audio_decoder.h
107 --- twinkle-1.4.2/src/audio/audio_decoder.h 2012-11-25 17:33:24.559058451 +0100
108 +++ twinkle-1.4.2.ilbc/src/audio/audio_decoder.h 2012-11-25 17:24:34.305743823 +0100
110 #ifndef HAVE_ILBC_CPP
113 -#include <ilbc/iLBC_define.h>
115 #ifndef HAVE_ILBC_CPP
118 diff -ur twinkle-1.4.2/src/audio/audio_encoder.cpp twinkle-1.4.2.ilbc/src/audio/audio_encoder.cpp
119 --- twinkle-1.4.2/src/audio/audio_encoder.cpp 2009-01-18 15:13:46.000000000 +0100
120 +++ twinkle-1.4.2.ilbc/src/audio/audio_encoder.cpp 2012-11-25 17:30:53.155730458 +0100
122 #ifndef HAVE_ILBC_CPP
125 -#include <ilbc/iLBC_encode.h>
127 #ifndef HAVE_ILBC_CPP
132 +#ifndef NO_OF_BYTES_20MS
133 +#define NO_OF_BYTES_20MS 38
136 +#ifndef NO_OF_BYTES_30MS
137 +#define NO_OF_BYTES_30MS 50
140 //////////////////////////////////////////
141 // class t_audio_encoder
142 //////////////////////////////////////////
144 assert(nsamples == _ilbc_encoder.blockl);
147 - float block[nsamples];
149 - for (int i = 0; i < nsamples; i++) {
150 - block[i] = static_cast<float>(sample_buf[i]);
153 - iLBC_encode((unsigned char*)payload, block, &_ilbc_encoder);
154 + iLBC_encode((uint16*)payload, sample_buf, &_ilbc_encoder);
156 return _ilbc_encoder.no_of_bytes;
158 diff -ur twinkle-1.4.2/src/audio/audio_encoder.h twinkle-1.4.2.ilbc/src/audio/audio_encoder.h
159 --- twinkle-1.4.2/src/audio/audio_encoder.h 2012-11-25 17:33:24.562391784 +0100
160 +++ twinkle-1.4.2.ilbc/src/audio/audio_encoder.h 2012-11-25 17:24:34.305743823 +0100
162 #ifndef HAVE_ILBC_CPP
165 -#include <ilbc/iLBC_define.h>
167 #ifndef HAVE_ILBC_CPP