Video mixing, EOS and seeking

Alexandre Quessy alexandre at
Mon Apr 21 19:07:31 PDT 2014

Hello everyone,
I am working on a simple video mixer for theatrical shows. It should play
video clips, looping them or pausing them when they are done playing, and
it should be able to do crossfade transitions between clips. Everything
worked well until I implemented the crossfades, using "alpha" elements and
"videomixer". Now, when the end (EOS) of a clip is reached, the image
become black. Here is an ASCII art representation of my pipeline:

filesrc -> decodebin -> videoscale -> alpha -> videomixer ->
ffmpegcolorspace -> xvimagesink
filesrc -> decodebin -> videoscale -> alpha -/

This brings some questions:

* How can I catch the EOS signal of a specific video file, and then start
over the playback of that file without affecting the other one? I use
filesrc and decodebin. Do I need to enclose them in a bin?
* How can I stop the playback of a single file and let the other one play?

Here is a link to my (quite alpha grade) source code, in case you want to
try it out, but it is far from minimal and require some video file with a
JSON config file, if you want to try it.

I the hope for some guidance.
Thank you.

Alexandre Quessy - Artiste en nouveaux médias - Membre de Perte de signal
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the gstreamer-devel mailing list