[Bug 731974] New: videodecoder: parse source data until a frame is obtained

GStreamer (bugzilla.gnome.org) bugzilla at gnome.org
Fri Jun 20 09:25:08 PDT 2014


https://bugzilla.gnome.org/show_bug.cgi?id=731974
  GStreamer | gst-plugins-base | 1.2.4

           Summary: videodecoder: parse source data until a frame is
                    obtained
    Classification: Platform
           Product: GStreamer
           Version: 1.2.4
        OS/Version: Linux
            Status: UNCONFIRMED
          Severity: normal
          Priority: Normal
         Component: gst-plugins-base
        AssignedTo: gstreamer-bugs at lists.freedesktop.org
        ReportedBy: gb.devel at gmail.com
         QAContact: gstreamer-bugs at lists.freedesktop.org
     GNOME version: ---


Parse any pending data until a complete frame is obtained. This is a memory
optimization to avoid expansion of video packets stuffed into the GstAdapter,
and a fix to EOS condition when the user .parse() function ultimately only need
to call into gvd_have_frame() and doesn't need any gvd_add_to_frame().

Additionally optimize the check for any pending data in the GstAdapter by using
gst_adapter_available_fast(). We now only want to determine if there is any
data left, not exactly how much. This avoids a full traversal of the GstAdapter
list of buffers.

Note: the same could apply to git master (1.3), but due to immediate release
needs, I only tested for 1.2.

Interestingly, this fixes custom pipelines with gst-launch-1.0 command line
when h264parse with "byte-stream" format and "au" alignment is used. Somehow,
programmatically, decodebin|playbin would get it right with either "au" or
"nal" alignment.

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