mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-27 04:01:08 +00:00
update for metadata API changes
This commit is contained in:
parent
dda3219e4c
commit
9c789aa434
6 changed files with 37 additions and 11 deletions
|
@ -57,17 +57,29 @@ GST_DEBUG_CATEGORY_EXTERN (v4l2_debug);
|
||||||
/*
|
/*
|
||||||
* GstV4l2Buffer:
|
* GstV4l2Buffer:
|
||||||
*/
|
*/
|
||||||
|
GType
|
||||||
|
gst_v4l2_meta_api_get_type (void)
|
||||||
|
{
|
||||||
|
static volatile GType type;
|
||||||
|
static const gchar *tags[] = { "memory", NULL };
|
||||||
|
|
||||||
|
if (g_once_init_enter (&type)) {
|
||||||
|
GType _type = gst_meta_api_type_register ("GstV4l2MetaAPI", tags);
|
||||||
|
g_once_init_leave (&type, _type);
|
||||||
|
}
|
||||||
|
return type;
|
||||||
|
}
|
||||||
|
|
||||||
const GstMetaInfo *
|
const GstMetaInfo *
|
||||||
gst_v4l2_meta_get_info (void)
|
gst_v4l2_meta_get_info (void)
|
||||||
{
|
{
|
||||||
static const GstMetaInfo *meta_info = NULL;
|
static const GstMetaInfo *meta_info = NULL;
|
||||||
static const gchar *tags[] = { "memory" };
|
|
||||||
|
|
||||||
if (meta_info == NULL) {
|
if (meta_info == NULL) {
|
||||||
meta_info =
|
meta_info =
|
||||||
gst_meta_register ("GstV4l2Meta", "GstV4l2Meta",
|
gst_meta_register (gst_v4l2_meta_api_get_type (), "GstV4l2Meta",
|
||||||
sizeof (GstV4l2Meta), (GstMetaInitFunction) NULL,
|
sizeof (GstV4l2Meta), (GstMetaInitFunction) NULL,
|
||||||
(GstMetaFreeFunction) NULL, (GstMetaTransformFunction) NULL, tags);
|
(GstMetaFreeFunction) NULL, (GstMetaTransformFunction) NULL);
|
||||||
}
|
}
|
||||||
return meta_info;
|
return meta_info;
|
||||||
}
|
}
|
||||||
|
|
|
@ -79,8 +79,9 @@ struct _GstV4l2Meta {
|
||||||
struct v4l2_buffer vbuffer;
|
struct v4l2_buffer vbuffer;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
GType gst_v4l2_meta_api_get_type (void);
|
||||||
const GstMetaInfo * gst_v4l2_meta_get_info (void);
|
const GstMetaInfo * gst_v4l2_meta_get_info (void);
|
||||||
#define GST_V4L2_META_GET(buf) ((GstV4l2Meta *)gst_buffer_get_meta(buf,gst_v4l2_meta_get_info()))
|
#define GST_V4L2_META_GET(buf) ((GstV4l2Meta *)gst_buffer_get_meta(buf,gst_v4l2_meta_api_get_type()))
|
||||||
#define GST_V4L2_META_ADD(buf) ((GstV4l2Meta *)gst_buffer_add_meta(buf,gst_v4l2_meta_get_info(),NULL))
|
#define GST_V4L2_META_ADD(buf) ((GstV4l2Meta *)gst_buffer_add_meta(buf,gst_v4l2_meta_get_info(),NULL))
|
||||||
|
|
||||||
GType gst_v4l2_buffer_pool_get_type (void);
|
GType gst_v4l2_buffer_pool_get_type (void);
|
||||||
|
|
|
@ -653,8 +653,8 @@ gst_v4l2sink_propose_allocation (GstBaseSink * bsink, GstQuery * query)
|
||||||
gst_query_set_allocation_params (query, size, 2, 0, 0, 0, pool);
|
gst_query_set_allocation_params (query, size, 2, 0, 0, 0, pool);
|
||||||
|
|
||||||
/* we also support various metadata */
|
/* we also support various metadata */
|
||||||
gst_query_add_allocation_meta (query, GST_VIDEO_META_API);
|
gst_query_add_allocation_meta (query, GST_VIDEO_META_API_TYPE);
|
||||||
gst_query_add_allocation_meta (query, GST_VIDEO_CROP_META_API);
|
gst_query_add_allocation_meta (query, GST_VIDEO_CROP_META_API_TYPE);
|
||||||
|
|
||||||
if (pool)
|
if (pool)
|
||||||
gst_object_unref (pool);
|
gst_object_unref (pool);
|
||||||
|
|
|
@ -571,7 +571,7 @@ gst_v4l2src_decide_allocation (GstBaseSrc * bsrc, GstQuery * query)
|
||||||
alignment);
|
alignment);
|
||||||
|
|
||||||
/* if downstream supports video metadata, add this to the pool config */
|
/* if downstream supports video metadata, add this to the pool config */
|
||||||
if (gst_query_has_allocation_meta (query, GST_VIDEO_META_API))
|
if (gst_query_has_allocation_meta (query, GST_VIDEO_META_API_TYPE))
|
||||||
gst_buffer_pool_config_add_option (config,
|
gst_buffer_pool_config_add_option (config,
|
||||||
GST_BUFFER_POOL_OPTION_VIDEO_META);
|
GST_BUFFER_POOL_OPTION_VIDEO_META);
|
||||||
|
|
||||||
|
|
|
@ -23,17 +23,29 @@
|
||||||
|
|
||||||
#include "ximageutil.h"
|
#include "ximageutil.h"
|
||||||
|
|
||||||
|
GType
|
||||||
|
gst_meta_ximage_api_get_type (void)
|
||||||
|
{
|
||||||
|
static volatile GType type;
|
||||||
|
static const gchar *tags[] = { "memory", NULL };
|
||||||
|
|
||||||
|
if (g_once_init_enter (&type)) {
|
||||||
|
GType _type = gst_meta_api_type_register ("GstMetaXImageSrcAPI", tags);
|
||||||
|
g_once_init_leave (&type, _type);
|
||||||
|
}
|
||||||
|
return type;
|
||||||
|
}
|
||||||
|
|
||||||
const GstMetaInfo *
|
const GstMetaInfo *
|
||||||
gst_meta_ximage_get_info (void)
|
gst_meta_ximage_get_info (void)
|
||||||
{
|
{
|
||||||
static const GstMetaInfo *meta_ximage_info = NULL;
|
static const GstMetaInfo *meta_ximage_info = NULL;
|
||||||
static const gchar *tags[] = { "memory", NULL };
|
|
||||||
|
|
||||||
if (meta_ximage_info == NULL) {
|
if (meta_ximage_info == NULL) {
|
||||||
meta_ximage_info =
|
meta_ximage_info =
|
||||||
gst_meta_register ("GstMetaXImageSrc", "GstMetaXImageSrc",
|
gst_meta_register (gst_meta_ximage_api_get_type (), "GstMetaXImageSrc",
|
||||||
sizeof (GstMetaXImage), (GstMetaInitFunction) NULL,
|
sizeof (GstMetaXImage), (GstMetaInitFunction) NULL,
|
||||||
(GstMetaFreeFunction) NULL, (GstMetaTransformFunction) NULL, tags);
|
(GstMetaFreeFunction) NULL, (GstMetaTransformFunction) NULL);
|
||||||
}
|
}
|
||||||
return meta_ximage_info;
|
return meta_ximage_info;
|
||||||
}
|
}
|
||||||
|
|
|
@ -160,8 +160,9 @@ struct _GstMetaXImage {
|
||||||
BufferReturnFunc return_func;
|
BufferReturnFunc return_func;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
GType gst_meta_ximage_api_get_type (void);
|
||||||
const GstMetaInfo * gst_meta_ximage_get_info (void);
|
const GstMetaInfo * gst_meta_ximage_get_info (void);
|
||||||
#define GST_META_XIMAGE_GET(buf) ((GstMetaXImage *)gst_buffer_get_meta(buf,gst_meta_ximage_get_info()))
|
#define GST_META_XIMAGE_GET(buf) ((GstMetaXImage *)gst_buffer_get_meta(buf,gst_meta_ximage_api_get_type()))
|
||||||
#define GST_META_XIMAGE_ADD(buf) ((GstMetaXImage *)gst_buffer_add_meta(buf,gst_meta_ximage_get_info(),NULL))
|
#define GST_META_XIMAGE_ADD(buf) ((GstMetaXImage *)gst_buffer_add_meta(buf,gst_meta_ximage_get_info(),NULL))
|
||||||
|
|
||||||
GstBuffer *gst_ximageutil_ximage_new (GstXContext *xcontext,
|
GstBuffer *gst_ximageutil_ximage_new (GstXContext *xcontext,
|
||||||
|
|
Loading…
Reference in a new issue