Hi everyone! I finally found what exactly was wrong with my super-video application: I was missing a call to:
gst_bus_add_signal_watch (GST_ELEMENT_BUS (video->pipeline)); I notced this call in video-sink test app but didn't think of it as something important since the app wasn't using any signals from the bus, but when nothing else worked i put this call in my app and tada everything starts to work. The reason is that ClutterGstVideoSink is using bus signal hander to actually render the frame. IMHO! the only good reason for the element to do that is for clutter to be unable to provide thread safety. If that is the case then is it a valid one anymore now that clutter (>= 0.4) provide thread safety primitives (_threads_enter/leave)? If there is some other reason(s) to do things how they are currently done, then I prose we either: 1. modify the element to make use of idle func (as in g_idle_add) and asyn queues. 2. put the gst_bus_add_signal_watch() call in the element. #2 is apparently the simplest one-liner change but I and Wim Taymans think #1 is a much better approach. In any case! please let me know of your opinion(s) and i'll try to come-up with the appropriate patch(es) ASAP for me. -- Regards, Zeeshan Ali Khattak FSF member#5124 -- To unsubscribe send a mail to [EMAIL PROTECTED]
