linuxOS_D21X/source/artinchip/gst1-plugins-aic/gstfbsink.h
2024-11-29 16:13:46 +08:00

53 lines
1.1 KiB
C

/*
* Copyright (C) 2020-2023 ArtInChip Technology Co., Ltd.
*
* Authors: <qi.xu@artinchip.com>
*/
#ifndef __GST_FBSINK_H__
#define __GST_FBSINK_H__
#include <gst/gst.h>
#include <gst/video/gstvideosink.h>
#include "gstaicfb.h"
#include "dma_allocator.h"
G_BEGIN_DECLS
#define GST_TYPE_FBSINK \
(gst_fbsink_get_type())
#define GST_FBSINK(obj) \
(G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_FBSINK,Gstfbsink))
#define GST_FBSINK_CLASS(klass) \
(G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_FBSINK,GstfbsinkClass))
#define GST_IS_FBSINK(obj) \
(G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_FBSINK))
#define GST_IS_FBSINK_CLASS(klass) \
(G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_FBSINK))
typedef struct _Gstfbsink Gstfbsink;
typedef struct _GstfbsinkClass GstfbsinkClass;
struct _Gstfbsink {
GstVideoSink videosink;
int fb_fd;
int dmabuf_fd;
struct mpp_buf buf;
int alloc_flag;
int screen_width;
int screen_height;
};
struct _GstfbsinkClass {
GstVideoSinkClass parent_class;
};
GType gst_fbsink_get_type (void);
G_END_DECLS
#endif /* __GST_FBSINK_H__ */