camerabin: Ensure that test record pipeline does not see caps change

Depending on the system load the test 'video_capture_with_tags' may
fail or not. Reason is that 'videotestsrc' may emit a buffer before
the final caps negotiation on the recording pipeline has happened
after dynamic linking.

In that case there would be a caps change and because videorate does
no longer drop old buffers and caps on change but pushes duplicates if
required qtmux will notice a caps change and fail to link.

The problem is a synchronization problem in 'camerabin' which became
obvious with the changed behaviour of 'videorate'.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8579>
This commit is contained in:
Jochen Henneberg 2025-03-07 09:06:18 +01:00 committed by GStreamer Marge Bot
parent 6f623af4d7
commit 96970fe33b

View File

@ -1470,6 +1470,10 @@ GST_START_TEST (test_video_capture_with_tags)
g_object_set (camera, "video-profile", profile, NULL);
gst_encoding_profile_unref (profile);
caps = gst_caps_from_string ("video/x-raw, format=(string)Y444");
g_object_set (camera, "video-capture-caps", caps, NULL);
gst_caps_unref (caps);
}
if (gst_element_set_state (GST_ELEMENT (camera), GST_STATE_PLAYING) ==