splitmuxsrc: Don't stop and error on EOS flow return
authorJan Schmidt <jan@centricular.com>
Tue, 2 Aug 2016 17:32:07 +0000 (03:32 +1000)
committerJan Schmidt <jan@centricular.com>
Fri, 5 Aug 2016 15:41:06 +0000 (01:41 +1000)
Don't immediately halt on EOS flow return from downstream
due to out of segment. Let the demuxer handle it and send
EOS.

gst/multifile/gstsplitmuxsrc.c

index c55db9f..a37433b 100644 (file)
@@ -544,11 +544,11 @@ gst_splitmux_pad_loop (GstPad * pad)
   } else {
     GstBuffer *buf = (GstBuffer *) (item->object);
     GstFlowReturn ret = gst_splitmux_handle_buffer (splitmux, splitpad, buf);
-    if (G_UNLIKELY (ret != GST_FLOW_OK)) {
+    if (G_UNLIKELY (ret != GST_FLOW_OK && ret != GST_FLOW_EOS)) {
       /* Stop immediately on error or flushing */
       GST_INFO_OBJECT (splitpad, "Stopping due to pad_push() result %d", ret);
       gst_pad_pause_task (pad);
-      if (ret <= GST_FLOW_EOS) {
+      if (ret < GST_FLOW_EOS) {
         const gchar *reason = gst_flow_get_name (ret);
         GST_ELEMENT_ERROR (splitmux, STREAM, FAILED,
             (_("Internal data flow error.")),