AnsweredAssumed Answered

matroskamux issue with multi-threaded GStreamer Application

Question asked by Suman Ranjan on Jun 12, 2014
Latest reply on Jun 25, 2014 by Joan Xie

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

Outcomes