glvideomixer max-last-buffer-repeat not working?

Michiel Konstapel michiel at aanmelder.nl
Thu Jul 1 11:43:18 UTC 2021


After my previous email about the gstglcontext thread, I found the 
repeat-after-eos and max-last-buffer-repeat properties on video 
aggregator pads and their use case sound like just what I need:

- oneshot a filesrc ! pngdec into a "background" pad with 
repeat-after-eos=true
- put the network input on a pad at a higher zorder and with 
max-last-buffer-repeat set to a few seconds

I did a quick test on the command line:

gst-launch-1.0 glvideomixer name=m latency=80000000 background=black \
     sink_0::zorder=0 sink_0::repeat-after-eos=true \
     sink_1::zorder=1 sink_1::max-last-buffer-repeat=0 \
     ! queue ! videoconvert ! fpsdisplaysink sink=glimagesink async=false \
     filesrc location="../images/blank.png" ! pngdec ! m. \
     udpsrc port=1234 \
     ! application/x-rtp, media=video, encoding-name=H264, payload=96, 
clock-rate=90000 \
     ! rtph264depay ! h264parse ! nvh264dec ! queue ! m.

And then beam a videotestsrc in:

gst-launch-1.0 videotestsrc is-live=true ! videoconvert \
! x264enc ! video/x-h264, profile=main ! h264parse ! rtph264pay \
! udpsink host=127.0.0.1 port=1234

However, max-last-buffer-repeat doesn't appear to be doing anything on a 
glvideomixer. The old buffer remains indefinitely. It works as expected 
with a compositor, though. Is this a bug in glvideomixer?

Kind regards,
Michiel


More information about the gstreamer-devel mailing list