Displaying 2 results from an estimated 2 matches for "shorterm_margin".
Did you mean:
shortterm_margin
2005 Sep 18
0
How does the jitter buffer "catch up"?
...e lines
jitter->shortterm_margin[i] *= .98;
jitter->longterm_margin[i] *= .995;
jitter->shortterm_margin[int_margin] += .02;
jitter->longterm_margin[int_margin] += .005;
are read-accumulate-write operations.
Let's assume the +40 bin has the shorterm_margin 1.0, and _put just read
it to do a multiply.
At this point, _get shifts the histogram, so the 1.0 value is copied to
the +20ms bin.
_put gets the CPU again, and writes 0.98 (the 1.0 it fetched, multiplied
by 0.98) back to the +40 bin.
The sum of margins is now 1.98, which is Not Good (tm); it...
2005 Sep 18
3
How does the jitter buffer "catch up"?
> Err, unless I'm totally wrong, there are a few race conditions.
>
> Assume the buffer is full of packets newer than the current pointer, and
> one that is at the current pointer.
>
> get and put start at the same time.
>
> get will find the correct buffer index. Now, just after it finds it's
> index, assume we switch to the put thread.
>
> Put needs