/* SPDX-License-Identifier: LGPL-2.1-or-later */ /* * Copyright (C) 2019, Collabora Ltd. * Author: Nicolas Dufresne <nicolas.dufresne@collabora.com> * * gstlibcamerapad.h - GStreamer Capture Element */ #pragma once #include "gstlibcamerapool.h" #include <gst/gst.h> #include <libcamera/stream.h> #define GST_TYPE_LIBCAMERA_PAD gst_libcamera_pad_get_type() G_DECLARE_FINAL_TYPE(GstLibcameraPad, gst_libcamera_pad, GST_LIBCAMERA, PAD, GstPad) libcamera::StreamRole gst_libcamera_pad_get_role(GstPad *pad); GstLibcameraPool *gst_libcamera_pad_get_pool(GstPad *pad); void gst_libcamera_pad_set_pool(GstPad *pad, GstLibcameraPool *pool); libcamera::Stream *gst_libcamera_pad_get_stream(GstPad *pad); void gst_libcamera_pad_queue_buffer(GstPad *pad, GstBuffer *buffer); GstFlowReturn gst_libcamera_pad_push_pending(GstPad *pad); bool gst_libcamera_pad_has_pending(GstPad *pad); void gst_libcamera_pad_set_latency(GstPad *pad, GstClockTime latency);