inter plugin vs. proxy plugin
Carlos Rafael Giani
crg7475 at mailbox.org
Mon Jul 1 15:10:21 UTC 2019
The inter plugin is very old, originating from the 0.10 days. Back then,
there was no proxy plugin. There is one now.
Both plugins have overlapping functionality, both plugins allow for data
transmissions between pipelines in the same process.
The question of course is how much redundancy there is. I think that the
intersubsrc/sink elements are redundant, given the presence of
proxysrc/sink. intersubsrc/sink do not add any meaningful value over
proxysrc/sink as far as I can see. Does anyone think otherwise?
The intervideosrc/sink and interaudiosrc/sink elements are a different
story though, since the audio and video source elements provide data
even if the corresponding sinks did not transfer anything to them. In
the intervideosrc case, the last video frame will be repeatedly pushed
downstream (eventually it gets discarded and replaced by a black frame),
while interaudiosrc pushes nullsamples. This functionality is very
useful in some cases where you want to decouple pipeline dataflows. One
example would be a producer pipeline that runs always and listens to
HDMI input. If the HDMI cable is disconnected, then alsasrc will block.
By using the interaudio elements, a second, consumer pipeline with
interaudiosrc as its source can continue to run, and until the producer
pipeline provides data, it goes on with nullsamples instead. This kind
of functionality is not easily reproducible with proxysrc/sink.
I bring this up because I am writing a replacement for the inter plugin,
and aside from audio and video elements, I see no need for others.
Similarly, https://bugzilla.gnome.org/show_bug.cgi?id=743510 is
redundant by now I think. I see nothing that this provides and proxy
More information about the gstreamer-devel