On Tue, 3 Aug 2004, Andrew Kohlsmith wrote:
> On Tuesday 03 August 2004 02:58, [EMAIL PROTECTED] wrote: > > From what I have heard, Asterisk does not allow for iLBC to > > take advantage of the lost packet concealment. > > I understand this has something to do with the jitter > > processing. > > Can you provide a source for that statement? I am not disputing it but I'd > like to have it in the archives for one, but also to verify the claim too. I am the source for that statement. Is that a problem? ;-) My qualification is having worked on the IAX2 jitter buffer, consequently having studied how audio flows from the received frames through the jitter buffer and then via ast_translate() into the codec. To use the iLBC codec's lost packet concealment, you must call the codec every 20msec (or whatever). If you have a new frame, you pass it - and you get that back decoded. If you haven't, you call iLBC_decode anyway, passing mode=0 and get a reconstructed frame back. In Asterisk, bridging is "self-clocked" by the incoming frames. So unless a frame arrives, nothing happens. Each arriving frame gets pushed through the codec decode function. But if a frame doesn't turn up... well, then... nothing will happen. You can confirm this by examining codecs/codec_ilbc.c where you will see that there is only one call to iLBC_decode(), and that call has a hardcoded mode=1. So Asterisk will never use the iLBC packet loss concealment capability. At the moment, anyway - this can arguably be fixed, but its not a trivial fix. Regards, Steve _______________________________________________ Asterisk-Users mailing list [EMAIL PROTECTED] http://lists.digium.com/mailman/listinfo/asterisk-users To UNSUBSCRIBE or update options visit: http://lists.digium.com/mailman/listinfo/asterisk-users
