codecs: Add iLBC 20.

Asterisk already supported iLBC 30. This change adds iLBC 20. Now, Asterisk
defaults to iLBC 20 but falls back to iLBC 30, when the remote party requests
this.

ASTERISK-26218 #close
ASTERISK-26221 #close
Reported by: Aaron Meriwether

Change-Id: I07f523a3aa1338bb5217a1bf69c1eeb92adedffa
This commit is contained in:
Alexander Traud
2016-07-19 20:39:38 +02:00
parent 943bb48b59
commit 8fb807009f
6 changed files with 252 additions and 36 deletions

View File

@@ -7,6 +7,9 @@
*
*/
#include "asterisk/format_cache.h" /* for ast_format_ilbc */
#include "asterisk/frame.h" /* for ast_frame, etc */
static uint8_t ex_ilbc[] = {
0xff, 0xa0, 0xff, 0xfa, 0x0f, 0x60, 0x12, 0x11, 0xa2, 0x47,
0x22, 0x8c, 0x00, 0x00, 0x01, 0x02, 0x80, 0x43, 0xa0, 0x40,
@@ -20,8 +23,8 @@ static struct ast_frame *ilbc_sample(void)
static struct ast_frame f = {
.frametype = AST_FRAME_VOICE,
.datalen = sizeof(ex_ilbc),
/* All frames are 30 ms long */
.samples = ILBC_SAMPLES,
/* example frames are default long (30 ms) */
.samples = 240,
.mallocd = 0,
.offset = 0,
.src = __PRETTY_FUNCTION__,