From: Gregory M. <g.m...@ie...> - 2008-12-09 06:49:50
|
I'm working on a plugin which wraps a library. The library requires roughly synchronised audio and/or video frames. Since GstBaseSink only has one sink pad, I need to develop my own sink class. What is the best way to handle this problem? Here are the approaches I have tried: 1) custom sink element with a collection of request sink pads - seems to deadlock (thread waits for other pads to receive data?) - add queues to the pipeline - is the pipeline now in pull mode? - must support push and pull mode, although there is no time sensitivity in application? 2) custom sink element that provides explicit _chain() handlers on the pads - lots of locking problems - still have problem blocking streams until all stream info is available to initialise the library 3) element derived from GstBin which contains audio and video sink elements - how to create internal elements without registering with factory? - difficulty aggregating streams info to initialise library - overly complicated Does a sink element exist which has multiple sink pads? I couldn't find one. Thanks for any advice. Start your day with Yahoo!7 and win a Sony Bravia TV. Enter now http://au.docs.yahoo.com/homepageset/?p1=other&p2=au&p3=tagline |