GNOME Bugzilla – Bug 637822
oggdemux: allocate buffers using gst_buffer_new_and_alloc
Last modified: 2010-12-24 12:56:20 UTC
Allocate buffers using gst_buffer_new_and_alloc instead of gst_pad_alloc_buffer_and_set_caps, as the first one will cause the pad to block, and we don't want that since that will prevent subsequent pads from being fed if a block occurs at start, when all pads must be fed for playback to start.
Created attachment 176892 [details] [review] oggdemux: allocate buffers using gst_buffer_new_and_alloc instead of gst_pad_alloc_buffer_and_set_caps, as the first one will cause the pad to block, and we don't want that since that will prevent subsequent pads from being fed if a block occurs at sta
commit e443ae6000ddfd4d469c6614914fd700396558b1 Author: Vincent Penquerc'h <vincent.penquerch@collabora.co.uk> Date: Wed Dec 22 19:06:56 2010 +0000 oggdemux: Don't use gst_pad_alloc_buffer() allocate buffers using gst_buffer_new_and_alloc() instead of gst_pad_alloc_buffer_and_set_caps(), as the first one will cause the pad to block, and we don't want that since that will prevent subsequent pads from being fed if a block occurs at start, when all pads must be fed for playback to start. This fixes autoplugging of the tiger element and other things. https://bugzilla.gnome.org/show_bug.cgi?id=637822
Comment on attachment 176892 [details] [review] oggdemux: allocate buffers using gst_buffer_new_and_alloc instead of gst_pad_alloc_buffer_and_set_caps, as the first one will cause the pad to block, and we don't want that since that will prevent subsequent pads from being fed if a block occurs at sta gst_buffer_new_and_alloc() will always succeed (or call abort()). Pushed with that change
Created attachment 176992 [details] [review] mve: do not use the pad buffer allocation functions in demuxers Doing so can block, see
Created attachment 176993 [details] [review] mpegdemux: do not use the pad buffer allocation functions in demuxers Doing so can block, see
Created attachment 176994 [details] [review] realmedia: do not use the pad buffer allocation functions in demuxers Doing so can block, see
Same for other demuxers while we're at it.
Actually, tpm pointed out gst_buffer_new_and_alloc cannot fail, so I'll remove the error checking and add those patches in separate bugs. Sorry for the hassle.