basetransform: fix critical if transform_caps() returned NULL
authorGuillaume Desmottes <guillaume.desmottes@onestream.live>
Tue, 31 May 2022 12:27:51 +0000 (14:27 +0200)
committerGuillaume Desmottes <guillaume.desmottes@onestream.live>
Tue, 31 May 2022 12:27:51 +0000 (14:27 +0200)
klass->transform_caps() may return NULL, which was raising this
critical:

  GStreamer-CRITICAL **: 12:23:56.243: gst_caps_is_subset: assertion 'subset != NULL' failed

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2528>

subprojects/gstreamer/libs/gst/base/gstbasetransform.c

index c4ed029..ac4b80a 100644 (file)
@@ -475,7 +475,7 @@ gst_base_transform_transform_caps (GstBaseTransform * trans,
     GST_LOG_OBJECT (trans, "  to: %" GST_PTR_FORMAT, ret);
 
 #ifdef GST_ENABLE_EXTRA_CHECKS
-    if (filter) {
+    if (ret && filter) {
       if (!gst_caps_is_subset (ret, filter)) {
         GstCaps *intersection;