> On March 17, 2015, 4:57 p.m., Matt Jordan wrote:
> > /tags/13.2.0/res/res_rtp_asterisk.c, lines 3394-3406
> > <https://reviewboard.asterisk.org/r/4505/diff/1/?file=72594#file72594line3394>
> >
> >     I think your issue should be solved here.
> >     
> >     When you care a new smoother, you can specify whether or not it is BE 
> > or LE via the ast_smoother_set_flags call. The real issue is determining 
> > whether or not your machine is BE or LE.
> >     
> >     What distro/environment did you produce this issue on?

This issue was produced using Ubuntu 14.04.1 on Intel x86 platform. In Asterisk 
12.8.1 I notice that when a smoother is created, the ast_smoother_set_flags() 
method is used to set the format flags into the smoother. Hence it is not 
deciding on BE/LE based on the machine platform.


> On March 17, 2015, 4:57 p.m., Matt Jordan wrote:
> > /tags/13.2.0/include/asterisk/codec.h, lines 77-80
> > <https://reviewboard.asterisk.org/r/4505/diff/1/?file=72588#file72588line77>
> >
> >     I don't think you can trust that the codec will know its endianness. 
> > Looking at the resample code, I don't _think_ it actually determines the 
> > endianness of its encoding/decoding, and instead relies on the underlying 
> > machine to make that determination. As such, I don't think this should be a 
> > property on the codec structure.

Matt, I actually followed the implementation in Asterisk 12.8.1 where the 
AST_SMOOTHER_FLAG_BE was defined for all the SLIN codecs in main/format.c under 
the format_list_init() method. Do you mean this implementation back in 12.8.1 
was inappropriate? FYI, slin codec used to work fine in Asterisk 12.8.1 for our 
application.


- Frankie


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


On March 17, 2015, 3:36 a.m., Frankie Chin wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviewboard.asterisk.org/r/4505/
> -----------------------------------------------------------
> 
> (Updated March 17, 2015, 3:36 a.m.)
> 
> 
> Review request for Asterisk Developers.
> 
> 
> Bugs: ASTERISK-24858
>     https://issues.asterisk.org/jira/browse/ASTERISK-24858
> 
> 
> Repository: Asterisk
> 
> 
> Description
> -------
> 
> In Asterisk 13.2.0 when SLIN codec is used in two Asterisk servers registered 
> to one another via PJSIP, the RTP payload is sent in the wrong byte order. 
> The patch addresses the following based on the correct behavior in Asterisk 
> 12.8.1:
> 1) Save ptime = 20 as the framing in the ast_rtp_codecs structure when 
> creating outgoing SDP packet (res_pjsip_sdp_rtp.c)
> 2) Do not copy the framing when copying the payload (rtp_engine.c)
> 3) Introduce the new "smoother_be" flagin the ast_codec structure. Set this 
> flag = 1 for all the SLIN codecs (codec_builtin.c).
> 4) Check for this "smoother_be" flag before using the smoother on the data 
> (res_rtp_asterisk.c)
> 
> 
> Diffs
> -----
> 
>   /tags/13.2.0/res/res_rtp_asterisk.c 433002 
>   /tags/13.2.0/res/res_pjsip_sdp_rtp.c 433002 
>   /tags/13.2.0/main/rtp_engine.c 433002 
>   /tags/13.2.0/main/format.c 433002 
>   /tags/13.2.0/main/codec_builtin.c 433002 
>   /tags/13.2.0/include/asterisk/format.h 433002 
>   /tags/13.2.0/include/asterisk/codec.h 433002 
> 
> Diff: https://reviewboard.asterisk.org/r/4505/diff/
> 
> 
> Testing
> -------
> 
> The patch was tested using the scenario described in ASTERISK-24858
> 
> 
> Thanks,
> 
> Frankie Chin
> 
>

-- 
_____________________________________________________________________
-- Bandwidth and Colocation Provided by http://www.api-digital.com --

asterisk-dev mailing list
To UNSUBSCRIBE or update options visit:
   http://lists.digium.com/mailman/listinfo/asterisk-dev

Reply via email to