summaryrefslogtreecommitdiff
path: root/utils/tuning/libtuning/gradient.py
diff options
context:
space:
mode:
authorJaslo Ziska <jaslo@ziska.de>2023-11-14 13:18:57 +0100
committerUmang Jain <umang.jain@ideasonboard.com>2023-11-22 01:18:19 +0530
commitfd84180d7a09eb9f4891f740735b28af68c201af (patch)
tree366c9db2e030458d1279134c1f76713c30f0ff18 /utils/tuning/libtuning/gradient.py
parent091591b52e5535065eef141339c3d69406185136 (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 'utils/tuning/libtuning/gradient.py')
0 files changed, 0 insertions, 0 deletions
">(const int &fd = -1); explicit FileDescriptor(int &&fd); FileDescriptor(const FileDescriptor &other); FileDescriptor(FileDescriptor &&other); ~FileDescriptor(); FileDescriptor &operator=(const FileDescriptor &other); FileDescriptor &operator=(FileDescriptor &&other); bool isValid() const { return fd_ != nullptr; } int fd() const { return fd_ ? fd_->fd() : -1; } FileDescriptor dup() const; ino_t inode() const; private: class Descriptor { public: Descriptor(int fd, bool duplicate); ~Descriptor(); int fd() const { return fd_; } private: int fd_; }; std::shared_ptr<Descriptor> fd_; }; } /* namespace libcamera */