[Bug 642942] New: adder: offset_end field of outgoing buffers is set to GST_BUFFER_OFFSET_NONE

GStreamer (bugzilla.gnome.org) bugzilla at gnome.org
Mon Feb 21 20:49:12 PST 2011


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

           Summary: adder: offset_end field of outgoing buffers is set to
                    GST_BUFFER_OFFSET_NONE
    Classification: Desktop
           Product: GStreamer
           Version: git
        OS/Version: All
            Status: UNCONFIRMED
          Severity: normal
          Priority: Normal
         Component: gst-plugins-base
        AssignedTo: gstreamer-bugs at lists.freedesktop.org
        ReportedBy: lsinger at caltech.edu
         QAContact: gstreamer-bugs at lists.freedesktop.org
      GNOME target: ---
     GNOME version: ---


Created an attachment (id=181555)
 --> (https://bugzilla.gnome.org/attachment.cgi?id=181555)
proposed patch

adder does not set the offset_end field of its output buffers.

If the input buffers on the sink pads have exactly the same offsets and
offsets_end, then that's OK, because in gst_adder_collected, the call to
gst_collect_pads_take_buffer will return an unmodified input buffer from the
first sink pad -- and this will have the offset_end field filled in by the
upstream pipeline.  That buffer is recycled as the output buffer, so it already
has all of its metadata set.

However, if the sink pads have offsets and offsets_end that don't exactly line
up, then gst_collect_pads_take_buffer will have to return a new buffer, either
by merging existing buffers or by creating a sub-buffer.  This new buffer will
have the offset_end field set to GST_BUFFER_OFFSET_NONE.

The attached script reproduces this error.  It consists of a pipeline with two
audiotestsrc's with different values of the "samplesperbuffer" property, both
attached to an adder.  The timestamp, duration, offset, and offset_end fields
will look like this:

0 7812500 0 18446744073709551615
7812500 7812500 128 18446744073709551615
15625000 7812500 256 18446744073709551615
...

Either set both "samplesperbuffer" properties to the same value, or apply the
attached patch, and the offset_end fields get filled in:

0 7812500 0 128
7812500 7812500 128 256
15625000 7812500 256 384
...

The attached patch adds code to fill in the offset_end field.

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