summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSeungha Yang <seungha@centricular.com>2023-05-10 00:51:31 +0900
committerGStreamer Marge Bot <gitlab-merge-bot@gstreamer-foundation.org>2023-05-10 16:20:41 +0000
commitebcebe548dcaed9d5250f6c29492d8e09c74e04c (patch)
tree0ff0925ea88950c2dccacfcbd43f9eb513065f63
parentb05659859ab83b4739f2640d313383058ea3089f (diff)
downloadgstreamer-ebcebe548dcaed9d5250f6c29492d8e09c74e04c.tar.gz
d3d11videosink: Don't clear prepared buffer on unlock_stop()
That can be called between prepare() and render() which results in unexpected error flow return Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4583>
-rw-r--r--subprojects/gst-plugins-bad/sys/d3d11/gstd3d11videosink.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/subprojects/gst-plugins-bad/sys/d3d11/gstd3d11videosink.cpp b/subprojects/gst-plugins-bad/sys/d3d11/gstd3d11videosink.cpp
index 7a9755c72b..4fec7878ca 100644
--- a/subprojects/gst-plugins-bad/sys/d3d11/gstd3d11videosink.cpp
+++ b/subprojects/gst-plugins-bad/sys/d3d11/gstd3d11videosink.cpp
@@ -1228,8 +1228,6 @@ gst_d3d11_video_sink_unlock_stop (GstBaseSink * sink)
if (self->window)
gst_d3d11_window_unlock_stop (self->window);
- gst_clear_buffer (&self->prepared_buffer);
-
return TRUE;
}
@@ -1442,6 +1440,8 @@ gst_d3d11_video_sink_show_frame (GstVideoSink * sink, GstBuffer * buf)
ret = GST_FLOW_ERROR;
}
+ gst_clear_buffer (&self->prepared_buffer);
+
return ret;
}