]> git.pld-linux.org Git - packages/twinkle.git/commitdiff
- ressurect and adapt ilbc patch auto/th/twinkle-1.10.2-1
authorArkadiusz Miśkiewicz <arekm@maven.pl>
Sun, 22 Mar 2020 13:10:23 +0000 (14:10 +0100)
committerArkadiusz Miśkiewicz <arekm@maven.pl>
Sun, 22 Mar 2020 13:10:23 +0000 (14:10 +0100)
ilbc.patch [new file with mode: 0644]
twinkle.spec

diff --git a/ilbc.patch b/ilbc.patch
new file mode 100644 (file)
index 0000000..57e2bcf
--- /dev/null
@@ -0,0 +1,158 @@
+diff -ur twinkle-1.10.2.org/cmake/FindIlbc.cmake twinkle-1.10.2/cmake/FindIlbc.cmake
+--- twinkle-1.10.2.org/cmake/FindIlbc.cmake    2019-02-14 10:01:19.000000000 +0100
++++ twinkle-1.10.2/cmake/FindIlbc.cmake        2020-03-22 14:05:04.949245703 +0100
+@@ -1,4 +1,4 @@
+-FIND_PATH(ILBC_INCLUDE_DIR ilbc/iLBC_decode.h)
++FIND_PATH(ILBC_INCLUDE_DIR ilbc.h)
+ FIND_LIBRARY(ILBC_LIBRARIES NAMES ilbc)
+ IF(ILBC_INCLUDE_DIR AND ILBC_LIBRARIES)
+@@ -7,7 +7,7 @@
+ IF(ILBC_FOUND)
+       IF (NOT Ilbc_FIND_QUIETLY)
+-              MESSAGE(STATUS "Found ilbc includes:    ${ILBC_INCLUDE_DIR}/ilbc/iLBC_decode.h")
++              MESSAGE(STATUS "Found ilbc includes:    ${ILBC_INCLUDE_DIR}/ilbc.h")
+               MESSAGE(STATUS "Found ilbc library: ${ILBC_LIBRARIES}")
+       ENDIF (NOT Ilbc_FIND_QUIETLY)
+ ELSE(ILBC_FOUND)
+diff -ur twinkle-1.10.2.org/src/audio/audio_decoder.cpp twinkle-1.10.2/src/audio/audio_decoder.cpp
+--- twinkle-1.10.2.org/src/audio/audio_decoder.cpp     2019-02-14 10:01:19.000000000 +0100
++++ twinkle-1.10.2/src/audio/audio_decoder.cpp 2020-03-22 14:03:19.232697512 +0100
+@@ -24,12 +24,28 @@
+ #ifndef HAVE_ILBC_CPP
+ extern "C" {
+ #endif
+-#include <ilbc/iLBC_decode.h>
++#include <ilbc.h>
+ #ifndef HAVE_ILBC_CPP
+ }
+ #endif
+ #endif
++#ifndef       NO_OF_BYTES_20MS
++#define       NO_OF_BYTES_20MS        38
++#endif
++
++#ifndef       NO_OF_BYTES_30MS
++#define       NO_OF_BYTES_30MS        50
++#endif
++
++#ifndef       MIN_SAMPLE
++#define       MIN_SAMPLE      -32768
++#endif
++
++#ifndef       MAX_SAMPLE
++#define       MAX_SAMPLE      32767
++#endif
++
+ //////////////////////////////////////////
+ // class t_audio_decoder
+ //////////////////////////////////////////
+@@ -277,19 +293,19 @@
+ uint16 t_ilbc_audio_decoder::decode(uint8 *payload, uint16 payload_size,
+               int16 *pcm_buf, uint16 pcm_buf_size)
+ {
+-      float sample;
+-      float block[BLOCKL_MAX];
++      int16 sample;
++      int16 block[BLOCKL_MAX];
+       int block_len;
+       
+       if (get_ptime(payload_size) == 20) {
+               block_len = BLOCKL_20MS;
+               assert(pcm_buf_size >= block_len);
+-              iLBC_decode(block, (unsigned char*)payload, &_ilbc_decoder_20, 1);
++              iLBC_decode(block, (uint16*)payload, &_ilbc_decoder_20, 1);
+               _last_received_ptime = 20;
+       } else {
+               block_len = BLOCKL_30MS;
+               assert(pcm_buf_size >= block_len);
+-              iLBC_decode(block, (unsigned char*)payload, &_ilbc_decoder_30, 1);
++              iLBC_decode(block, (uint16*)payload, &_ilbc_decoder_30, 1);
+               _last_received_ptime = 30;
+       }
+       
+@@ -299,15 +315,15 @@
+               if (sample < MIN_SAMPLE) sample = MIN_SAMPLE;
+               if (sample > MAX_SAMPLE) sample = MAX_SAMPLE;
+               
+-              pcm_buf[i] = static_cast<int16>(sample);
++              pcm_buf[i] = sample;
+       }
+       return block_len;
+ }
+ uint16 t_ilbc_audio_decoder::conceal(int16 *pcm_buf, uint16 pcm_buf_size) {
+-      float sample;
+-      float block[BLOCKL_MAX];
++      short int sample;
++      short int block[BLOCKL_MAX];
+       int block_len;
+       
+       if (_last_received_ptime == 0) return 0;
+diff -ur twinkle-1.10.2.org/src/audio/audio_decoder.h twinkle-1.10.2/src/audio/audio_decoder.h
+--- twinkle-1.10.2.org/src/audio/audio_decoder.h       2019-02-14 10:01:19.000000000 +0100
++++ twinkle-1.10.2/src/audio/audio_decoder.h   2020-03-22 14:03:19.232697512 +0100
+@@ -47,7 +47,7 @@
+ #ifndef HAVE_ILBC_CPP
+ extern "C" {
+ #endif
+-#include <ilbc/iLBC_define.h>
++#include <ilbc.h>
+ #ifndef HAVE_ILBC_CPP
+ }
+ #endif
+diff -ur twinkle-1.10.2.org/src/audio/audio_encoder.cpp twinkle-1.10.2/src/audio/audio_encoder.cpp
+--- twinkle-1.10.2.org/src/audio/audio_encoder.cpp     2019-02-14 10:01:19.000000000 +0100
++++ twinkle-1.10.2/src/audio/audio_encoder.cpp 2020-03-22 14:03:19.236030947 +0100
+@@ -23,12 +23,20 @@
+ #ifndef HAVE_ILBC_CPP
+ extern "C" {
+ #endif
+-#include <ilbc/iLBC_encode.h>
++#include <ilbc.h>
+ #ifndef HAVE_ILBC_CPP
+ }
+ #endif
+ #endif
++#ifndef       NO_OF_BYTES_20MS
++#define       NO_OF_BYTES_20MS        38
++#endif
++
++#ifndef       NO_OF_BYTES_30MS
++#define       NO_OF_BYTES_30MS        50
++#endif
++
+ //////////////////////////////////////////
+ // class t_audio_encoder
+ //////////////////////////////////////////
+@@ -263,13 +271,8 @@
+       assert(nsamples == _ilbc_encoder.blockl);
+       
+       silence = false;
+-      float block[nsamples];
+-      
+-      for (int i = 0; i < nsamples; i++) {
+-              block[i] = static_cast<float>(sample_buf[i]);
+-      }
+       
+-      iLBC_encode((unsigned char*)payload, block, &_ilbc_encoder);
++      iLBC_encode((uint16*)payload, sample_buf, &_ilbc_encoder);
+       
+       return _ilbc_encoder.no_of_bytes;
+ }
+diff -ur twinkle-1.10.2.org/src/audio/audio_encoder.h twinkle-1.10.2/src/audio/audio_encoder.h
+--- twinkle-1.10.2.org/src/audio/audio_encoder.h       2019-02-14 10:01:19.000000000 +0100
++++ twinkle-1.10.2/src/audio/audio_encoder.h   2020-03-22 14:03:19.236030947 +0100
+@@ -46,7 +46,7 @@
+ #ifndef HAVE_ILBC_CPP
+ extern "C" {
+ #endif
+-#include <ilbc/iLBC_define.h>
++#include <ilbc.h>
+ #ifndef HAVE_ILBC_CPP
+ }
+ #endif
index eccd22f0ab64fe31ea53bcc5accd41a745cd4ab9..35511f7a6999fac25971555939a733098b622905 100644 (file)
@@ -1,5 +1,5 @@
 # TODO:
