AW: Two pipelines - link them - merge them - easy handling...

Krzysztof Konopko krzysztof.konopko at konagma.eu
Fri Apr 13 06:33:27 UTC 2018


Consider maybe using `gst_parse_bin_from_description()` for each
segment of the overall pipeline:https://gstreamer.freedesktop.org/data/
doc/gstreamer/head/gstreamer/html/gstreamer-GstParse.html#gst-parse-
bin-from-description
Kris
On Thu, 2018-04-12 at 15:58 +0000, Maurer, Martin wrote:
> Additional notice:
>  
> Pipe1 alone is a fully functional pipeline, contain a tee.
> Pipe2 is then attached to a new pad of the tee.
>  
> So not possible to just concatenate the both strings, convert it
> together again via gst_parse_launch
> and work with the newly created pipeline. Sorry.
>  
>  
> 
> 
> Von: gstreamer-devel [mailto:gstreamer-devel-bounces at lists.freedeskto
> p.org]
> Im Auftrag von Maurer, Martin
> 
> Gesendet: Donnerstag, 12. April 2018 17:40
> 
> An: gstreamer-devel at lists.freedesktop.org
> 
> Betreff: Two pipelines - link them - merge them - easy handling...
> 
> 
>  
> Hello,
>  
> I have two (sub-) pipelines, which I create via two gst_parse_launch
> calls.
>  
> pipe1 = gst_parse_launch(“…”);
> pipe2 = gst_parse_launch(“…”);
>  
> I have different pipe2 pipelines, which I create for different use
> cases.
>  
> Now I want to dynamically link them together, so I get a big pipeline
> out of the two smaller ones.
> Just link the end of the first pipeline with the beginning of the
> second pipeline.
>  
> I assume this is only possible if all my elements are inside one
> pipeline? Not distributed over two pipelines. Is this correct?
> So is there perhaps some function to merge pipe2 into pipe1 (and all
> link info also taken over)?
> Some enumeration over all elements of pipe2 and calling add/link for
> pipe1?
> (ok, problem could be, if and how I can remove the added part, how to
> identify what was pipe2 inside pipe1,
> but this is a secondary problem, perhaps I can live without it)
>  
> Or some function call similar to gst_parse_launch, where I can insert
> an already existing pipeline?
>  
> A solution, which could perhaps be possible, to use appsink at end of
> pipe 1 and appsrc in the beginning of pipe2.
> But then I must forward the buffers (and more) by hand…
>  
> Or gst-interpipe?
> https://github.com/RidgeRun/gst-interpipe
> 
>  
> But in my opinion these last both are (too) heavy things for just the
> problem of basic (easy?) pipeline/element handling.
>  
> I know it is possible to use gst_element_factory_make,
> gst_bin_add_many, gst_element_link_many, …
> but this is not as comfortable and easy to use like the pipeline
> strings in gst_parse_launch.
> (reading what element was added, which were linked in which order,
> 
> and modifying it: e.g. adding/removing a new element doesn’t affect
> multiple places)
>  
> Best regards,
>  
> Marie
>  
>  
>  
>  
> 
> 
> 
> 
> _______________________________________________
> gstreamer-devel mailing list
> gstreamer-devel at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/gstreamer-devel/attachments/20180413/126e08f9/attachment-0001.html>


More information about the gstreamer-devel mailing list