mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-27 12:11:13 +00:00
v4l2videoenc: Also re-enabled paused task
When we only run _finish(), the task is never stopped externally, instead it's only paused from the inside. We still want to restart it in this case.
This commit is contained in:
parent
34abfbff18
commit
b3afa0dc1d
1 changed files with 3 additions and 2 deletions
|
@ -711,14 +711,15 @@ gst_v4l2_video_enc_handle_frame (GstVideoEncoder * encoder,
|
|||
{
|
||||
GstV4l2VideoEnc *self = GST_V4L2_VIDEO_ENC (encoder);
|
||||
GstFlowReturn ret = GST_FLOW_OK;
|
||||
GstTaskState task_state;
|
||||
|
||||
GST_DEBUG_OBJECT (self, "Handling frame %d", frame->system_frame_number);
|
||||
|
||||
if (G_UNLIKELY (!g_atomic_int_get (&self->active)))
|
||||
goto flushing;
|
||||
|
||||
if (gst_pad_get_task_state (GST_VIDEO_DECODER_SRC_PAD (self)) ==
|
||||
GST_TASK_STOPPED) {
|
||||
task_state = gst_pad_get_task_state (GST_VIDEO_DECODER_SRC_PAD (self));
|
||||
if (task_state == GST_TASK_STOPPED || task_state == GST_TASK_PAUSED) {
|
||||
GstBufferPool *pool = GST_BUFFER_POOL (self->v4l2output->pool);
|
||||
|
||||
/* It possible that the processing thread stopped due to an error */
|
||||
|
|
Loading…
Reference in a new issue