vavpp: Fix the caps leak in the transform_caps() function.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1689>
This commit is contained in:
He Junyan 2022-02-12 14:51:51 +08:00
parent 644e18d029
commit 1eed9de0bb

View file

@ -986,17 +986,26 @@ gst_va_vpp_transform_caps (GstBaseTransform * trans, GstPadDirection direction,
ret = gst_va_vpp_caps_remove_fields (caps);
tmp = gst_va_vpp_complete_caps_features (ret, GST_CAPS_FEATURE_MEMORY_VA);
if (!gst_caps_is_subset (tmp, ret))
if (!gst_caps_is_subset (tmp, ret)) {
gst_caps_append (ret, tmp);
} else {
gst_caps_unref (tmp);
}
tmp = gst_va_vpp_complete_caps_features (ret, GST_CAPS_FEATURE_MEMORY_DMABUF);
if (!gst_caps_is_subset (tmp, ret))
if (!gst_caps_is_subset (tmp, ret)) {
gst_caps_append (ret, tmp);
} else {
gst_caps_unref (tmp);
}
tmp = gst_va_vpp_complete_caps_features (ret,
GST_CAPS_FEATURE_MEMORY_SYSTEM_MEMORY);
if (!gst_caps_is_subset (tmp, ret))
if (!gst_caps_is_subset (tmp, ret)) {
gst_caps_append (ret, tmp);
} else {
gst_caps_unref (tmp);
}
bail:
if (filter) {