After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 743510 - inter: Add an interappsrc and interappsink element
inter: Add an interappsrc and interappsink element
Status: RESOLVED OBSOLETE
Product: GStreamer
Classification: Platform
Component: gst-plugins-bad
unspecified
Other All
: Normal enhancement
: git master
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2015-01-26 07:01 UTC by Arun Raghavan
Modified: 2018-11-03 13:29 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
inter: Add interappsrc/sink elements (25.77 KB, patch)
2015-01-26 07:01 UTC, Arun Raghavan
none Details | Review
inter: Factor out caps/buffer handling in interapp* (10.53 KB, patch)
2015-01-26 07:01 UTC, Arun Raghavan
none Details | Review
inter: Queue up streamheaders for delayed clients in interapp* (5.65 KB, patch)
2015-01-26 07:02 UTC, Arun Raghavan
none Details | Review
inter: Use vorbis instead of opus for testing (1.38 KB, patch)
2015-01-26 07:02 UTC, Arun Raghavan
none Details | Review
inter: Add more intelligent buffering of keyframes in interapp* (6.89 KB, patch)
2015-01-26 07:02 UTC, Arun Raghavan
none Details | Review

Description Arun Raghavan 2015-01-26 07:01:39 UTC
This element is meant to be used for inter-pipeline communication of non-raw
buffers.
Comment 1 Arun Raghavan 2015-01-26 07:01:46 UTC
Created attachment 295416 [details] [review]
inter: Add interappsrc/sink elements

This adds elements to allow using arbitrary data with the inter*
mechanism. It is assumed that the sink may consume data more slowly than
the source produces it (and if this happens, some buffers might be
lost).
Comment 2 Arun Raghavan 2015-01-26 07:01:53 UTC
Created attachment 295417 [details] [review]
inter: Factor out caps/buffer handling in interapp*

This is the first step in making buffer handling a bit more
sophisticated (store keyframes, etc.) for when interappsrc is plugged in
much later than interappsink.
Comment 3 Arun Raghavan 2015-01-26 07:02:02 UTC
Created attachment 295418 [details] [review]
inter: Queue up streamheaders for delayed clients in interapp*

This is taken essentially verbatim from multihandlesink -- when a client
joins the stream, we explicitly send out the stream headers from caps
(if present), so that decoders downstream are appropriately initialised
even if they missed initial buffers.
Comment 4 Arun Raghavan 2015-01-26 07:02:10 UTC
Created attachment 295419 [details] [review]
inter: Use vorbis instead of opus for testing

vorbisdec seems a bit more susceptible to missing headers, so allows for
testing the header push code a bit better.
Comment 5 Arun Raghavan 2015-01-26 07:02:18 UTC
Created attachment 295420 [details] [review]
inter: Add more intelligent buffering of keyframes in interapp*

This allows clients that join late to be able to start quickly without
having to wait for a keyframe.
Comment 6 Arun Raghavan 2015-01-26 07:10:02 UTC
The idea with the GstDeferredClient is that it could become helper API for other cases such as multi*sink and tee where a connection/pad might come in at an arbitrary point in the stream.
Comment 7 Sebastian Dröge (slomo) 2015-01-26 11:40:01 UTC
First some bikeshedding, I would call it just "intersrc" and "intersink". It's as much "app" as any of the other elements :)

Will review in detail later.
Comment 8 Olivier Crête 2015-01-26 17:22:04 UTC
Would intersrc/intersink just replace the audio/video specific ones? Would it make sense to forward segments instead of making the src into always a live src?
Comment 9 Sebastian Dröge (slomo) 2015-01-26 17:23:50 UTC
The audio/video specific ones have some additional features on top of this, like outputting silence/black if there's no input.
Comment 10 Philippe Normand 2015-05-15 11:23:05 UTC
Apart from the naming issue is there any problem to address in the patches? It'd be great to merge this at some point :)
Comment 11 Sebastian Dröge (slomo) 2015-08-07 11:16:13 UTC
FWIW, there's something very similar to this in https://github.com/sdroege/openwebrtc/blob/76a5da10dbd8e9805ccd03f065270a340e2635df/owr/owr_inter_src.c now. It's simpler because of additional constraints on all pipelines involved (same clock, same base time, live).
Comment 12 GStreamer system administrator 2018-11-03 13:29:56 UTC
-- 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/204.