> On March 17, 2015, 11:57 a.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. > > Frankie Chin wrote: > 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.
Apologies; you are absolutely correct about that. I'll need a day or two to think about whether or not this is the right way to handle passing smoother flags in. A part of me dislikes having an explicit BE byte order integer, but I'm also not a giant fan of storing a bunch of smoother properties directly on the codec. There may just not be a better place for it. - Matt ----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviewboard.asterisk.org/r/4505/#review14719 ----------------------------------------------------------- On March 16, 2015, 10:36 p.m., Frankie Chin wrote: > > ----------------------------------------------------------- > This is an automatically generated e-mail. To reply, visit: > https://reviewboard.asterisk.org/r/4505/ > ----------------------------------------------------------- > > (Updated March 16, 2015, 10:36 p.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