-# - ilbc and g729 support
+# - g729 support: https://github.com/LubosD/twinkle/issues/104
 #
 Summary:       twinkle - SIP Soft Phone
 Summary(pl.UTF-8):     twinkle - telefon programowy SIP
@@ -10,6 +10,7 @@ License:      GPL v2
 Group:         Applications/Communications
 Source0:       https://github.com/LubosD/twinkle/archive/v%{version}.tar.gz
 # Source0-md5: ca6884f9834a25e89fc945b48a91c7a2
+Patch0:                ilbc.patch
 URL:           http://twinkle.dolezel.info/
 BuildRequires: Qt5Quick-devel
 BuildRequires: Qt5Widgets-devel
@@ -30,6 +31,7 @@ BuildRequires:        pkgconfig
 BuildRequires: readline-devel
 BuildRequires: speex-devel
 BuildRequires: ucommon-devel
+BuildRequires: webrtc-libilbc-devel
 BuildRoot:     %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
 %description
@@ -42,6 +44,7 @@ telefonicznych po sieciach IP.
 
 %prep
 %setup -q
+%patch0 -p1
 
 %build
 install -d build
@@ -49,7 +52,7 @@ cd build
 %cmake \
        -DWITH_ALSA=ON \
        -DWITH_SPEEX=ON \
-       -DWITH_ILBC=OFF \
+       -DWITH_ILBC=ON \
        -DWITH_ZRTP=ON \
        -DWITH_G729=OFF \
        -DWITH_QT5=ON \
This page took 0.086647 seconds and 4 git commands to generate.