A way to test gst_pad_push()?

Eric Montellese eric.montellese at videon-central.com
Mon Jan 7 11:34:28 PST 2013


Folks,

I have a situation where I would like to modify the pads of an element
while leaving the pipeline in a paused state.  However, when I attempt to
do this, I find a deadlock condition due to the fact that gst_pad_push()
does not return (because downstream is paused and blocking).

So, what I'm wondering is if there is a way to test if a call to
gst_pad_push() will succeed, rather than getting locked into it?  That is,
I want to check if the downstream is full, and if so (and if other
conditions are met) I want to drop the buffer and skip the call to
gst_pad_push().

I'm guessing that the answer might end up being "don't do that" regarding
changing pads while in the paused state -- and if that's true, I'm happy to
hear it -- however, I am trying to fulfill a specific request, so any
advice on how to work within that parameter is appreciated too.  The goal
is to swap pids as quickly as possible (e.g. like a channel change).

Thanks,
Eric
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/gstreamer-devel/attachments/20130107/7f9f10df/attachment.html>


More information about the gstreamer-devel mailing list