summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThibault Saunier <thibault.saunier@collabora.com>2013-10-09 15:36:48 -0300
committerThibault Saunier <thibault.saunier@collabora.com>2013-10-09 20:29:02 -0300
commit0564c1c2b8ad274692ba8358e27fcf00a3b10ce3 (patch)
tree97af23273f692677e1fe1f8cd543d01162cdf838
parent89ae3c2a8266bac8220b8e2aa344bf74160e30cc (diff)
collectpads: Call the collected function while it returns FLOW_OK
This allows us to make sure the elements is EOS and does not have remaining buffers to be drained. https://bugzilla.gnome.org/show_bug.cgi?id=709637
-rw-r--r--libs/gst/base/gstcollectpads.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/libs/gst/base/gstcollectpads.c b/libs/gst/base/gstcollectpads.c
index 3d69abdba..799835ac1 100644
--- a/libs/gst/base/gstcollectpads.c
+++ b/libs/gst/base/gstcollectpads.c
@@ -1284,7 +1284,9 @@ gst_collect_pads_check_collected (GstCollectPads * pads)
GST_DEBUG_OBJECT (pads, "All active pads (%d) are EOS, calling %s",
pads->priv->numpads, GST_DEBUG_FUNCPTR_NAME (func));
- flow_ret = func (pads, user_data);
+ do {
+ flow_ret = func (pads, user_data);
+ } while (flow_ret == GST_FLOW_OK);
} else {
gboolean collected = FALSE;