Aggregator (glvideomixer) in force-live mode "runs ahead" of pipeline clock
Michiel Konstapel
michiel at aanmelder.nl
Tue Sep 19 07:50:57 UTC 2023
I am using a glvideomixer to switch between a placeholder image and a live
source that's initially not connected. Instead of an imagefreeze on the
placeholder image, I am trying to use force-live mode on the mixer, and
sending it just a single frame on a repeat-after-eos pad. However, in this
initial state (no actual live input connected) the glvideomixer appears to
be generating output buffers as far as downstream will take them, without
any regard for the pipeline clock. It looks like
gst_aggregator_wait_and_check will always see
gst_aggregator_check_pads_ready return TRUE because the only sinkpad is
EOS, and never gets to any of the consideration of latency and clock time:
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/blob/main/subprojects/gstreamer/libs/gst/base/gstaggregator.c#L841
Am I interpreting this correctly, and is it intended behaviour? If so, how
do I get *my* intended behaviour, having the mixer behave (from
downstream's point of view) like a proper live source whether or not a
network input is connected?
Kind regards,
Michiel
More information about the gstreamer-devel
mailing list