libs/gst/base/gstcollectpads.c: Don't loop infinitely if there are no buffers to...
authorJan Schmidt <thaytan@mad.scientist.com>
Fri, 20 Jan 2006 09:26:00 +0000 (09:26 +0000)
committerJan Schmidt <thaytan@mad.scientist.com>
Fri, 20 Jan 2006 09:26:00 +0000 (09:26 +0000)
Original commit message from CVS:
* libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
Don't loop infinitely if there are no buffers to present. Partially
fixes #327197, but collectpads is just broken for reusing elements
to do multiple encodes atm.

ChangeLog
libs/gst/base/gstcollectpads.c

index 991fdd60e61fe78d9138b1e2f0d090d41df35e34..7c83d3c0514b84df824c33a2536c93bea6918cfc 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
+
+       * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
+       Don't loop infinitely if there are no buffers to present. Partially
+       fixes #327197, but collectpads is just broken for reusing elements
+       to do multiple encodes atm.
+
 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
 
        * tools/gst-inspect.c: (print_element_features):
index 4df9bb8b4d298b1f04b1f7eb9a80f00842e88bbf..48816e47590abf8c28eb3b8b19e03e3ab35a6ffa 100644 (file)
@@ -589,6 +589,10 @@ gst_collect_pads_is_collected (GstCollectPads * pads, GstFlowReturn * ret)
         GST_DEBUG_FUNCPTR_NAME (pads->func));
     flow_ret = pads->func (pads, pads->user_data);
     res = TRUE;
+
+    /* Don't keep looping after telling the element EOS or flushing */
+    if (pads->queuedpads == 0)
+      break;
   }
 
 beach: