nvenc: Don't release stream lock on GstVideoEncoder::stop()

baseclass didn't take the stream lock during stop. It's valid only for
GstVideoEncoder::finish()

Closes https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/912
This commit is contained in:
Seungha Yang 2019-03-25 22:24:17 +09:00
parent ac1408874b
commit 60983fcea9

View file

@ -911,9 +911,14 @@ gst_nv_base_enc_stop_bitstream_thread (GstNvBaseEnc * nvenc, gboolean force)
g_async_queue_push (nvenc->bitstream_queue, SHUTDOWN_COOKIE);
}
/* temporary unlock, so other thread can find and push frame */
if (!force) {
/* temporary unlock during finish, so other thread can find and push frame */
GST_VIDEO_ENCODER_STREAM_UNLOCK (nvenc);
}
g_thread_join (nvenc->bitstream_thread);
if (!force)
GST_VIDEO_ENCODER_STREAM_LOCK (nvenc);
nvenc->bitstream_thread = NULL;