Skip to content

v4l2object: Add interlace-mode back to caps for camera

Qi Hou requested to merge (removed):master into master

Now there is one case like this using our own grecorder: preview first (v4l2src ! waylandsink), then start to recording (v4l2src ! v4l2h264enc ! filesink)

Current code sets skip_try_fmt_probes as TRUE for v4l2src to speedup camera startup, so interlace-mode and colorimetry structure are not added to caps when v4l2src probe caps later. After negotiating with downstream element and fixate/sort the caps, v4l2src will iterate over these caps to find one that works. At this step, gst_v4l2_object_set_format_full() add colorimetry back after TRY_FMT.

Comparing preview state and recording state, an additional interlace-mode structure is added to v4l2src caps, then v4l2src needs to do reset. But this special camera driver can't orphan buffer pool and it causes require buffer failed as streaming is still in active state.

So can we also add interlace-mode back to caps for camera to avoid reset?

Merge request reports