[gst-devel] Should element's iterated pads be unref'ed?
4ernov at gmail.com
Mon Feb 14 20:47:55 CET 2011
On Sunday 13 February 2011 21:38:08 Luis de Bethencourt wrote:
> On Fri, Feb 11, 2011 at 9:11 PM, Alexey Chernov <4ernov at gmail.com> wrote:
> > On Tuesday 08 February 2011 21:12:27 you wrote:
> >> On Tue, 2011-02-08 at 15:26 +0300, 4ernov wrote:
> >> > What could be the problem? Maybe I should't unref pads after usage?
> >> > But in all the code snippets I've seen there's unref for every used
> >> > pad.
> >> You probably need to check the result of gst_iterator_next right after
> >> you call it. Even if the result is DONE or ERROR you are still using the
> >> pad and unreferring it. Just use the example of GstIterator.
> > Thanks, Luciana. I searched for an example code with little success so
> > you reference is quite helpful. The problem actually went away as I
> > cleaned and recompiled the application but I'd better find out what the
> > reason was.
> > Thank you.
> So what cleans did you make, do you still have the faulty code?
No, that time I meant only full rebuild and reinstall of the faulty code and
it used to fix the problem. Now I fixed the code as you and Luciana suggested.
> Luciana's suggestion was something you should always do, check the
> function was successful before continuing.
> In some cases you might need to wait until an async Gst function
> finishes before doing anything related.
How can I implement this? Is it necessary to call _async function to ensure
everything is blocked? The use case is to change pipeline branches dynamically
after start of the playback.
gstreamer-devel mailing list
gstreamer-devel at lists.freedesktop.org
More information about the gstreamer-devel