[Bug 762988] rtpjitterbuffer: Performance improvements

GStreamer (GNOME Bugzilla) bugzilla at gnome.org
Thu Apr 7 08:15:43 UTC 2016


https://bugzilla.gnome.org/show_bug.cgi?id=762988

Edward Hervey <bilboed at bilboed.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
         Resolution|---                         |FIXED
   Target Milestone|git master                  |1.9.1

--- Comment #7 from Edward Hervey <bilboed at bilboed.com> ---
Fixed commits accordingly and pushed them

commit b82da6292239ff2f8bcf620b1595d6b08ad591f4
Author: Edward Hervey <edward at centricular.com>
Date:   Wed Mar 2 14:25:24 2016 +0100

    jitterbuffer: Speed up lost timeout handling

    When downstream blocks, "lost" timers are created to notify the
    outgoing thread that packets are lost.

    The problem is that for high packet-rate streams, we might end up with
    a big list of lost timeouts (had a use-case with ~1000...).

    The problem isn't so much the amount of lost timeouts to handle, but
    rather the way they were handled. All timers would first be iterated,
    then the one selected would be handled ... to re-iterate the list again.

    All of this is being done while the jbuf lock is taken, which in some
use-cases
    would return in holding that lock for 10s... blocking any buffers from
    being accepted in input... which would then arrive late ... which would
    create plenty of lost timers ... which would cause the same issue.

    In order to avoid that situation, handle the lost timers immediately when
    iterating the list of pending timers. This modifies the complexity from
    a quadratic to a linear complexity.

    https://bugzilla.gnome.org/show_bug.cgi?id=762988

commit d656fe8d549ed0ac06e4baf169e06066d0b99e6f
Author: Edward Hervey <edward at centricular.com>
Date:   Wed Mar 2 14:23:01 2016 +0100

    jitterbuffer: Don't create lost events if we don't need them

    When "do-lost" is set to FALSE we don't use/send the lost events.
    In that case, don't create them to start with :)

    https://bugzilla.gnome.org/show_bug.cgi?id=762988

commit cf866a84694862cee766b63c80f5bc8d6e213364
Author: Edward Hervey <edward at centricular.com>
Date:   Wed Mar 2 13:57:07 2016 +0100

    jitterbuffer: Add tracing of lock usage

    Helps with debugging lock usage

    https://bugzilla.gnome.org/show_bug.cgi?id=762988

-- 
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.


More information about the gstreamer-bugs mailing list