v4l2videodec: Correctly free caps to avoid memory leak

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5388>
This commit is contained in:
Hou Qi 2023-09-22 16:57:28 +09:00 committed by Tim-Philipp Müller
parent c7eed33e22
commit ca2f7a4254

View file

@ -465,10 +465,8 @@ gst_v4l2_video_dec_negotiate (GstVideoDecoder * decoder)
/* Prefer the acquired caps over anything suggested downstream, this ensure
* that we preserves the bit depth, as we don't have any fancy fixation
* process */
if (gst_caps_is_subset (acquired_caps, caps)) {
gst_caps_unref (acquired_caps);
if (gst_caps_is_subset (acquired_caps, caps))
goto use_acquired_caps;
}
/* Fixate pixel format */
caps = gst_caps_fixate (caps);
@ -482,6 +480,7 @@ gst_v4l2_video_dec_negotiate (GstVideoDecoder * decoder)
gst_v4l2_clear_error (&error);
use_acquired_caps:
gst_caps_unref (acquired_caps);
gst_caps_unref (caps);
/* catch possible bogus driver that don't enumerate the format it actually