mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-01-18 21:35:44 +00:00
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
This commit is contained in:
parent
c76a6ef8ea
commit
e443ae6000
1 changed files with 3 additions and 4 deletions
|
@ -567,10 +567,9 @@ gst_ogg_demux_chain_peer (GstOggPad * pad, ogg_packet * packet,
|
|||
goto empty_packet;
|
||||
}
|
||||
|
||||
ret =
|
||||
gst_pad_alloc_buffer_and_set_caps (GST_PAD_CAST (pad),
|
||||
GST_BUFFER_OFFSET_NONE, packet->bytes - offset - trim,
|
||||
GST_PAD_CAPS (pad), &buf);
|
||||
buf = gst_buffer_new_and_alloc (packet->bytes - offset - trim);
|
||||
gst_buffer_set_caps (buf, GST_PAD_CAPS (pad));
|
||||
ret = GST_FLOW_OK;
|
||||
|
||||
/* combine flows */
|
||||
cret = gst_ogg_demux_combine_flows (ogg, pad, ret);
|
||||
|
|
Loading…
Reference in a new issue