Aggregator (glvideomixer) in force-live mode "runs ahead" of pipeline clock

Michiel Konstapel michiel at aanmelder.nl
Sat Sep 30 14:48:46 UTC 2023


Hi Mathieu,

On Wednesday 27 September 2023 13:30:53 (+02:00), Mathieu Duponchelle 
wrote:

 > Hey Michiel,
 > 
 > What you describe does not sound like the intended behavior, indeed
 > with force-live you should not even need to have any source connected
 > to a sink pad of the element to have it act as live source, pushing out
 > data at the expected pace.
 > 
 > Can you try this first perhaps? Just use the element as a source with
 > no source upstream and see what happens? Perhaps there is some bug with
 > having all-eos inputs in force-live mode?

I think that might be it.

 > Can you also try with a different subclass (eg compositor) just to rule
 > out any unlikely error with glvideomixer ?

Both of these pipelines run at hundreds of fps, rather than the expected 
framerate:


gst-launch-1.0 filesrc location=some.png ! pngdec ! glupload ! 
glvideomixerelement force-live=true sink_0::repeat-on-eos=true ! 
"video/x-raw(memory:GLMemory), width=1920, height=1080, framerate=25/1" ! 
glcolorconvert ! gldownload ! fpsdisplaysink sync=false
gst-launch-1.0 filesrc location=some.png ! pngdec ! compositor 
force-live=true sink_0::repeat-on-eos=true ! "video/x-raw, width=1920, 
height=1080, framerate=25/1" ! videoconvert ! fpsdisplaysink sync=false

whereas a pipeline with no inputs at all does run at the expected/requested 
framerate:


gst-launch-1.0 glvideomixerelement force-live=true 
sink_0::repeat-on-eos=true ! "video/x-raw(memory:GLMemory), width=1920, 
height=1080, framerate=25/1" ! glcolorconvert ! gldownload ! fpsdisplaysink 
sync=false
gst-launch-1.0 compositor force-live=true sink_0::repeat-on-eos=true ! 
"video/x-raw, width=1920, height=1080, framerate=25/1" ! videoconvert ! 
fpsdisplaysink sync=false

Best,
Michiel


More information about the gstreamer-devel mailing list