nvenc: More clean up on stop for encoder to be reusable
authorSeungha Yang <seungha.yang@navercorp.com>
Fri, 8 Mar 2019 04:43:15 +0000 (13:43 +0900)
committerSeungha Yang <seungha.yang@navercorp.com>
Sun, 10 Mar 2019 04:58:42 +0000 (13:58 +0900)
Encoder will not configure internal pool again if input_state exist

Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/912

sys/nvenc/gstnvbaseenc.c

index 3d991bafbf0a913575a99c525eaee058fd15c29f..4749c477a650cbb3118146f6e57569d897ddee12 100644 (file)
@@ -513,6 +513,11 @@ gst_nv_base_enc_stop (GstVideoEncoder * enc)
 
   gst_nv_base_enc_free_buffers (nvenc);
 
+  if (nvenc->input_state) {
+    gst_video_codec_state_unref (nvenc->input_state);
+    nvenc->input_state = NULL;
+  }
+
   if (nvenc->bitstream_pool) {
     g_async_queue_unref (nvenc->bitstream_pool);
     nvenc->bitstream_pool = NULL;