[gstreamer-bugs] [Bug 350449] New: [GstBaseTransform] buffer_alloc should alway try downstream

GStreamer (bugzilla.gnome.org) bugzilla-daemon at bugzilla.gnome.org
Tue Aug 8 08:48:16 PDT 2006


Do not reply to this via email (we are currently unable to handle email
responses and they get discarded).  You can add comments to this bug at
http://bugzilla.gnome.org/show_bug.cgi?id=350449
 GStreamer | gstreamer (core) | Ver: HEAD CVS

           Summary: [GstBaseTransform] buffer_alloc should alway try
                    downstream
           Product: GStreamer
           Version: HEAD CVS
          Platform: Other
        OS/Version: Linux
            Status: UNCONFIRMED
          Severity: normal
          Priority: Normal
         Component: gstreamer (core)
        AssignedTo: gstreamer-bugs at lists.sourceforge.net
        ReportedBy: bilboed at bilboed.com
         QAContact: gstreamer-bugs at lists.sourceforge.net
     GNOME version: Unspecified
   GNOME milestone: Unspecified


In gst_base_transform_buffer_alloc, if the element is not initialized or can't
figure out the size to request downstream, it returns a NULL buffer and TRUE
(which will cause core to allocate the buffer normally, without requesting
downstream).

This is wrong for:
1/ Pad blocking. If the stream is blocked downstream, the buffer allocation
process needs to block too. Since we don't request a buffer downstream, it
never gets to the blocked pad.
2/ Performance. It is always better to request a buffer downstream to have the
furthest downstream buffer.

For this to work, GstBaseTransform should call gst_pad_buffer_alloc() on it's
srcpad. This will just get a buffer without setting the caps (and therefore
modifying the state of the element (initialized or not)).


-- 
Configure bugmail: http://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