[Bug 749258] New: Basesink: sas issue when checking if buffers are too late before calling prepare/prepare_list

GStreamer (GNOME Bugzilla) bugzilla at gnome.org
Tue May 12 03:05:47 PDT 2015


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

            Bug ID: 749258
           Summary: Basesink: sas issue when checking if buffers are too
                    late before calling prepare/prepare_list
    Classification: Platform
           Product: GStreamer
           Version: 1.4.5
                OS: Linux
            Status: NEW
          Severity: normal
          Priority: Normal
         Component: gstreamer (core)
          Assignee: gstreamer-bugs at lists.freedesktop.org
          Reporter: lj.qfy.sh at gmail.com
        QA Contact: gstreamer-bugs at lists.freedesktop.org
     GNOME version: ---

Created attachment 303252
  --> https://bugzilla.gnome.org/attachment.cgi?id=303252&action=edit
patch

In basesink functions gst_base_sink_chain_unlocked(), below code is used to
checking if buffer is late before doing prepare call to save some effort:
    if (syncable && do_sync)
      late =
          gst_base_sink_is_too_late (basesink, obj, rstart, rstop,
          GST_CLOCK_EARLY, 0, FALSE);

    if (G_UNLIKELY (late))
      goto dropped;

But this code has problem, it should calculate jitter based on current media
clock, rather than just passing 0. I found it will drop all the frames when
rewind in slow speed, such as -2X. 

I made a patch to fix this issue, please check it.

-- 
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