[gst-devel] signal in multithreaded program

Frank Cheng frank.cheng at eu.sony.com
Wed Jun 30 03:01:20 CEST 2004


I am writing a program to display a piece of video. Gstreamer is used as 
the multimedia framework and Gtk is used to make the GUI. I tried a 
multithreaded method but got some problems. Please help.

In the main thread, I added a  "filesrc" and a "spider". Then after the 
spider, I created another thread, and put a "queue", a  "ffcolorspace" 
and a "fakesink".  So I could do the decoder work in the main thread and 
the colorspace conversion in the other thread.

To get the data out from this pipeline, I linked a callback function, 
which dealt with the video data, to the "handoff" signal of the 
fakesink. Note the fakesink is in the new thread.

However, the program never runs. It hangs after the pipeline is built. 
It seems that it stayed in the "gst_iterate", but no data is pass 
through this fakesink. The callback function has never been called. I 
guess the "handoff" signal in the new thread is somehow lost in somewhere.

Please help me.


The information contained in this message or any of its attachments may be confidential and is intended for the exclusive use of the addressee(s). Any disclosure, reproduction, distribution or other dissemination or use of this communication is strictly prohibited without the express permission of the sender. The views expressed in this email are those of the individual and not necessarily those of Sony or Sony affiliated companies. Sony email is for business use only. 

This mail or any response may be monitored by Sony United Kingdom Limited. (6)

More information about the gstreamer-devel mailing list