GNOME Bugzilla – Bug 616237
Stop allocating buffers for any caps
Last modified: 2011-05-25 18:45:40 UTC
In various places - I've found GstBaseTransform's suggest feature and gst_pad_buffer_alloc_unchecked() so far - GStreamer decides to allocate a memory buffer as a fallback when calling the bufferalloc function failed. This is bad for caps that require a GstBuffer subclass - such as video/x-raw-gl and video/x-cairo. In fact, I believe gst-plugins-gl is currently broken as it does not check buffers at all and assumes all buffers are GL buffers. It is also not possible to work around this behavior as peer pads without bufferalloc functions will always cause this to happen. I'm filing this as I have no clue if and how to fix it. Currently I'm working around this by manual checks, but that is ugly and required in a lot of places when subclassing.
This is now fixed in 0.11 with the buffer metadata, the ALLOCATION query and the RENEGOTIATE event.