[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 12:09:35 CST 2011
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviewboard.asterisk.org/r/1104/
-----------------------------------------------------------
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/c264278f/attachment.htm>
More information about the asterisk-dev
mailing list