[asterisk-dev] [Code Review] Media Project Phase 2: SILK 8khz-24khz, SLINEAR 8khz-192khz, SPEEX 32khz, Custom format creation in codecs.conf
David Vossel
reviewboard at asterisk.org
Fri Feb 11 13:44:42 CST 2011
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviewboard.asterisk.org/r/1104/#review3181
-----------------------------------------------------------
/trunk/main/translate.c
<https://reviewboard.asterisk.org/r/1104/#comment6571>
This needs to be a dynamically allocated string rather than a statically defined string.
All uses of ast_str_append to this new dynamically allocated string must use the argument '0' for the maximum length they can grow. This will allow the string to grow as needed according to the ast_str API.
- David
On 2011-02-11 12:09:35, David Vossel wrote:
>
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviewboard.asterisk.org/r/1104/
> -----------------------------------------------------------
>
> (Updated 2011-02-11 12:09:35)
>
>
> Review request for Asterisk Developers.
>
>
> Summary
> -------
>
> -Functional Changes
> Dynamic global format list build by codecs defined in codecs.conf
> SILK 8khz, 12khz, 16khz, and 24khz with custom attributes defined in codecs.conf
> Negotiation of SILK attributes in chan_sip.
> SPEEX 32khz with translation
> SLINEAR 8khz, 12khz, 24khz, 32khz, 44.1khz, 48khz, 96khz, 192khz with translation using codec_resample.c
> Various changes to RTP code required to properly handle the dynamic format list and formats with attributes.
>
> -Organizational changes
> Global format list is moved from frame.c to format.c
> Various format specific functions moved from frame.c to format.c
>
> -MIS
> There were several changes that I opted not to do during phase 1 that involved the proper use of formats with attributes. I felt that the phase 1 patch was too complex to attempt these changes so I have included them here. The primary change I held off doing the first time around was in the rtp_engine.c Payload and MIME type lists. These lists were statically defined which made it impossible to set formats with attributes in them. I have gone back and revised these lists to allow the flexibility required for the new architecture.
>
>
> Diffs
> -----
>
> /trunk/CHANGES 307672
> /trunk/channels/chan_gtalk.c 307672
> /trunk/channels/chan_iax2.c 307672
> /trunk/channels/chan_jingle.c 307672
> /trunk/channels/chan_sip.c 307672
> /trunk/channels/chan_skinny.c 307672
> /trunk/channels/iax2.h 307672
> /trunk/codecs/codec_resample.c 307672
> /trunk/codecs/codec_speex.c 307672
> /trunk/configs/codecs.conf.sample 307672
> /trunk/formats/format_attr_silk.c PRE-CREATION
> /trunk/include/asterisk/format.h 307672
> /trunk/include/asterisk/format_cap.h 307672
> /trunk/include/asterisk/frame.h 307672
> /trunk/include/asterisk/rtp_engine.h 307672
> /trunk/include/asterisk/silk.h PRE-CREATION
> /trunk/include/asterisk/time.h 307672
> /trunk/include/asterisk/translate.h 307672
> /trunk/main/asterisk.c 307672
> /trunk/main/channel.c 307672
> /trunk/main/data.c 307672
> /trunk/main/format.c 307672
> /trunk/main/format_cap.c 307672
> /trunk/main/format_pref.c 307672
> /trunk/main/frame.c 307672
> /trunk/main/rtp_engine.c 307672
> /trunk/main/translate.c 307672
> /trunk/res/res_rtp_asterisk.c 307672
>
> Diff: https://reviewboard.asterisk.org/r/1104/diff
>
>
> Testing
> -------
>
> I used the same testing I did for phase1 with phase2. This includes load testing with various codec negotiation scenarios. Speex 32 and its translators were verified using Asterisk back to back. I verified SILK using a codec translator module I'm working with. The new slinear resample code was exercised with both Speex32 and SILK 12khz/24khz translation.
>
>
> Thanks,
>
> David
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.digium.com/pipermail/asterisk-dev/attachments/20110211/f47f373a/attachment.htm>
More information about the asterisk-dev
mailing list