summaryrefslogtreecommitdiff
path: root/sys
diff options
context:
space:
mode:
authorNicolas Dufresne <nicolas.dufresne@collabora.com>2021-04-06 16:24:39 -0400
committerGStreamer Marge Bot <gitlab-merge-bot@gstreamer-foundation.org>2021-04-07 19:00:21 +0000
commit24eda30bd7bed0500b20ea87d1f1f11e4271c658 (patch)
tree3d3e5ceda2ccaa05fd46dfe1ef8768a3bd92ddee /sys
parent81d4ccdc44445e832f51d02bcc4950b9bef71214 (diff)
downloadgstreamer-plugins-bad-24eda30bd7bed0500b20ea87d1f1f11e4271c658.tar.gz
v4l2codecs: Fix holding of reference picture buffer
The picture buffer (V4L2 CAPTURE buffer) was being released immediatly when the request was done. This was problematic since even after the request is done, the picture buffer might still be used as a reference and should not be reused for further decoding yet. This change effectively bind the picture buffer lifetime to the request. So that if the picture is never showned (decode only frame) or the request queue is full before the buffer is displayed, the picture buffer will remain alive. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2142>
Diffstat (limited to 'sys')
-rw-r--r--sys/v4l2codecs/gstv4l2decoder.c1
1 files changed, 0 insertions, 1 deletions
diff --git a/sys/v4l2codecs/gstv4l2decoder.c b/sys/v4l2codecs/gstv4l2decoder.c
index 10b8cf2d4..b5f585d97 100644
--- a/sys/v4l2codecs/gstv4l2decoder.c
+++ b/sys/v4l2codecs/gstv4l2decoder.c
@@ -1124,7 +1124,6 @@ gst_v4l2_request_set_done (GstV4l2Request * request)
}
}
- g_clear_pointer (&pending_req->pic_buf, gst_buffer_unref);
pending_req->pending = FALSE;
gst_v4l2_request_unref (pending_req);