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 
doesn't.

Thoughts?



More information about the gstreamer-devel mailing list