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: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1056>
This commit is contained in:
Víctor Manuel Jáquez Leal 2021-08-17 16:49:47 +02:00 committed by GStreamer Marge Bot
parent 286208576f
commit d1cd310e42
2 changed files with 6 additions and 3 deletions

View file

@ -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;

View file

@ -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 */