[Bug 667838] New: jitterbuffer: don't produce lost-events for expired packets

GStreamer (bugzilla.gnome.org) bugzilla at gnome.org
Thu Jan 12 16:17:44 PST 2012


https://bugzilla.gnome.org/show_bug.cgi?id=667838
  GStreamer | gst-plugins-good | git

           Summary: jitterbuffer: don't produce lost-events for expired
                    packets
    Classification: Platform
           Product: GStreamer
           Version: git
        OS/Version: All
            Status: UNCONFIRMED
          Severity: major
          Priority: Normal
         Component: gst-plugins-good
        AssignedTo: gstreamer-bugs at lists.freedesktop.org
        ReportedBy: havard.graff at tandberg.com
         QAContact: gstreamer-bugs at lists.freedesktop.org
                CC: pabuhler at cisco.com
     GNOME version: ---


Created an attachment (id=205152)
 View: https://bugzilla.gnome.org/attachment.cgi?id=205152
 Review: https://bugzilla.gnome.org/review?bug=667838&attachment=205152

patch

he scenario where you have a gap in a steady flow of packets of
say 10 seconds (500 packets of with duration of 20ms), the jitterbuffer
will idle up until it receives the first buffer after the gap, but will
then go on to produce 499 lost-events, to "cover up" the gap.

Now this is obviously wrong, since the last possible time for the earliest
lost-events to be played out has obviously expired, but the fact that
the jitterbuffer has a "length", represented with its own latency combined
with the total latency downstream, allows for covering up at least some
of this gap.

So in the case of the "length" being 200ms, while having received packet
500, the jitterbuffer should still create a timeout for packet 491, which
will have its time expire at 10,02 seconds, specially since it might
actually arrive in time! But obviously, waiting for packet 100, that had
its time expire at 2 seconds, (remembering that the current time is 10)
is useless...

The patch will "move up" the packet it should be waiting for based on
the current time and jitterbuffer "length"

I am going to attach a test-case and the gsttestclock that is essential for
this kind of tests.

-- 
Configure bugmail: https://bugzilla.gnome.org/userprefs.cgi?tab=email
------- 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