Review Board 1.7.16


use webrtc iILBC code for codec_iLBC

Review Request #1964 - Created June 4, 2012 and submitted

Tzafrir Cohen
trunk
ASTERISK-19835
Reviewers
asterisk-dev
Asterisk
The license of the RFC3951 iLBC codec implementation does not seem clear to me and therefore I'm not sure I can use it.

Google's implementation from webrtc.org is slightly different. Latly, however, someone has been working on adapting it for use with the interface provided by the RFC3951 implementation:

http://github.com/dekkers/libilbc

This patch uses that new libilbc to build codec_ilbc. As in the case of gsm, it's also possible to use the internal implementation, if one exists.
Builds. A simple ilbc call works.
/trunk/configure.ac
Revision 368514 New Change
[20] 386 lines
[+20]
387
AST_EXT_LIB_SETUP([CURSES], [curses], [curses])
387
AST_EXT_LIB_SETUP([CURSES], [curses], [curses])
388
AST_EXT_LIB_SETUP([CRYPTO], [OpenSSL Cryptography], [crypto])
388
AST_EXT_LIB_SETUP([CRYPTO], [OpenSSL Cryptography], [crypto])
389
AST_EXT_LIB_SETUP([DAHDI], [DAHDI], [dahdi])
389
AST_EXT_LIB_SETUP([DAHDI], [DAHDI], [dahdi])
390
AST_EXT_LIB_SETUP([FFMPEG], [Ffmpeg and avcodec], [avcodec])
390
AST_EXT_LIB_SETUP([FFMPEG], [Ffmpeg and avcodec], [avcodec])
391
AST_EXT_LIB_SETUP([GSM], [External GSM], [gsm], [, use 'internal' GSM otherwise])
391
AST_EXT_LIB_SETUP([GSM], [External GSM], [gsm], [, use 'internal' GSM otherwise])

    
   
392
AST_EXT_LIB_SETUP([ILBC], [System iLBC], [ilbc], [, use 'internal' iLBC otherwise])
392
AST_EXT_LIB_SETUP([GTK2], [gtk2], [gtk2])
393
AST_EXT_LIB_SETUP([GTK2], [gtk2], [gtk2])
393
AST_EXT_LIB_SETUP([GMIME], [GMime], [gmime])
394
AST_EXT_LIB_SETUP([GMIME], [GMime], [gmime])
394
AST_EXT_LIB_SETUP([OPENH323], [OpenH323], [h323])
395
AST_EXT_LIB_SETUP([OPENH323], [OpenH323], [h323])
395
AST_EXT_LIB_SETUP([HOARD], [Hoard Memory Allocator], [hoard])
396
AST_EXT_LIB_SETUP([HOARD], [Hoard Memory Allocator], [hoard])
396
AST_EXT_LIB_SETUP([ICAL], [iCal], [ical])
397
AST_EXT_LIB_SETUP([ICAL], [iCal], [ical])
[+20] [20] 850 lines
[+20]
1247
      PBX_GSM=1
1248
      PBX_GSM=1
1248
      AC_DEFINE_UNQUOTED([HAVE_GSM_HEADER], 1, [Define to indicate that gsm.h has no prefix for its location])
1249
      AC_DEFINE_UNQUOTED([HAVE_GSM_HEADER], 1, [Define to indicate that gsm.h has no prefix for its location])
1249
   fi
1250
   fi
1250
fi
1251
fi
1251

    
   
1252

   

    
   
1253
ILBC_INTERNAL="yes"

    
   
1254
AC_SUBST(ILBC_INTERNAL)

    
   
1255
ILBC_SYSTEM="yes"

    
   
1256
if test "${USE_ILBC}" != "no"; then

    
   
1257
   if test "${ILBC_DIR}" = "internal"; then

    
   
1258
      ILBC_SYSTEM="no"

    
   
1259
   elif test "${ILBC_DIR}" != ""; then

    
   
1260
      ILBC_INTERNAL="no"

    
   
1261
   fi

    
   
1262
   if test "${ILBC_SYSTEM}" = "yes"; then

    
   
1263
      AST_PKG_CONFIG_CHECK(ILBC, libilbc)

    
   
1264
      if test "$PBX_ILBC" = '1'; then

    
   
1265
	 ILBC_INTERNAL='no'

    
   
1266
      fi

    
   
1267
   fi

    
   
1268
   if test "${ILBC_INTERNAL}" = "yes"; then

    
   
1269
      PBX_ILBC=1

    
   
1270
   fi

    
   
1271
fi

    
   
1272

   
1252
AST_EXT_LIB_CHECK([ICONV], [iconv], [iconv_open], [iconv.h])
1273
AST_EXT_LIB_CHECK([ICONV], [iconv], [iconv_open], [iconv.h])
1253
# GNU libiconv #define's iconv_open to libiconv_open, so we need to search for that symbol
1274
# GNU libiconv #define's iconv_open to libiconv_open, so we need to search for that symbol
1254
AST_EXT_LIB_CHECK([ICONV], [iconv], [libiconv_open], [iconv.h])
1275
AST_EXT_LIB_CHECK([ICONV], [iconv], [libiconv_open], [iconv.h])
1255
# Some versions of Linux package iconv in glibc
1276
# Some versions of Linux package iconv in glibc
1256
AST_EXT_LIB_CHECK([ICONV], [c], [iconv_close], [iconv.h])
1277
AST_EXT_LIB_CHECK([ICONV], [c], [iconv_close], [iconv.h])
[+20] [20] 1068 lines
/trunk/configure
Revision UNKNOWN New Change
 
/trunk/makeopts.in
Revision 368514 New Change
 
/trunk/build_tools/menuselect-deps.in
Revision 368514 New Change
 
/trunk/codecs/Makefile
Revision 368514 New Change
 
/trunk/codecs/codec_ilbc.c
Revision 368514 New Change
 
  1. /trunk/configure.ac: Loading...
  2. /trunk/configure: Loading...
  3. /trunk/makeopts.in: Loading...
  4. /trunk/build_tools/menuselect-deps.in: Loading...
  5. /trunk/codecs/Makefile: Loading...
  6. /trunk/codecs/codec_ilbc.c: Loading...

https://reviewboard.asterisk.org/ runs on a server provided by Digium, Inc. and uses bandwidth donated to the open source Asterisk community by API Digital Communications in Huntsville, AL USA.
Please report problems with this site to asteriskteam@digium.com.