AW: Video break when using with splitmuxsink

Thornton, Keith keith.thornton at
Sun Aug 30 09:17:19 UTC 2020

it is enough when you send EOS to the pipeline, but you have to wait for an EOS message on the message bus before setting the pipeline to NULL.

-----Ursprüngliche Nachricht-----
Von: gstreamer-devel <gstreamer-devel-bounces at> Im Auftrag von ToanVnET
Gesendet: Samstag, 29. August 2020 11:40
An: gstreamer-devel at
Betreff: Video break when using with splitmuxsink

I'm using splitmuxsink in Gstreamer with C language to record video. This is my pipeline:

source -> frameratefilter -> encoder -> h264parse -> splitmuxsink

My pipeline is working good. But my video has been broken when I stop the pipeline by send EOS event to elements. I set video duration is 5 minutes.
By some reason, I want to close it earlier. This is way I close them:

  gst_element_send_event(source, gst_event_new_eos());
  gst_element_send_event(splitmuxsink, gst_event_new_eos());
  gst_element_send_event(frameratefilter, gst_event_new_eos());
  gst_element_send_event(encoder, gst_event_new_eos());
  gst_element_send_event(h264parse, gst_event_new_eos());
  gst_element_send_event(pipeline, gst_event_new_eos());

  gst_object_unref (bus);
  gst_element_set_state (pipeline, GST_STATE_NULL);
  gst_object_unref (pipeline);
And this is the error I got:

ERROR GStreamer encountered a general stream error. for file://video1.mp4 ERROR debug information:
aiurdemux_pull_task ():
streaming stopped, reason error, state 1 Reached end of play list.

I also try to set state of elements from: PLAYING --> PAUSED --> READY --> NULL --> send EOS. But It's also not working.

How can I fix it ?

Sent from:
gstreamer-devel mailing list
gstreamer-devel at

More information about the gstreamer-devel mailing list