Dynamic pipelines: how to remove sinks?
Tim-Philipp Müller
t.i.m at zen.co.uk
Sun Dec 30 15:26:36 PST 2012
On Sun, 2012-12-30 at 17:16 -0600, Tal Liron wrote:
Hi,
> But ... what about network sinks? I currently support a udpsink (with an
> rtpL15pay). Would there be any harm in unlinking it and removing it
> while there's still something in its buffers?
>
> I don't care about data loss here, I just want to avoid memory leaks,
> assertion failures, or other crashes. I'm assuming the sink elements
> know how to destroy themselves properly and release their resources, ...
> well, I'm hoping. ;)
It should not matter. If there's a leak or warning or crash, that's a
bug that needs to be fixed. But I would expect udpsink to be fairly
well-tested and robust in this respect.
Setting the sink to NULL state from a running pipeline is quite normal
when an application shuts down a pipeline. Whether you unlink upstream
before that or not should not make a difference in this case.
> I have another related question about the Vala binding. The example has
> this code:
>
> if (GST_EVENT_TYPE (GST_PAD_PROBE_INFO_DATA (info)) != GST_EVENT_EOS)
>
> There doesn't seem to be a Vala equivalent, but this is how I guessed it:
>
> PadProbeReturn on_event(Pad pad, PadProbeInfo info) {
> var e = (Event) info.data;
> if (e.type == EventType.EOS) { ...
var e = info.get_event(info);
should do the trick. We had to add accessor functions for
GstPadProbeInfo for bindings, see:
https://bugzilla.gnome.org/show_bug.cgi?id=684402
These should be available in all 1.x releases, even 1.0.0.
Cheers
-Tim
More information about the gstreamer-devel
mailing list