[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