mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-02-17 11:45:25 +00:00
caps: no need to store the size of the caps structure inside the structure
This commit is contained in:
parent
2677f9b56d
commit
463268b21f
1 changed files with 3 additions and 7 deletions
|
@ -75,12 +75,9 @@ typedef struct _GstCapsImpl
|
||||||
{
|
{
|
||||||
GstCaps caps;
|
GstCaps caps;
|
||||||
|
|
||||||
gsize slice_size;
|
|
||||||
|
|
||||||
GPtrArray *array;
|
GPtrArray *array;
|
||||||
} GstCapsImpl;
|
} GstCapsImpl;
|
||||||
|
|
||||||
#define GST_CAPS_SLICE_SIZE(c) (((GstCapsImpl *)(c))->slice_size)
|
|
||||||
#define GST_CAPS_ARRAY(c) (((GstCapsImpl *)(c))->array)
|
#define GST_CAPS_ARRAY(c) (((GstCapsImpl *)(c))->array)
|
||||||
|
|
||||||
#define GST_CAPS_LEN(c) (GST_CAPS_ARRAY(c)->len)
|
#define GST_CAPS_LEN(c) (GST_CAPS_ARRAY(c)->len)
|
||||||
|
@ -182,11 +179,11 @@ _gst_caps_free (GstCaps * caps)
|
||||||
#ifdef DEBUG_REFCOUNT
|
#ifdef DEBUG_REFCOUNT
|
||||||
GST_CAT_TRACE (GST_CAT_CAPS, "freeing caps %p", caps);
|
GST_CAT_TRACE (GST_CAT_CAPS, "freeing caps %p", caps);
|
||||||
#endif
|
#endif
|
||||||
g_slice_free1 (GST_CAPS_SLICE_SIZE (caps), caps);
|
g_slice_free1 (sizeof (GstCapsImpl), caps);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
gst_caps_init (GstCaps * caps, gsize size)
|
gst_caps_init (GstCaps * caps)
|
||||||
{
|
{
|
||||||
gst_mini_object_init (GST_MINI_OBJECT_CAST (caps), _gst_caps_type);
|
gst_mini_object_init (GST_MINI_OBJECT_CAST (caps), _gst_caps_type);
|
||||||
|
|
||||||
|
@ -194,7 +191,6 @@ gst_caps_init (GstCaps * caps, gsize size)
|
||||||
caps->mini_object.dispose = NULL;
|
caps->mini_object.dispose = NULL;
|
||||||
caps->mini_object.free = (GstMiniObjectFreeFunction) _gst_caps_free;
|
caps->mini_object.free = (GstMiniObjectFreeFunction) _gst_caps_free;
|
||||||
|
|
||||||
GST_CAPS_SLICE_SIZE (caps) = size;
|
|
||||||
/* the 32 has been determined by logging caps sizes in _gst_caps_free
|
/* the 32 has been determined by logging caps sizes in _gst_caps_free
|
||||||
* but g_ptr_array uses 16 anyway if it expands once, so this does not help
|
* but g_ptr_array uses 16 anyway if it expands once, so this does not help
|
||||||
* in practice
|
* in practice
|
||||||
|
@ -220,7 +216,7 @@ gst_caps_new_empty (void)
|
||||||
|
|
||||||
caps = (GstCaps *) g_slice_new (GstCapsImpl);
|
caps = (GstCaps *) g_slice_new (GstCapsImpl);
|
||||||
|
|
||||||
gst_caps_init (caps, sizeof (GstCapsImpl));
|
gst_caps_init (caps);
|
||||||
|
|
||||||
#ifdef DEBUG_REFCOUNT
|
#ifdef DEBUG_REFCOUNT
|
||||||
GST_CAT_TRACE (GST_CAT_CAPS, "created caps %p", caps);
|
GST_CAT_TRACE (GST_CAT_CAPS, "created caps %p", caps);
|
||||||
|
|
Loading…
Reference in a new issue