[gst-devel] sink element with multiple sink pads
g.mcgarry at ieee.org
Tue Dec 9 07:23:03 CET 2008
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
More information about the gstreamer-devel