diff options
author | Jaslo Ziska <jaslo@ziska.de> | 2023-11-14 13:18:57 +0100 |
---|---|---|
committer | Umang Jain <umang.jain@ideasonboard.com> | 2023-11-22 01:18:19 +0530 |
commit | fd84180d7a09eb9f4891f740735b28af68c201af (patch) | |
tree | 366c9db2e030458d1279134c1f76713c30f0ff18 /test/threads.cpp | |
parent | 091591b52e5535065eef141339c3d69406185136 (diff) |
gstreamer: Implement element EOS handling
This commit implements EOS handling for events sent to the libcamerasrc
element by the send_event method (which can happen when pressing
Ctrl-C while running gst-launch-1.0 -e, see below). EOS events from
downstream elements returning GST_FLOW_EOS are not considered here.
To archive this add a function for the send_event method which handles
the GST_EVENT_EOS event. This function will set an atomic to the
received event and push this EOS event to all source pads in the running
task.
Also set the GST_ELEMENT_FLAG_SOURCE flag to identify libcamerasrc as a
source element which enables it to receive EOS events sent to the
(pipeline) bin containing it. This in turn enables libcamerasrc
to receive EOS events, for example, from gst-launch-1.0 with
the -e (--eos-on-shutdown) flag applied.
Bug: https://bugs.libcamera.org/show_bug.cgi?id=91
Signed-off-by: Jaslo Ziska <jaslo@ziska.de>
Acked-by: Nicolas Dufresne <nicolas.dufresne@collabora.com>
Reviewed-by: Nicolas Dufresne <nicolas.dufresne@collabora.com>
Reviewed-by: Umang Jain <umang.jain@ideasonboard.com>
Signed-off-by: Umang Jain <umang.jain@ideasonboard.com>
Diffstat (limited to 'test/threads.cpp')
0 files changed, 0 insertions, 0 deletions