is_eos (GstBin * bin, guint32 * seqnum)
{
gboolean result;
+ gint n_eos = 0;
GList *walk, *msgs;
result = TRUE;
find_message (bin, GST_OBJECT_CAST (element), GST_MESSAGE_EOS))) {
GST_DEBUG ("sink '%s' posted EOS", GST_ELEMENT_NAME (element));
*seqnum = gst_message_get_seqnum (GST_MESSAGE_CAST (msgs->data));
+ n_eos++;
} else {
GST_DEBUG ("sink '%s' did not post EOS yet",
GST_ELEMENT_NAME (element));
}
}
}
- return result;
+ /* FIXME: Some tests (e.g. elements/capsfilter) use
+ * pipelines with a dangling sinkpad but no sink element.
+ * These tests assume that no EOS message is ever
+ * posted on the bus so let's keep that behaviour.
+ * In valid pipelines this doesn't make a difference.
+ */
+ return result && n_eos > 0;
}
static void