From cb28314013ba7bc495368f97e359c893b640c8c6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ole=20Andr=C3=A9=20Vadla=20Ravn=C3=A5s?= Date: Mon, 17 Apr 2017 19:25:49 +0200 Subject: [PATCH] nvenc: Stop bitstream thread in ::stop() Otherwise we are likely to crash if EOS didn't happen yet. https://bugzilla.gnome.org/show_bug.cgi?id=781410 --- sys/nvenc/gstnvbaseenc.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/sys/nvenc/gstnvbaseenc.c b/sys/nvenc/gstnvbaseenc.c index 4ec2426f37..980df67bd4 100644 --- a/sys/nvenc/gstnvbaseenc.c +++ b/sys/nvenc/gstnvbaseenc.c @@ -222,6 +222,7 @@ static void gst_nv_base_enc_get_property (GObject * object, guint prop_id, static void gst_nv_base_enc_finalize (GObject * obj); static GstCaps *gst_nv_base_enc_getcaps (GstVideoEncoder * enc, GstCaps * filter); +static gboolean gst_nv_base_enc_stop_bitstream_thread (GstNvBaseEnc * nvenc); static void gst_nv_base_enc_class_init (GstNvBaseEncClass * klass) @@ -505,6 +506,8 @@ gst_nv_base_enc_stop (GstVideoEncoder * enc) { GstNvBaseEnc *nvenc = GST_NV_BASE_ENC (enc); + gst_nv_base_enc_stop_bitstream_thread (nvenc); + gst_nv_base_enc_free_buffers (nvenc); if (nvenc->bitstream_pool) {