splitmuxsrc: don't consider unlinked pads when deactivating part
authorMathieu Duponchelle <mathieu@centricular.com>
Fri, 30 Sep 2022 16:57:01 +0000 (18:57 +0200)
committerGStreamer Marge Bot <gitlab-merge-bot@gstreamer-foundation.org>
Sat, 1 Oct 2022 02:33:08 +0000 (02:33 +0000)
If splitmuxsrc exposes multiple pads, but only one is linked, part pads
will never see an EOS event. This shouldn't prevent the part from being
eventually deactivated.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3099>

subprojects/gst-plugins-good/gst/multifile/gstsplitmuxpartreader.c

index 5bb675b..7babb75 100644 (file)
@@ -275,7 +275,8 @@ splitmux_part_is_eos_locked (GstSplitMuxPartReader * part)
   GList *cur;
   for (cur = g_list_first (part->pads); cur != NULL; cur = g_list_next (cur)) {
     GstSplitMuxPartPad *part_pad = SPLITMUX_PART_PAD_CAST (cur->data);
-    if (!part_pad->is_eos)
+    if (GST_PAD_LAST_FLOW_RETURN (part_pad->target) != GST_FLOW_NOT_LINKED
+        && !part_pad->is_eos)
       return FALSE;
   }