problem to mix several remote sources with adder or mixer

Nicolas Dufresne nicolas at ndufresne.ca
Mon Apr 29 12:03:18 UTC 2019


https://gitlab.freedesktop.org/gstreamer/gstreamer/issues/389

Le lun. 29 avr. 2019 03 h 55, Jack <jack at rybn.org> a écrit :

> Using Python to reproduce the same pipeline and puting a
> "time.sleep(0.1)" in the loop to get each stream do the job.
>
> But yes it seems there is a problem with this simple pipeline.
>
> Here the part of the code working with Python (see my precedent mail to
> see the pipeline) :
>
> for i, mountpoint_info in enumerate(l_mountpoint):
>     time.sleep(0.1)
>     mountpoint, vol = mountpoint_info
>     uri = f'http://stream.p-node.org{mountpoint}'
>     bin_source = AudioFileSource(filename=uri, name=f'source{i}',
> volume=vol)
>     self.pipeline.add(bin_source)
>     ch_pad = self.mix.get_request_pad('sink_%u')
>     bin_source.get_static_pad("src").link(ch_pad)
>     bin_source.sync_state_with_parent()
>
>
> ++
>
> Jack
>
>
>
> Le 29/04/2019 à 03:26, Nicolas Dufresne a écrit :
> >
> >
> > Le dim. 28 avr. 2019 09 h 25, Jack <jack at rybn.org
> > <mailto:jack at rybn.org>> a écrit :
> >
> >     OK, I have the same problem using gst-launch-1.0 with this basic
> >     pipeline (mixing 3 audio sources from a remote server) :
> >
> >     $ gst-launch-1.0 audiomixer name=mix ! audioconvert ! autoaudiosink
> >     uridecodebin uri=http://.../xxx.mp3 ! audioconvert ! queue ! mix.
> >     uridecodebin uri=http://.../xxx.mp3 ! audioconvert ! queue ! mix.
> >     uridecodebin uri=http://.../xxx.mp3 ! audioconvert ! queue ! mix.
> >
> >     Setting pipeline to PAUSED ...
> >     Pipeline is PREROLLING ...
> >     Got context from element 'source': gst.soup.session=context,
> >     session=(SoupSession)NULL, force=(boolean)false;
> >     buffering... 100%
> >
> >     Then the pipeline hangs...
> >     Any clue to solve this issue ?
> >
> >
> > I tested it, with the same mp3 twice and indeed it does not preroll. The
> > aggregator do produce a buffer, which gets to the sync, the sink do
> > commit it's state, but nothing happens, it then block, waiting for
> > preroll. May it's time to track this as an issue, I'm not certain to
> > what element is broken though.
> >
> >     Thanx.
> >     ++
> >
> >     Jack
> >
> >
> >
> >
> >     Le 25/04/2019 à 22:53, Jack a écrit :
> >     > My pipeline is made with 3 bins :
> >     >
> >     > uridecodebin ! audioconvert ! volume ! audiopanorama ! queue
> >     >
> >     > Then each bin request sink pad from audiomixer and create the link
> >     with
> >     > its ghost pad.
> >     >
> >     > The pipeline after uadiomixer is :
> >     >
> >     > audiomixer ! audioconvert ! autoaudiosink
> >     >
> >     > So my final pipeline looks like :
> >     >
> >     > bin1
> >     >      \
> >     > bin2 - audiomixer ! audioconvert ! autoaudiosink
> >     >      /
> >     > bin3
> >     >
> >     > After each element has been added to the pipeline and link in the
> >     right
> >     > order, I change the state of this pipeline to PLAYING.
> >     > But, it seems that the third bin3 can't pass in playing state (or
> >     > something else ?).
> >     > ++
> >     >
> >     > Jack
> >     >
> >     >
> >     >
> >     >
> >     > Le 25/04/2019 à 22:09, Jack a écrit :
> >     >> Hello,
> >     >>
> >     >> Still trying to debug...
> >     >> I succeeded to mix the 3 remote audio stream today ... one time !
> >     >> Then, restarting the exactly same python script failed with other
> >     attemps.
> >     >> Weird, If someone knows what is going wrong ?
> >     >> ++
> >     >>
> >     >> Jack
> >     >>
> >     >>
> >     >>
> >     >> Le 23/04/2019 à 18:00, Jack a écrit :
> >     >>> Hello,
> >     >>>
> >     >>> I am trying to mix several remote sources using uridecodebin
> >     (with uri
> >     >>> as http://) with either adder or audiomixer but it is not
> >     working if i
> >     >>> use more than 2 sources.
> >     >>> It is weird because if i try to use 3 audiofiles sources (with
> >     uri as
> >     >>> file:///), i can mix these 3 sources without problem.
> >     >>> I am sure that i missed something here, but what ?
> >     >>> Thanks for your help.
> >     >>>
> >     >>> My configuration :
> >     >>> Ubuntu 18.04
> >     >>> GStreamer 1.14.1
> >     >>>
> >     >>> ++
> >     >>>
> >     >>> Jack
> >     >>>
> >     >>> _______________________________________________
> >     >>> gstreamer-devel mailing list
> >     >>> gstreamer-devel at lists.freedesktop.org
> >     <mailto:gstreamer-devel at lists.freedesktop.org>
> >     >>> https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
> >     >>>
> >     >>
> >     >> _______________________________________________
> >     >> gstreamer-devel mailing list
> >     >> gstreamer-devel at lists.freedesktop.org
> >     <mailto:gstreamer-devel at lists.freedesktop.org>
> >     >> https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
> >     >>
> >     >
> >     > _______________________________________________
> >     > gstreamer-devel mailing list
> >     > gstreamer-devel at lists.freedesktop.org
> >     <mailto:gstreamer-devel at lists.freedesktop.org>
> >     > https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
> >     >
> >
> >     _______________________________________________
> >     gstreamer-devel mailing list
> >     gstreamer-devel at lists.freedesktop.org
> >     <mailto:gstreamer-devel at lists.freedesktop.org>
> >     https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
> >
> >
> > _______________________________________________
> > gstreamer-devel mailing list
> > gstreamer-devel at lists.freedesktop.org
> > https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
> >
>
> _______________________________________________
> 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/20190429/3bd653d9/attachment.html>


More information about the gstreamer-devel mailing list