Merged revisions 70360 via svnmerge from
authorJoshua Colp <jcolp@digium.com>
Wed, 20 Jun 2007 17:55:09 +0000 (17:55 +0000)
committerJoshua Colp <jcolp@digium.com>
Wed, 20 Jun 2007 17:55:09 +0000 (17:55 +0000)
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r70360 | file | 2007-06-20 13:52:57 -0400 (Wed, 20 Jun 2007) | 2 lines

Put the speex packetization values back in but disable it when setting up the smoother.

........

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@70361 65c4cc65-6c06-0410-ace0-fbb531ad65f3

main/frame.c
main/rtp.c

index 25844e5..c5a9e82 100644 (file)
@@ -113,7 +113,7 @@ static struct ast_format_list AST_FORMAT_LIST[] = {                                 /*!< Bit number: comment
        { 1, AST_FORMAT_SLINEAR, "slin", "16 bit Signed Linear PCM", 160, 10, 70, 10, 20, AST_SMOOTHER_FLAG_BE },       /*!< 7 */
        { 1, AST_FORMAT_LPC10, "lpc10", "LPC10", 7, 20, 20, 20, 20 },           /*!<  8: codec_lpc10.c */ 
        { 1, AST_FORMAT_G729A, "g729", "G.729A", 10, 10, 230, 10, 20, AST_SMOOTHER_FLAG_G729 }, /*!<  9: Binary commercial distribution */
-       { 1, AST_FORMAT_SPEEX, "speex", "SpeeX"},               /*!< 10: codec_speex.c */
+       { 1, AST_FORMAT_SPEEX, "speex", "SpeeX", 10, 10, 60, 10, 20 },          /*!< 10: codec_speex.c */
        { 1, AST_FORMAT_ILBC, "ilbc", "iLBC", 50, 30, 30, 30, 30 },             /*!< 11: codec_ilbc.c */ /* inc=30ms - workaround */
        { 1, AST_FORMAT_G726_AAL2, "g726aal2", "G.726 AAL2", 40, 10, 300, 10, 20 },     /*!<  12: codec_g726.c */
        { 1, AST_FORMAT_G722, "g722", "G722"},                                  /*!< 13 */
index 11561e2..66c26e7 100644 (file)
@@ -2848,7 +2848,7 @@ int ast_rtp_write(struct ast_rtp *rtp, struct ast_frame *_f)
                rtp->smoother = NULL;
        }
 
-       if (!rtp->smoother) {
+       if (!rtp->smoother && subclass != AST_FORMAT_SPEEX) {
                struct ast_format_list fmt = ast_codec_pref_getsize(&rtp->pref, subclass);
                if (fmt.inc_ms) { /* if codec parameters is set / avoid division by zero */
                        if (!(rtp->smoother = ast_smoother_new((fmt.cur_ms * fmt.fr_len) / fmt.inc_ms))) {