From d1cd310e42933315b4722468c7b0929260cf9b4b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=ADctor=20Manuel=20J=C3=A1quez=20Leal?= Date: Tue, 17 Aug 2021 16:49:47 +0200 Subject: [PATCH] videocrop: Fix icles tests. Internally videcrop can call gst_video_crop_set_info() with NULL as in caps. Then critical messages are raised when the in caps are processed. To fix this the in caps are checked, and if they are present, its capsfeature is extracted, otherwise, the previous raw caps detection remains as before. Also the videocrop-test removes the format field in the structure because now its always passed. Part-of: --- gst/videocrop/gstvideocrop.c | 8 +++++--- tests/icles/videocrop-test.c | 1 + 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/gst/videocrop/gstvideocrop.c b/gst/videocrop/gstvideocrop.c index cc3175f005..8d4ba909c1 100644 --- a/gst/videocrop/gstvideocrop.c +++ b/gst/videocrop/gstvideocrop.c @@ -802,9 +802,11 @@ gst_video_crop_set_info (GstVideoFilter * vfilter, GstCaps * in, GST_LOG_OBJECT (crop, "incaps = %" GST_PTR_FORMAT ", outcaps = %" GST_PTR_FORMAT, in, out); - features = gst_caps_get_features (in, 0); - crop->raw_caps = gst_caps_features_is_equal (features, - GST_CAPS_FEATURES_MEMORY_SYSTEM_MEMORY); + if (in) { + features = gst_caps_get_features (in, 0); + crop->raw_caps = gst_caps_features_is_equal (features, + GST_CAPS_FEATURES_MEMORY_SYSTEM_MEMORY); + } if (!crop->raw_caps) goto beach; diff --git a/tests/icles/videocrop-test.c b/tests/icles/videocrop-test.c index 2acfa33738..bf5d437b1b 100644 --- a/tests/icles/videocrop-test.c +++ b/tests/icles/videocrop-test.c @@ -156,6 +156,7 @@ video_crop_get_test_caps (GstElement * videocrop) FRAMERATE, 1, NULL); gst_structure_remove_field (new_structure, "width"); gst_structure_remove_field (new_structure, "height"); + gst_structure_remove_field (new_structure, "format"); gst_caps_append_structure (single_caps, new_structure); /* should be fixed without width/height */