GNOME Bugzilla – Bug 765820
GstInterpipe plug-in for interpipeline communication
Last modified: 2018-11-03 13:50:13 UTC
Hi At RidgeRun we have developed this set of elements for inter-pipeline communication over the past few years. We developed them to simplify supporting our customer's custom GStreamer based applications. A key requirement for these applications was dynamic control. Typical use cases included: * Switching between multiple source feeds. * Activate/deactivate buffer flow through different branches * Manage the state of the different branches individually * Handle 'some' events in individual branches (EOS typically) Meeting these requirements using existing solutions, would require the use of pad probes, valves, input/output selectors, bins, unlink parts of the pipeline, flush, etc... This required a lot of careful work and was very error prone. We continued with this approach for many iterations, but it was not robust. Then RidgeRun discovered intervideosink/src, interaudiosink/src and intersubsink/src. Immediately we recognized their potential. However, they did not completely fulfilled our requirements due to the restricted caps support and internal functionality. Inspired by this approach, we designed a generic buffer transmission plug-in which effectively solved the limitations which still existed. We have just ported this project to the GStreamer 1.0 API version, and want to share them with the community. Can you evaluate them and provide feedback? We want to take it to the state were it can be included in the GStreamer project. The project is hosted at: https://github.com/RidgeRun/gst-interpipe The documentation is held here: http://developer.ridgerun.com/wiki/index.php?title=GstInterpipe Thanks! Michael Grüner
Can you provide a patch against gst-plugins-bad? This sounds very useful, but there are also a few other patches in Bugzilla going into the same direction. Bug #743510 and bug #752214 at least
Created attachment 327250 [details] [review] Add support for GstInterpipe This patch integrates the GstInterpipe plug-in to the gst-plugins-bad package. The latest Git available version (1.9.0.1) was used. The patch includes: - GstInterpipe plug-in - Unit tests for tests/check - GtkDoc integration
(In reply to Sebastian Dröge (slomo) from comment #1) > Can you provide a patch against gst-plugins-bad? This sounds very useful, > but there are also a few other patches in Bugzilla going into the same > direction. Bug #743510 and bug #752214 at least Thanks Sebastian, I attached the patch to the thread. I also took a look at the other patches, they do seem to seek for similar functionality. I never really liked the surface approach though, specially for the framerate decoupling part. Besides we still need the inter-pipeline caps negotiation, event forwarding (up/down stream and in/out of bounds), timestamp compensation, etc... Let me know your thoughts
The "surface" part and the decoupling of framerates is actually what makes the inter elements useful in quite a few scenarios :) That said, it's not always useful/wanted and also a problem when trying to handle non-raw streams.
(In reply to Sebastian Dröge (slomo) from comment #4) > The "surface" part and the decoupling of framerates is actually what makes > the inter elements useful in quite a few scenarios :) That said, it's not > always useful/wanted and also a problem when trying to handle non-raw > streams. Thanks Sebastian. How can we help you pushing this into the project?
It needs someone spending the time on reviewing it all. As the patch is quite big, this will probably take a while. Maybe I or someone else feels like reviewing it during the GStreamer hackfest in 2 weeks, or otherwise has time for doing that. I'm currently busy with other things and don't have time to review such a big patch.
Did you have a look at #752214, how do you feel you approach differs from ours? I haven't had time to look at your code yet in details,but when designing our code, I think I had a quick look at yours and somehow it didn't fit.
-- GitLab Migration Automatic Message -- This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity. You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/382.