mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-06-07 07:58:51 +00:00
message: no need to store size of the message structure inside the structure
This commit is contained in:
parent
fcd6e1f89c
commit
2677f9b56d
1 changed files with 6 additions and 11 deletions
|
@ -64,12 +64,9 @@ typedef struct
|
||||||
{
|
{
|
||||||
GstMessage message;
|
GstMessage message;
|
||||||
|
|
||||||
gsize slice_size;
|
|
||||||
|
|
||||||
GstStructure *structure;
|
GstStructure *structure;
|
||||||
} GstMessageImpl;
|
} GstMessageImpl;
|
||||||
|
|
||||||
#define GST_MESSAGE_SLICE_SIZE(m) (((GstMessageImpl *)(m))->slice_size)
|
|
||||||
#define GST_MESSAGE_STRUCTURE(m) (((GstMessageImpl *)(m))->structure)
|
#define GST_MESSAGE_STRUCTURE(m) (((GstMessageImpl *)(m))->structure)
|
||||||
|
|
||||||
typedef struct
|
typedef struct
|
||||||
|
@ -201,11 +198,11 @@ _gst_message_free (GstMessage * message)
|
||||||
gst_structure_free (structure);
|
gst_structure_free (structure);
|
||||||
}
|
}
|
||||||
|
|
||||||
g_slice_free1 (GST_MESSAGE_SLICE_SIZE (message), message);
|
g_slice_free1 (sizeof (GstMessageImpl), message);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
gst_message_init (GstMessageImpl * message, gsize size, GstMessageType type,
|
gst_message_init (GstMessageImpl * message, GstMessageType type,
|
||||||
GstObject * src);
|
GstObject * src);
|
||||||
|
|
||||||
static GstMessage *
|
static GstMessage *
|
||||||
|
@ -220,7 +217,7 @@ _gst_message_copy (GstMessage * message)
|
||||||
|
|
||||||
copy = g_slice_new0 (GstMessageImpl);
|
copy = g_slice_new0 (GstMessageImpl);
|
||||||
|
|
||||||
gst_message_init (copy, sizeof (GstMessageImpl), GST_MESSAGE_TYPE (message),
|
gst_message_init (copy, GST_MESSAGE_TYPE (message),
|
||||||
GST_MESSAGE_SRC (message));
|
GST_MESSAGE_SRC (message));
|
||||||
|
|
||||||
GST_MESSAGE_TIMESTAMP (copy) = GST_MESSAGE_TIMESTAMP (message);
|
GST_MESSAGE_TIMESTAMP (copy) = GST_MESSAGE_TIMESTAMP (message);
|
||||||
|
@ -239,7 +236,7 @@ _gst_message_copy (GstMessage * message)
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
gst_message_init (GstMessageImpl * message, gsize size, GstMessageType type,
|
gst_message_init (GstMessageImpl * message, GstMessageType type,
|
||||||
GstObject * src)
|
GstObject * src)
|
||||||
{
|
{
|
||||||
gst_mini_object_init (GST_MINI_OBJECT_CAST (message), _gst_message_type);
|
gst_mini_object_init (GST_MINI_OBJECT_CAST (message), _gst_message_type);
|
||||||
|
@ -249,8 +246,6 @@ gst_message_init (GstMessageImpl * message, gsize size, GstMessageType type,
|
||||||
message->message.mini_object.free =
|
message->message.mini_object.free =
|
||||||
(GstMiniObjectFreeFunction) _gst_message_free;
|
(GstMiniObjectFreeFunction) _gst_message_free;
|
||||||
|
|
||||||
GST_MESSAGE_SLICE_SIZE (message) = size;
|
|
||||||
|
|
||||||
GST_MESSAGE_TYPE (message) = type;
|
GST_MESSAGE_TYPE (message) = type;
|
||||||
if (src)
|
if (src)
|
||||||
gst_object_ref (src);
|
gst_object_ref (src);
|
||||||
|
@ -293,7 +288,7 @@ gst_message_new_custom (GstMessageType type, GstObject * src,
|
||||||
&message->message.mini_object.refcount))
|
&message->message.mini_object.refcount))
|
||||||
goto had_parent;
|
goto had_parent;
|
||||||
}
|
}
|
||||||
gst_message_init (message, sizeof (GstMessageImpl), type, src);
|
gst_message_init (message, type, src);
|
||||||
|
|
||||||
GST_MESSAGE_STRUCTURE (message) = structure;
|
GST_MESSAGE_STRUCTURE (message) = structure;
|
||||||
|
|
||||||
|
@ -302,7 +297,7 @@ gst_message_new_custom (GstMessageType type, GstObject * src,
|
||||||
/* ERRORS */
|
/* ERRORS */
|
||||||
had_parent:
|
had_parent:
|
||||||
{
|
{
|
||||||
g_slice_free1 (GST_MESSAGE_SLICE_SIZE (message), message);
|
g_slice_free1 (sizeof (GstMessageImpl), message);
|
||||||
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