[gstreamer-bugs] [Bug 503231] New: Change to GST_BUFFER_FLAG_GAP meaning can break with basetransform elements

GStreamer (bugzilla.gnome.org) bugzilla-daemon at bugzilla.gnome.org
Wed Dec 12 02:04:11 PST 2007


If you have any questions why you received this email, please see the text at
the end of this email. Replies to this email are NOT read, please see the text
at the end of this email. You can add comments to this bug at:
  http://bugzilla.gnome.org/show_bug.cgi?id=503231

  GStreamer | gstreamer (core) | Ver: HEAD CVS
           Summary: Change to GST_BUFFER_FLAG_GAP meaning can break with
                    basetransform elements
           Product: GStreamer
           Version: HEAD CVS
          Platform: Other
        OS/Version: Linux
            Status: UNCONFIRMED
          Severity: major
          Priority: Normal
         Component: gstreamer (core)
        AssignedTo: gstreamer-bugs at lists.sourceforge.net
        ReportedBy: slomo at circular-chaos.org
         QAContact: gstreamer-bugs at lists.sourceforge.net
     GNOME version: Unspecified
   GNOME milestone: Unspecified


Hi,
the change to GST_BUFFER_FLAG_GAP to mean, that this buffer contains neutral
data can break basetransform elements as they simply forward this flag.

Some elements can now do optimizations on such buffers, i.e. the volume element
can simply forward such buffer without processing, etc. Now consider the case
where an element does not know that buffers with the GAP flag should contain
neutral data and they create some non-neutral data in the buffer. Now a
downstream element that does special processing on buffers with the GAP flag
will get something that they don't expect and most likely will output something
wrong, i.e. the volume element doesn't change anything and keeps the volume as
is while it should instead mute the buffer.

The attached patch against basetransform is an attemp to prevent such things
from happening. Elements that are aware of the change can set the
GstBaseTransformClass->gap_aware value to TRUE and will continue to get buffers
with the GAP flag set while all other elements will only get output buffers
without GAP flag.

Comments, suggestions, etc? :)

Of course all elements that use the new meaning already need to get a little
one-line patch.


-- 
See http://bugzilla.gnome.org/page.cgi?id=email.html for more info about why you received
this email, why you can't respond via email, how to stop receiving
emails (or reduce the number you receive), and how to contact someone
if you are having problems with the system.

You can add comments to this bug at http://bugzilla.gnome.org/show_bug.cgi?id=503231.




More information about the Gstreamer-bugs mailing list