mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-12-30 12:10:37 +00:00
query: no need to store the size of the structure inside the structure
This commit is contained in:
parent
7eecd8f56f
commit
16e5684486
1 changed files with 4 additions and 7 deletions
|
@ -77,12 +77,10 @@ static GType _gst_query_type = 0;
|
||||||
typedef struct
|
typedef struct
|
||||||
{
|
{
|
||||||
GstQuery query;
|
GstQuery query;
|
||||||
gsize slice_size;
|
|
||||||
|
|
||||||
GstStructure *structure;
|
GstStructure *structure;
|
||||||
} GstQueryImpl;
|
} GstQueryImpl;
|
||||||
|
|
||||||
#define GST_QUERY_SLICE_SIZE(q) (((GstQueryImpl *)(q))->slice_size)
|
|
||||||
#define GST_QUERY_STRUCTURE(q) (((GstQueryImpl *)(q))->structure)
|
#define GST_QUERY_STRUCTURE(q) (((GstQueryImpl *)(q))->structure)
|
||||||
|
|
||||||
|
|
||||||
|
@ -204,7 +202,7 @@ _gst_query_free (GstQuery * query)
|
||||||
gst_structure_free (s);
|
gst_structure_free (s);
|
||||||
}
|
}
|
||||||
|
|
||||||
g_slice_free1 (GST_QUERY_SLICE_SIZE (query), query);
|
g_slice_free1 (sizeof (GstQueryImpl), query);
|
||||||
}
|
}
|
||||||
|
|
||||||
static GstQuery *
|
static GstQuery *
|
||||||
|
@ -223,14 +221,13 @@ _gst_query_copy (GstQuery * query)
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
gst_query_init (GstQueryImpl * query, gsize size, GstQueryType type)
|
gst_query_init (GstQueryImpl * query, GstQueryType type)
|
||||||
{
|
{
|
||||||
gst_mini_object_init (GST_MINI_OBJECT_CAST (query), _gst_query_type);
|
gst_mini_object_init (GST_MINI_OBJECT_CAST (query), _gst_query_type);
|
||||||
|
|
||||||
query->query.mini_object.copy = (GstMiniObjectCopyFunction) _gst_query_copy;
|
query->query.mini_object.copy = (GstMiniObjectCopyFunction) _gst_query_copy;
|
||||||
query->query.mini_object.free = (GstMiniObjectFreeFunction) _gst_query_free;
|
query->query.mini_object.free = (GstMiniObjectFreeFunction) _gst_query_free;
|
||||||
|
|
||||||
GST_QUERY_SLICE_SIZE (query) = size;
|
|
||||||
GST_QUERY_TYPE (query) = type;
|
GST_QUERY_TYPE (query) = type;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -705,7 +702,7 @@ gst_query_new_custom (GstQueryType type, GstStructure * structure)
|
||||||
&query->query.mini_object.refcount))
|
&query->query.mini_object.refcount))
|
||||||
goto had_parent;
|
goto had_parent;
|
||||||
}
|
}
|
||||||
gst_query_init (query, sizeof (GstQueryImpl), type);
|
gst_query_init (query, type);
|
||||||
|
|
||||||
GST_QUERY_STRUCTURE (query) = structure;
|
GST_QUERY_STRUCTURE (query) = structure;
|
||||||
|
|
||||||
|
@ -714,7 +711,7 @@ gst_query_new_custom (GstQueryType type, GstStructure * structure)
|
||||||
/* ERRORS */
|
/* ERRORS */
|
||||||
had_parent:
|
had_parent:
|
||||||
{
|
{
|
||||||
g_slice_free1 (GST_QUERY_SLICE_SIZE (query), query);
|
g_slice_free1 (sizeof (GstQueryImpl), query);
|
||||||
g_warning ("structure is already owned by another object");
|
g_warning ("structure is already owned by another object");
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue