Intervideo race condition?


We’ve been experimenting with intervideo to manage video streams (specifically to deal with some audio sync issues, but that’s not important)

Generally it’s fine, but we sometimes often get errors like this

 gst_video_frame_map_id: assertion 'info->finfo->format == meta->format' failed
 BUS ERROR from /GstPipeline:pipeline-165341492459795/GstBin:video_capture_video/raw.3/GstInterVideoSrc:intervideosrc8 - Internal data stream error.
                                                         ../gstreamer-1.22.6/libs/gst/base/gstbasesrc.c(3132): gst_base_src_loop (): /GstPipeline:pipeline-165341492459795/GstBin:video_capture_video/raw.3/GstInterVideoSrc:intervideosrc8:
                                                       streaming stopped, reason not-supported (-6)

…and no video.

There doesn’t seem to be any obvious cause, apart from maybe being more likely if the system is under load, so it points to a race condition of some kind.

Can anyone shed any light?

That looks Bad™, and unfortunately also like it will be difficult to debug without more context (pipeline / elements involved), or even being able to reproduce it.

Yeah, it’s not a simple pipeline…