streamer inside thread

Sebastian Dröge sebastian at centricular.com
Tue Feb 4 06:51:27 PST 2014


On Fr, 2014-01-31 at 11:06 -0800, d wrote:
> Hi, 
> 
> Im trying to transmit video from thread.
> the program works perfectly if I put it outside the thread, but once I put
> it inside the thread, im getting this error:
> 
> (program:14481): GStreamer-CRITICAL **: gst_mini_object_unref: assertion
> `GST_IS_MINI_OBJECT (mini_object)' failed
> 
> (program:14481): GLib-GObject-CRITICAL **: g_object_unref: assertion
> `G_IS_OBJECT (object)' failed
> 
> 
> this is the content of the thread: (im kind of sure that the problem is with
> --->   gst_init (&rcvStruct.argc, &rcvStruct.argv);  )
> 
> void *RTPfun(void * rcv)      //rcv is struct that contain argc, argv, and
> some IP address
> {
> [...]
>    gst_init (&rcvStruct.argc, &rcvStruct.argv);

You only need to initialize GStreamer exactly once in your process.
Doing it multiple times is ok too but it's not threadsafe!


Other than that what Michael Grüner has said will show you where exactly
the problem is. Alternatively just set G_DEBUG=fatal_warnings and run
your application in gdb if you don't want to fight with core dumps.

-- 
Sebastian Dröge, Centricular Ltd - http://www.centricular.com
Expertise, Straight from the Source
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 949 bytes
Desc: This is a digitally signed message part
URL: <http://lists.freedesktop.org/archives/gstreamer-devel/attachments/20140204/e3f6696c/attachment-0001.pgp>


More information about the gstreamer-devel mailing list