Incorrect jitter buffer level?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

Does anyone know why the jitter buffer behave that way? I have encounter
the scenario describe in my previous mail multiple times while running some
test with pjsua and I would very much like to know if this is normal.

Any help would be appreciated,

Alexandre Devos


On Mon, Jul 8, 2013 at 5:40 PM, Alexandre Devos <alexandre.devos at genaker.net
> wrote:

> Hi,
>
> I have been looking at the jitter buffer for a few days now and I notice
> something strange about the way the burst level is handle.
>
> Lets take an example with a few frames coming in and out of the buffer:
>
> ...
> PUT -> framelist size = 7 ,  jb_level = 2
> PUT -> framelist size = 8 ,  jb_level = 3
> GET -> framelist size = 7 ,  jb_level = 4
>
> jbuf_calculate_jitter(...) is called
>
> GET -> framelist size = 6 ,  jb_level = 1
> GET -> framelist size = 5 ,  jb_level = 2
> GET -> framelist size = 4 ,  jb_level = 3
> PUT -> framelist size = 5 ,  jb_level = 4
>
> PUT -> framelist size = 6 ,  jb_level = 1
> PUT -> framelist size = 7 ,  jb_level = 2
> PUT -> framelist size = 8 ,  jb_level = 3
> GET -> framelist size = 7 ,  jb_level = 4
>
> jbuf_calculate_jitter(...) is called
>
> ...
>
> As I see it, the first GET of a series is counted in the PUT burst level
> and the first PUT of a series is counted in the GET burst level.
> But what if the level suddenly rise on the first PUT?
> We get something like this:
>
> ...
>
> jbuf_calculate_jitter(...) is called
>
> GET -> framelist size = 6 ,  jb_level = 1
> GET -> framelist size = 5 ,  jb_level = 2
> GET -> framelist size = 4 ,  jb_level = 3
> PUT -> framelist size = 22 ,  jb_level = 21
>
> PUT -> framelist size = 22 ,  jb_level = 1   (frame arriving out of order)
> PUT -> framelist size = 22 ,  jb_level = 2   (frame arriving out of order)
> PUT -> framelist size = 22 ,  jb_level = 3   (frame arriving out of order)
> GET -> framelist size = 21 ,  jb_level = 4
>
> jbuf_calculate_jitter(...) is called
>
> ...
>
> Here, the rise in level is not taken into account when
> jbuf_calculate_jitter(...) is called.
>
> So my question is:
> Do we not take the first PUT of a series into account on purpose? (and
> why?)
> Or is this a bug?
>
> Best regards,
>
> Alexandre Devos
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.pjsip.org/pipermail/pjsip_lists.pjsip.org/attachments/20130717/8fa1ca51/attachment-0001.html>


[Index of Archives]     [Asterisk Users]     [Asterisk App Development]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [Linux API]
  Powered by Linux