summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOle André Vadla Ravnås <oleavr@gmail.com>2017-04-17 19:25:49 +0200
committerTim-Philipp Müller <tim@centricular.com>2017-04-19 11:51:57 +0100
commitcb28314013ba7bc495368f97e359c893b640c8c6 (patch)
tree62808b2f6ad739bca635c9238a0dce99da11f44d
parent70ac63a97cdcd313796f9f12e367b5bd694ecdde (diff)
downloadgstreamer-plugins-bad-cb28314013ba7bc495368f97e359c893b640c8c6.tar.gz
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
-rw-r--r--sys/nvenc/gstnvbaseenc.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/sys/nvenc/gstnvbaseenc.c b/sys/nvenc/gstnvbaseenc.c
index 4ec2426f3..980df67bd 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) {