summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSeungha Yang <seungha.yang@navercorp.com>2019-03-08 13:43:15 +0900
committerTim-Philipp Müller <tim@centricular.com>2019-05-02 11:00:02 +0100
commit4152554364db0692160e5e11ea899a0e6ec3b4de (patch)
tree87010dc8a5381f2810263b09b21ed5ca3bd76c69
parent6f1ff1af8efeeca0413744763200511327e2c21f (diff)
downloadgstreamer-plugins-bad-4152554364db0692160e5e11ea899a0e6ec3b4de.tar.gz
nvenc: More clean up on stop for encoder to be reusable
Encoder will not configure internal pool again if input_state exist Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/912
-rw-r--r--sys/nvenc/gstnvbaseenc.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/sys/nvenc/gstnvbaseenc.c b/sys/nvenc/gstnvbaseenc.c
index 5cf77141b..8bc446eb7 100644
--- a/sys/nvenc/gstnvbaseenc.c
+++ b/sys/nvenc/gstnvbaseenc.c
@@ -527,6 +527,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;