Video break when using with splitmuxsink

ToanVnET toanrd.vnet at gmail.com
Sat Aug 29 09:39:53 UTC 2020


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:
../../../imx-gst1.0-plugin-4.1.6/plugins/aiurdemux/aiurdemux.c(1015):
aiurdemux_pull_task ():
/GstPlayBin:playbin/GstURIDecodeBin:uridecodebin0/GstDecodeBin:decodebin0/GstAiurDemux:aiurdemux0:
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: http://gstreamer-devel.966125.n4.nabble.com/


More information about the gstreamer-devel mailing list