play multiple sources at once, each from a different position

Tomasz Mikolajczyk tmmikolajczyk at
Fri Jan 28 23:30:21 UTC 2022

Thank you. Could you tell if something like that is doable in gstreamer
itself?  If yes, could you explain here how to achieve it? I just need to
play two sources together but both starting with different offset. Thank
you in advance.

On Tue, Jan 25, 2022 at 4:55 PM Nicolas Dufresne <nicolas at>

> Le lundi 24 janvier 2022 à 02:18 +0100, Tomasz Mikolajczyk via
> gstreamer-devel a écrit :
> Hi,
> I would like to use gstreamer to play multiple sources (for instance two
> video files) simultaneously using a single pipeline but each video starting
> from a different position, for instance first video from the beginning and
> the second from the middle. Could someone guide me on how to achieve it?
> Simplifying, my pipeline is an equivalent of:
> This use case is better handled by GES, which offers ges-launch-1.0
> command line to test.
> gst-launch-1.0 \
> uridecodebin uri=file:///Users/tmikolaj/Downloads/videoalpha_video_dancer1.webm ! videoconvert ! autovideosink \
> uridecodebin uri=file:///Users/tmikolaj/Downloads/videoalpha_video_dancer1.webm ! videoconvert ! autovideosink
> , but created programmatically.
> Obviously, a simple pipeline's seeking seeks two files at once.
> I was trying to register a probe of the GST_PAD_PROBE_TYPE_EVENT_UPSTREAM type from inside the "pad-added" signal callback of the "uridecodebin" element. Inside the probe I wanted to catch the "GST_EVENT_SEEK" event and drop it for the first video. However, it seems that dropping the SEEK message leaves the pipeline in a "PAUSED" state and even an explicit state change to "PLAYING" does nothing.
> Does anybody have some hints on how to solve that problem?
> Regards,
> Tomasz
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the gstreamer-devel mailing list