mirror of
https://git.libcamera.org/libcamera/libcamera.git
synced 2025-07-15 08:25:07 +03:00
gst: libcamerapad: Allow storing a pool
This adds get/set helper to store a pool on the pad. Signed-off-by: Nicolas Dufresne <nicolas.dufresne@collabora.com> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
This commit is contained in:
parent
bde275408c
commit
a801f5e4f6
2 changed files with 24 additions and 0 deletions
|
@ -17,6 +17,7 @@ using namespace libcamera;
|
||||||
struct _GstLibcameraPad {
|
struct _GstLibcameraPad {
|
||||||
GstPad parent;
|
GstPad parent;
|
||||||
StreamRole role;
|
StreamRole role;
|
||||||
|
GstLibcameraPool *pool;
|
||||||
};
|
};
|
||||||
|
|
||||||
enum {
|
enum {
|
||||||
|
@ -108,3 +109,20 @@ gst_libcamera_pad_get_role(GstPad *pad)
|
||||||
GLibLocker lock(GST_OBJECT(self));
|
GLibLocker lock(GST_OBJECT(self));
|
||||||
return self->role;
|
return self->role;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
GstLibcameraPool *
|
||||||
|
gst_libcamera_pad_get_pool(GstPad *pad)
|
||||||
|
{
|
||||||
|
auto *self = GST_LIBCAMERA_PAD(pad);
|
||||||
|
return self->pool;
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
gst_libcamera_pad_set_pool(GstPad *pad, GstLibcameraPool *pool)
|
||||||
|
{
|
||||||
|
auto *self = GST_LIBCAMERA_PAD(pad);
|
||||||
|
|
||||||
|
if (self->pool)
|
||||||
|
g_object_unref(self->pool);
|
||||||
|
self->pool = pool;
|
||||||
|
}
|
||||||
|
|
|
@ -9,6 +9,8 @@
|
||||||
#ifndef __GST_LIBCAMERA_PAD_H__
|
#ifndef __GST_LIBCAMERA_PAD_H__
|
||||||
#define __GST_LIBCAMERA_PAD_H__
|
#define __GST_LIBCAMERA_PAD_H__
|
||||||
|
|
||||||
|
#include "gstlibcamerapool.h"
|
||||||
|
|
||||||
#include <gst/gst.h>
|
#include <gst/gst.h>
|
||||||
|
|
||||||
#include <libcamera/stream.h>
|
#include <libcamera/stream.h>
|
||||||
|
@ -18,4 +20,8 @@ G_DECLARE_FINAL_TYPE(GstLibcameraPad, gst_libcamera_pad, GST_LIBCAMERA, PAD, Gst
|
||||||
|
|
||||||
libcamera::StreamRole gst_libcamera_pad_get_role(GstPad *pad);
|
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);
|
||||||
|
|
||||||
#endif /* __GST_LIBCAMERA_PAD_H__ */
|
#endif /* __GST_LIBCAMERA_PAD_H__ */
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue