urisourcebin: Try to link output slot before cleanup

Before cleaning up output slot, check pending pads first, if available.
Then, cleanup it only if linking was failed.

https://bugzilla.gnome.org/show_bug.cgi?id=773341
This commit is contained in:
Seungha Yang 2016-10-23 22:10:39 +09:00 committed by Edward Hervey
parent 5760bd4543
commit cbd4bcd7a4

View file

@ -1343,7 +1343,13 @@ pad_removed_cb (GstElement * element, GstPad * pad, GstURISourceBin * urisrc)
if (GST_PAD_IS_EOS (info->output_slot->sinkpad)) {
GST_LOG_OBJECT (element,
"Pad %" GST_PTR_FORMAT " was removed with EOS.", pad);
free_output_slot_async (urisrc, info->output_slot);
if (urisrc->pending_pads &&
link_pending_pad_to_output (urisrc, info->output_slot)) {
GST_URI_SOURCE_BIN_UNLOCK (urisrc);
return;
} else {
free_output_slot_async (urisrc, info->output_slot);
}
} else {
GstStructure *s;
GstEvent *event;