[Bug 733864] v4l2videodec: Implement EOS handling through V4L2_DEC_CMD_STOP

GStreamer (GNOME Bugzilla) bugzilla at gnome.org
Wed Apr 13 15:46:03 UTC 2016


https://bugzilla.gnome.org/show_bug.cgi?id=733864

--- Comment #23 from Nicolas Dufresne (stormer) <nicolas at ndufresne.ca> ---
(In reply to Philipp Zabel from comment #22)
> Do you mean I should use gst_task_join(decoder->srcpad->task) to stop and
> wait for completion?
> Unfortunately that will set the task state to GST_TASK_STOPPED, which will
> stop the task func immediately or after the next work item (in this case one
> frame). I want to wait until all remaining frames are dequeued and 
> gst_v4l2_allocator_dqbuf stops the pad task by returning GST_FLOW_EOS, after
> receiving -EPIPE from the VIDIOC_DQBUF ioctl.

I see, you are right. Though, you can't just wait like this, as the task might
be signalled without reaching the state you are expected. I see in the
gsttask.c that they loop on a running boolean, which seems public. That might
be safer no ?

-- 
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.


More information about the gstreamer-bugs mailing list