diff options
author | Kevin P. Fleming <kpfleming@digium.com> | 2009-02-18 23:09:58 +0000 |
---|---|---|
committer | Kevin P. Fleming <kpfleming@digium.com> | 2009-02-18 23:09:58 +0000 |
commit | b2d959c7fa707d4e107126c408df3f18f3fa0d74 (patch) | |
tree | 884edbeb55aca9edad47fc05adc05a7080720681 /main/frame.c | |
parent | e30d2c1d450a6d09ec5cc0f2759e8b9f256eb950 (diff) |
fix two very minor bugs: if anyone ever uses SLINEAR16 as a format in RTP, ensure that the samples are byte-swapped to network order if needed. also, when a smoother is operating on a format that has a sample rate other than 8000 samples per second, use the proper sample rate for computing delivery timestamps.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@177229 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'main/frame.c')
-rw-r--r-- | main/frame.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/main/frame.c b/main/frame.c index 7d950d740..912d6c739 100644 --- a/main/frame.c +++ b/main/frame.c @@ -112,7 +112,7 @@ static const struct ast_format_list AST_FORMAT_LIST[] = { { AST_FORMAT_ILBC, "ilbc", 8000, "iLBC", 50, 30, 30, 30, 30 }, /*!< codec_ilbc.c */ /* inc=30ms - workaround */ { AST_FORMAT_G726_AAL2, "g726aal2", 8000, "G.726 AAL2", 40, 10, 300, 10, 20 }, /*!< codec_g726.c */ { AST_FORMAT_G722, "g722", 16000, "G722", 80, 10, 150, 10, 20 }, /*!< codec_g722.c */ - { AST_FORMAT_SLINEAR16, "slin16", 16000, "16 bit Signed Linear PCM (16kHz)", 320, 10, 70, 10, 20 }, /*!< Signed linear (16kHz) */ + { AST_FORMAT_SLINEAR16, "slin16", 16000, "16 bit Signed Linear PCM (16kHz)", 320, 10, 70, 10, 20, AST_SMOOTHER_FLAG_BE }, /*!< Signed linear (16kHz) */ { AST_FORMAT_JPEG, "jpeg", 0, "JPEG image"}, /*!< See format_jpeg.c */ { AST_FORMAT_PNG, "png", 0, "PNG image"}, /*!< PNG Image format */ { AST_FORMAT_H261, "h261", 0, "H.261 Video" }, /*!< H.261 Video Passthrough */ @@ -248,7 +248,7 @@ struct ast_frame *ast_smoother_read(struct ast_smoother *s) memmove(s->data, s->data + len, s->len); if (!ast_tvzero(s->delivery)) { /* If we have delivery time, increment it, otherwise, leave it at 0 */ - s->delivery = ast_tvadd(s->delivery, ast_samp2tv(s->f.samples, 8000)); + s->delivery = ast_tvadd(s->delivery, ast_samp2tv(s->f.samples, ast_format_rate(s->format))); } } /* Return frame */ |