I am using yocto dora branch for IMX6 SabreSD board. I have written a GStreamer application which can save video streams from multiple cameras into .mkv format simultaneously.
The pipeline used in the program to store video stream in .mkv format is given below,
gst-launch rtspsrc location=rtsp://10.20.1.48/axis-media/media.amp typefind=true ! rtph264depay queue-delay=0 ! capsfilter caps="video/x-h264,width=640,height=480,framerate=(fraction)30/1" ! matroskamux ! filesink location=test.mkv
As long as I run the program with single camera stream it works all the time. When I switch to multi-threading to get streams from multiple cameras I see in-consistency due to "matroskamux" plugin. It works 2-out-of-5 times kind of behaviour. If I remove the plugin from pipeline and save the raw stream in .264 format directly then there is no problem with the application.
(GSTApp:1718): GLib-GObject-WARNING **: cannot register existing type `GstMatroskamuxPad'
(GSTApp:1718): GLib-GObject-CRITICAL **: g_object_new: assertion `G_TYPE_IS_OBJECT (object_type)' failed
Segmentation fault
My same application works fine on phytec board. I do not have phytec sources to diff "matroskamux" plugin right now.
Plugin Versions :
/gstreamer/0.10.36-r2/
/gst-plugins-good-0.10.31/gst/matroska
Has anyone encountered such an issue with "matroskamux" plugin in multi-threading scenario.
~Suman
Solved! Go to Solution.
Thanks Xie..I got around this problem exactly the way you have mentioned. I used 'mpegtsmux' plugin in place of matroskamux.
as I known, no one has tested matroskamux for this case, it seems that MKV muxer has issue for this, maybe you can try to use mpegtsmux to replace matroskamux, or other muxer, I send the gstreamer plugins Reference Manula, hope helpful for you.
<http://gstreamer.freedesktop.org/documentation/plugins.html>.
Thanks Xie..I got around this problem exactly the way you have mentioned. I used 'mpegtsmux' plugin in place of matroskamux.
great, if you have fixed this issue, do you mind closing this thread?