nvenc: Stop bitstream thread in ::stop()
authorOle André Vadla Ravnås <oleavr@gmail.com>
Mon, 17 Apr 2017 17:25:49 +0000 (19:25 +0200)
committerTim-Philipp Müller <tim@centricular.com>
Wed, 19 Apr 2017 10:51:57 +0000 (11:51 +0100)
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

index 4ec2426..980df67 100644 (file)
@@ -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) {