[asterisk-dev] [Code Review] Media Project Phase 2: SILK 8khz-24khz, SLINEAR 8khz-192khz, SPEEX 32khz, Custom format creation in codecs.conf

Russell Bryant reviewboard at asterisk.org
Tue Feb 22 16:36:36 CST 2011


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviewboard.asterisk.org/r/1104/#review3213
-----------------------------------------------------------

Ship it!



/trunk/bridges/bridge_softmix.c
<https://reviewboard.asterisk.org/r/1104/#comment6688>

    ast_debug() ?



/trunk/bridges/bridge_softmix.c
<https://reviewboard.asterisk.org/r/1104/#comment6689>

    ast_debug() here too?



/trunk/codecs/codec_resample.c
<https://reviewboard.asterisk.org/r/1104/#comment6690>

    So does the translator core allocate this much memory for you?  What if you put 0 here?  In this case, it's providing you no benefit and is just a wasted extra allocation.
    
    It would be nice if you could just specify 0 and have full control over the pvt pointer and not have it do any magic for you.


- Russell


On 2011-02-22 15:03:26, David Vossel wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviewboard.asterisk.org/r/1104/
> -----------------------------------------------------------
> 
> (Updated 2011-02-22 15:03:26)
> 
> 
> 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 308571 
>   /trunk/apps/app_chanspy.c 308571 
>   /trunk/apps/app_jack.c 308571 
>   /trunk/apps/app_mixmonitor.c 308571 
>   /trunk/bridges/bridge_multiplexed.c 308571 
>   /trunk/bridges/bridge_softmix.c 308571 
>   /trunk/channels/chan_gtalk.c 308571 
>   /trunk/channels/chan_iax2.c 308571 
>   /trunk/channels/chan_jingle.c 308571 
>   /trunk/channels/chan_sip.c 308571 
>   /trunk/channels/chan_skinny.c 308571 
>   /trunk/channels/iax2.h 308571 
>   /trunk/codecs/Makefile 308571 
>   /trunk/codecs/codec_resample.c 308571 
>   /trunk/codecs/codec_speex.c 308571 
>   /trunk/codecs/speex/arch.h PRE-CREATION 
>   /trunk/codecs/speex/fixed_generic.h PRE-CREATION 
>   /trunk/codecs/speex/resample.c PRE-CREATION 
>   /trunk/codecs/speex/resample_sse.h PRE-CREATION 
>   /trunk/codecs/speex/speex_resampler.h PRE-CREATION 
>   /trunk/codecs/speex/stack_alloc.h PRE-CREATION 
>   /trunk/configs/codecs.conf.sample 308571 
>   /trunk/formats/format_attr_silk.c PRE-CREATION 
>   /trunk/funcs/func_pitchshift.c 308571 
>   /trunk/funcs/func_speex.c 308571 
>   /trunk/funcs/func_volume.c 308571 
>   /trunk/include/asterisk/_private.h 308571 
>   /trunk/include/asterisk/audiohook.h 308571 
>   /trunk/include/asterisk/format.h 308571 
>   /trunk/include/asterisk/format_cap.h 308571 
>   /trunk/include/asterisk/frame.h 308571 
>   /trunk/include/asterisk/rtp_engine.h 308571 
>   /trunk/include/asterisk/silk.h PRE-CREATION 
>   /trunk/include/asterisk/slinfactory.h 308571 
>   /trunk/include/asterisk/time.h 308571 
>   /trunk/include/asterisk/translate.h 308571 
>   /trunk/main/asterisk.c 308571 
>   /trunk/main/audiohook.c 308571 
>   /trunk/main/channel.c 308571 
>   /trunk/main/data.c 308571 
>   /trunk/main/format.c 308571 
>   /trunk/main/format_cap.c 308571 
>   /trunk/main/format_pref.c 308571 
>   /trunk/main/frame.c 308571 
>   /trunk/main/rtp_engine.c 308571 
>   /trunk/main/slinfactory.c 308571 
>   /trunk/main/translate.c 308571 
>   /trunk/res/res_mutestream.c 308571 
>   /trunk/res/res_rtp_asterisk.c 308571 
> 
> 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/20110222/2a75403c/attachment-0001.htm>


More information about the asterisk-dev mailing list