GStreamer Video Analytics (GVA) Plugin
gva_json_meta.h
Go to the documentation of this file.
1 /*******************************************************************************
2  * Copyright (C) 2018-2020 Intel Corporation
3  *
4  * SPDX-License-Identifier: MIT
5  ******************************************************************************/
6 
12 #ifndef __GVA_JSON_META_H__
13 #define __GVA_JSON_META_H__
14 
15 #include <gst/gst.h>
16 
17 #define GVA_JSON_META_API_NAME "GstGVAJSONMetaAPI"
18 #define GVA_JSON_META_IMPL_NAME "GstGVAJSONMeta"
19 #define GVA_JSON_META_TAG "gva_json_meta"
20 
21 G_BEGIN_DECLS
22 
23 typedef struct _GstGVAJSONMeta GstGVAJSONMeta;
24 
29  GstMeta meta;
30  gchar *message;
31 };
32 
37 const GstMetaInfo *gst_gva_json_meta_get_info(void);
38 
45 
51 #define GST_GVA_JSON_META_INFO (gst_gva_json_meta_get_info())
52 
59 #define GST_GVA_JSON_META_GET(buf) ((GstGVAJSONMeta *)gst_buffer_get_meta(buf, gst_gva_json_meta_api_get_type()))
60 
69 #define GST_GVA_JSON_META_ITERATE(buf, state) \
70  ((GstGVAJSONMeta *)gst_buffer_iterate_meta_filtered(buf, state, gst_gva_json_meta_api_get_type()))
71 
78 #define GST_GVA_JSON_META_ADD(buf) ((GstGVAJSONMeta *)gst_buffer_add_meta(buf, gst_gva_json_meta_get_info(), NULL))
79 
85 gchar *get_json_message(GstGVAJSONMeta *meta);
86 
93 void set_json_message(GstGVAJSONMeta *meta, const gchar *message);
94 
95 G_END_DECLS
96 
97 #endif /* __GVA_JSON_META_H__ */
_GstGVAJSONMeta::meta
GstMeta meta
Definition: gva_json_meta.h:29
_GstGVAJSONMeta::message
gchar * message
Definition: gva_json_meta.h:30
gst_gva_json_meta_get_info
const GstMetaInfo * gst_gva_json_meta_get_info(void)
This function registers, if needed, and returns GstMetaInfo for _GstGVAJSONMeta.
Definition: gva_json_meta.c:60
get_json_message
gchar * get_json_message(GstGVAJSONMeta *meta)
This function returns message field of _GstGVAJSONMeta.
Definition: gva_json_meta.c:73
gst_gva_json_meta_api_get_type
GType gst_gva_json_meta_api_get_type(void)
This function registers, if needed, and returns a GType for api "GstGVAJSONMetaAPI" and associate it ...
Definition: gva_json_meta.c:13
_GstGVAJSONMeta
This struct represents JSON metadata and contains instance of parent GstMeta and message.
Definition: gva_json_meta.h:28
set_json_message
void set_json_message(GstGVAJSONMeta *meta, const gchar *message)
This function sets message field of _GstGVAJSONMeta.
Definition: gva_json_meta.c:77