[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