From 087e39564d3fa48de2a31e6bb4742f4467b3a106 Mon Sep 17 00:00:00 2001 From: Seungha Yang Date: Tue, 2 Jan 2024 21:03:49 +0900 Subject: [PATCH] d3d12videosink: Fix buffer leak Part-of: --- subprojects/gst-plugins-bad/sys/d3d12/gstd3d12videosink.cpp | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/subprojects/gst-plugins-bad/sys/d3d12/gstd3d12videosink.cpp b/subprojects/gst-plugins-bad/sys/d3d12/gstd3d12videosink.cpp index fe521d01c9..51789b2b72 100644 --- a/subprojects/gst-plugins-bad/sys/d3d12/gstd3d12videosink.cpp +++ b/subprojects/gst-plugins-bad/sys/d3d12/gstd3d12videosink.cpp @@ -115,8 +115,6 @@ static void gst_d3d12_videosink_get_property (GObject * object, guint prop_id, static void gst_d3d12_video_sink_finalize (GObject * object); static void gst_d3d12_video_sink_set_context (GstElement * element, GstContext * context); -static gboolean gst_d3d12_video_sink_set_caps (GstBaseSink * sink, - GstCaps * caps); static gboolean gst_d3d12_video_sink_start (GstBaseSink * sink); static gboolean gst_d3d12_video_sink_stop (GstBaseSink * sink); static gboolean gst_d3d12_video_sink_unlock (GstBaseSink * sink); @@ -798,8 +796,6 @@ gst_d3d12_video_sink_prepare (GstBaseSink * sink, GstBuffer * buffer) GstBuffer *upload = nullptr; auto mem = gst_buffer_peek_memory (buffer, 0); if (!gst_is_d3d12_memory (mem)) { - GstBuffer *upload = nullptr; - gst_buffer_pool_acquire_buffer (priv->pool, &upload, nullptr); if (!upload) { GST_ERROR_OBJECT (self, "Couldn't allocate upload buffer"); @@ -815,7 +811,7 @@ gst_d3d12_video_sink_prepare (GstBaseSink * sink, GstBuffer * buffer) if (!gst_video_frame_map (&out_frame, &priv->info, upload, GST_MAP_WRITE)) { GST_ERROR_OBJECT (self, "Couldn't map upload frame"); - gst_video_frame_unmap (&out_frame); + gst_video_frame_unmap (&in_frame); gst_buffer_unref (upload); return GST_FLOW_ERROR; }