mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-02-17 11:45:25 +00:00
Revert "gstmessage: Avoid expensive src/type/timestamp fetch."
This reverts commit 61cf93a334
.
This commit is contained in:
parent
61cf93a334
commit
c9a7e2d188
1 changed files with 31 additions and 36 deletions
|
@ -61,9 +61,6 @@
|
|||
|
||||
|
||||
#define GST_MESSAGE_SEQNUM(e) ((GstMessage*)e)->abidata.ABI.seqnum
|
||||
#define MESSAGE_SRC(m) ((m)->src)
|
||||
#define MESSAGE_TYPE(m) ((m)->type)
|
||||
#define MESSAGE_TIMESTAMP(m) ((m)->timestamp)
|
||||
|
||||
static void gst_message_finalize (GstMessage * message);
|
||||
static GstMessage *_gst_message_copy (GstMessage * message);
|
||||
|
@ -184,7 +181,7 @@ static void
|
|||
gst_message_init (GstMessage * message)
|
||||
{
|
||||
GST_CAT_LOG (GST_CAT_MESSAGE, "new message %p", message);
|
||||
MESSAGE_TIMESTAMP (message) = GST_CLOCK_TIME_NONE;
|
||||
GST_MESSAGE_TIMESTAMP (message) = GST_CLOCK_TIME_NONE;
|
||||
}
|
||||
|
||||
static void
|
||||
|
@ -194,9 +191,9 @@ gst_message_finalize (GstMessage * message)
|
|||
|
||||
GST_CAT_LOG (GST_CAT_MESSAGE, "finalize message %p", message);
|
||||
|
||||
if (MESSAGE_SRC (message)) {
|
||||
gst_object_unref (MESSAGE_SRC (message));
|
||||
MESSAGE_SRC (message) = NULL;
|
||||
if (GST_MESSAGE_SRC (message)) {
|
||||
gst_object_unref (GST_MESSAGE_SRC (message));
|
||||
GST_MESSAGE_SRC (message) = NULL;
|
||||
}
|
||||
|
||||
if (message->lock) {
|
||||
|
@ -218,8 +215,6 @@ _gst_message_copy (GstMessage * message)
|
|||
{
|
||||
GstMessage *copy;
|
||||
|
||||
g_return_val_if_fail (GST_IS_MESSAGE (message), NULL);
|
||||
|
||||
GST_CAT_LOG (GST_CAT_MESSAGE, "copy message %p", message);
|
||||
|
||||
copy = (GstMessage *) gst_mini_object_new (GST_TYPE_MESSAGE);
|
||||
|
@ -229,12 +224,12 @@ _gst_message_copy (GstMessage * message)
|
|||
|
||||
GST_MESSAGE_GET_LOCK (copy) = GST_MESSAGE_GET_LOCK (message);
|
||||
GST_MESSAGE_COND (copy) = GST_MESSAGE_COND (message);
|
||||
MESSAGE_TYPE (copy) = MESSAGE_TYPE (message);
|
||||
MESSAGE_TIMESTAMP (copy) = MESSAGE_TIMESTAMP (message);
|
||||
GST_MESSAGE_TYPE (copy) = GST_MESSAGE_TYPE (message);
|
||||
GST_MESSAGE_TIMESTAMP (copy) = GST_MESSAGE_TIMESTAMP (message);
|
||||
GST_MESSAGE_SEQNUM (copy) = GST_MESSAGE_SEQNUM (message);
|
||||
|
||||
if (MESSAGE_SRC (message)) {
|
||||
MESSAGE_SRC (copy) = gst_object_ref (MESSAGE_SRC (message));
|
||||
if (GST_MESSAGE_SRC (message)) {
|
||||
GST_MESSAGE_SRC (copy) = gst_object_ref (GST_MESSAGE_SRC (message));
|
||||
}
|
||||
|
||||
if (message->structure) {
|
||||
|
@ -999,7 +994,7 @@ gst_message_parse_tag (GstMessage * message, GstTagList ** tag_list)
|
|||
GstStructure *ret;
|
||||
|
||||
g_return_if_fail (GST_IS_MESSAGE (message));
|
||||
g_return_if_fail (MESSAGE_TYPE (message) == GST_MESSAGE_TAG);
|
||||
g_return_if_fail (GST_MESSAGE_TYPE (message) == GST_MESSAGE_TAG);
|
||||
g_return_if_fail (tag_list != NULL);
|
||||
|
||||
ret = gst_structure_copy (message->structure);
|
||||
|
@ -1028,7 +1023,7 @@ gst_message_parse_tag_full (GstMessage * message, GstPad ** pad,
|
|||
GstStructure *ret;
|
||||
|
||||
g_return_if_fail (GST_IS_MESSAGE (message));
|
||||
g_return_if_fail (MESSAGE_TYPE (message) == GST_MESSAGE_TAG);
|
||||
g_return_if_fail (GST_MESSAGE_TYPE (message) == GST_MESSAGE_TAG);
|
||||
g_return_if_fail (tag_list != NULL);
|
||||
|
||||
ret = gst_structure_copy (message->structure);
|
||||
|
@ -1065,7 +1060,7 @@ void
|
|||
gst_message_parse_buffering (GstMessage * message, gint * percent)
|
||||
{
|
||||
g_return_if_fail (GST_IS_MESSAGE (message));
|
||||
g_return_if_fail (MESSAGE_TYPE (message) == GST_MESSAGE_BUFFERING);
|
||||
g_return_if_fail (GST_MESSAGE_TYPE (message) == GST_MESSAGE_BUFFERING);
|
||||
|
||||
if (percent)
|
||||
*percent = g_value_get_int (gst_structure_id_get_value (message->structure,
|
||||
|
@ -1088,7 +1083,7 @@ void
|
|||
gst_message_set_buffering_stats (GstMessage * message, GstBufferingMode mode,
|
||||
gint avg_in, gint avg_out, gint64 buffering_left)
|
||||
{
|
||||
g_return_if_fail (MESSAGE_TYPE (message) == GST_MESSAGE_BUFFERING);
|
||||
g_return_if_fail (GST_MESSAGE_TYPE (message) == GST_MESSAGE_BUFFERING);
|
||||
|
||||
gst_structure_id_set (message->structure,
|
||||
GST_QUARK (BUFFERING_MODE), GST_TYPE_BUFFERING_MODE, mode,
|
||||
|
@ -1114,7 +1109,7 @@ gst_message_parse_buffering_stats (GstMessage * message,
|
|||
GstBufferingMode * mode, gint * avg_in, gint * avg_out,
|
||||
gint64 * buffering_left)
|
||||
{
|
||||
g_return_if_fail (MESSAGE_TYPE (message) == GST_MESSAGE_BUFFERING);
|
||||
g_return_if_fail (GST_MESSAGE_TYPE (message) == GST_MESSAGE_BUFFERING);
|
||||
|
||||
if (mode)
|
||||
*mode = g_value_get_enum (gst_structure_id_get_value (message->structure,
|
||||
|
@ -1147,7 +1142,7 @@ gst_message_parse_state_changed (GstMessage * message,
|
|||
GstState * oldstate, GstState * newstate, GstState * pending)
|
||||
{
|
||||
g_return_if_fail (GST_IS_MESSAGE (message));
|
||||
g_return_if_fail (MESSAGE_TYPE (message) == GST_MESSAGE_STATE_CHANGED);
|
||||
g_return_if_fail (GST_MESSAGE_TYPE (message) == GST_MESSAGE_STATE_CHANGED);
|
||||
|
||||
if (oldstate)
|
||||
*oldstate =
|
||||
|
@ -1180,7 +1175,7 @@ gst_message_parse_clock_provide (GstMessage * message, GstClock ** clock,
|
|||
const GValue *clock_gvalue;
|
||||
|
||||
g_return_if_fail (GST_IS_MESSAGE (message));
|
||||
g_return_if_fail (MESSAGE_TYPE (message) == GST_MESSAGE_CLOCK_PROVIDE);
|
||||
g_return_if_fail (GST_MESSAGE_TYPE (message) == GST_MESSAGE_CLOCK_PROVIDE);
|
||||
|
||||
clock_gvalue =
|
||||
gst_structure_id_get_value (message->structure, GST_QUARK (CLOCK));
|
||||
|
@ -1211,7 +1206,7 @@ gst_message_parse_clock_lost (GstMessage * message, GstClock ** clock)
|
|||
const GValue *clock_gvalue;
|
||||
|
||||
g_return_if_fail (GST_IS_MESSAGE (message));
|
||||
g_return_if_fail (MESSAGE_TYPE (message) == GST_MESSAGE_CLOCK_LOST);
|
||||
g_return_if_fail (GST_MESSAGE_TYPE (message) == GST_MESSAGE_CLOCK_LOST);
|
||||
|
||||
clock_gvalue =
|
||||
gst_structure_id_get_value (message->structure, GST_QUARK (CLOCK));
|
||||
|
@ -1238,7 +1233,7 @@ gst_message_parse_new_clock (GstMessage * message, GstClock ** clock)
|
|||
const GValue *clock_gvalue;
|
||||
|
||||
g_return_if_fail (GST_IS_MESSAGE (message));
|
||||
g_return_if_fail (MESSAGE_TYPE (message) == GST_MESSAGE_NEW_CLOCK);
|
||||
g_return_if_fail (GST_MESSAGE_TYPE (message) == GST_MESSAGE_NEW_CLOCK);
|
||||
|
||||
clock_gvalue =
|
||||
gst_structure_id_get_value (message->structure, GST_QUARK (CLOCK));
|
||||
|
@ -1270,7 +1265,7 @@ gst_message_parse_structure_change (GstMessage * message,
|
|||
const GValue *owner_gvalue;
|
||||
|
||||
g_return_if_fail (GST_IS_MESSAGE (message));
|
||||
g_return_if_fail (MESSAGE_TYPE (message) == GST_MESSAGE_STRUCTURE_CHANGE);
|
||||
g_return_if_fail (GST_MESSAGE_TYPE (message) == GST_MESSAGE_STRUCTURE_CHANGE);
|
||||
|
||||
owner_gvalue =
|
||||
gst_structure_id_get_value (message->structure, GST_QUARK (OWNER));
|
||||
|
@ -1306,7 +1301,7 @@ gst_message_parse_error (GstMessage * message, GError ** gerror, gchar ** debug)
|
|||
GError *error_val;
|
||||
|
||||
g_return_if_fail (GST_IS_MESSAGE (message));
|
||||
g_return_if_fail (MESSAGE_TYPE (message) == GST_MESSAGE_ERROR);
|
||||
g_return_if_fail (GST_MESSAGE_TYPE (message) == GST_MESSAGE_ERROR);
|
||||
|
||||
error_gvalue =
|
||||
gst_structure_id_get_value (message->structure, GST_QUARK (GERROR));
|
||||
|
@ -1344,7 +1339,7 @@ gst_message_parse_warning (GstMessage * message, GError ** gerror,
|
|||
GError *error_val;
|
||||
|
||||
g_return_if_fail (GST_IS_MESSAGE (message));
|
||||
g_return_if_fail (MESSAGE_TYPE (message) == GST_MESSAGE_WARNING);
|
||||
g_return_if_fail (GST_MESSAGE_TYPE (message) == GST_MESSAGE_WARNING);
|
||||
|
||||
error_gvalue =
|
||||
gst_structure_id_get_value (message->structure, GST_QUARK (GERROR));
|
||||
|
@ -1383,7 +1378,7 @@ gst_message_parse_info (GstMessage * message, GError ** gerror, gchar ** debug)
|
|||
GError *error_val;
|
||||
|
||||
g_return_if_fail (GST_IS_MESSAGE (message));
|
||||
g_return_if_fail (MESSAGE_TYPE (message) == GST_MESSAGE_INFO);
|
||||
g_return_if_fail (GST_MESSAGE_TYPE (message) == GST_MESSAGE_INFO);
|
||||
|
||||
error_gvalue =
|
||||
gst_structure_id_get_value (message->structure, GST_QUARK (GERROR));
|
||||
|
@ -1417,7 +1412,7 @@ gst_message_parse_segment_start (GstMessage * message, GstFormat * format,
|
|||
gint64 * position)
|
||||
{
|
||||
g_return_if_fail (GST_IS_MESSAGE (message));
|
||||
g_return_if_fail (MESSAGE_TYPE (message) == GST_MESSAGE_SEGMENT_START);
|
||||
g_return_if_fail (GST_MESSAGE_TYPE (message) == GST_MESSAGE_SEGMENT_START);
|
||||
|
||||
if (format)
|
||||
*format =
|
||||
|
@ -1444,7 +1439,7 @@ gst_message_parse_segment_done (GstMessage * message, GstFormat * format,
|
|||
gint64 * position)
|
||||
{
|
||||
g_return_if_fail (GST_IS_MESSAGE (message));
|
||||
g_return_if_fail (MESSAGE_TYPE (message) == GST_MESSAGE_SEGMENT_DONE);
|
||||
g_return_if_fail (GST_MESSAGE_TYPE (message) == GST_MESSAGE_SEGMENT_DONE);
|
||||
|
||||
if (format)
|
||||
*format =
|
||||
|
@ -1474,7 +1469,7 @@ gst_message_parse_duration (GstMessage * message, GstFormat * format,
|
|||
gint64 * duration)
|
||||
{
|
||||
g_return_if_fail (GST_IS_MESSAGE (message));
|
||||
g_return_if_fail (MESSAGE_TYPE (message) == GST_MESSAGE_DURATION);
|
||||
g_return_if_fail (GST_MESSAGE_TYPE (message) == GST_MESSAGE_DURATION);
|
||||
|
||||
if (format)
|
||||
*format =
|
||||
|
@ -1501,7 +1496,7 @@ void
|
|||
gst_message_parse_async_start (GstMessage * message, gboolean * new_base_time)
|
||||
{
|
||||
g_return_if_fail (GST_IS_MESSAGE (message));
|
||||
g_return_if_fail (MESSAGE_TYPE (message) == GST_MESSAGE_ASYNC_START);
|
||||
g_return_if_fail (GST_MESSAGE_TYPE (message) == GST_MESSAGE_ASYNC_START);
|
||||
|
||||
if (new_base_time)
|
||||
*new_base_time =
|
||||
|
@ -1524,7 +1519,7 @@ void
|
|||
gst_message_parse_request_state (GstMessage * message, GstState * state)
|
||||
{
|
||||
g_return_if_fail (GST_IS_MESSAGE (message));
|
||||
g_return_if_fail (MESSAGE_TYPE (message) == GST_MESSAGE_REQUEST_STATE);
|
||||
g_return_if_fail (GST_MESSAGE_TYPE (message) == GST_MESSAGE_REQUEST_STATE);
|
||||
|
||||
if (state)
|
||||
*state = g_value_get_enum (gst_structure_id_get_value (message->structure,
|
||||
|
@ -1582,7 +1577,7 @@ gst_message_parse_stream_status (GstMessage * message,
|
|||
const GValue *owner_gvalue;
|
||||
|
||||
g_return_if_fail (GST_IS_MESSAGE (message));
|
||||
g_return_if_fail (MESSAGE_TYPE (message) == GST_MESSAGE_STREAM_STATUS);
|
||||
g_return_if_fail (GST_MESSAGE_TYPE (message) == GST_MESSAGE_STREAM_STATUS);
|
||||
|
||||
owner_gvalue =
|
||||
gst_structure_id_get_value (message->structure, GST_QUARK (OWNER));
|
||||
|
@ -1610,7 +1605,7 @@ gst_message_set_stream_status_object (GstMessage * message,
|
|||
const GValue * object)
|
||||
{
|
||||
g_return_if_fail (GST_IS_MESSAGE (message));
|
||||
g_return_if_fail (MESSAGE_TYPE (message) == GST_MESSAGE_STREAM_STATUS);
|
||||
g_return_if_fail (GST_MESSAGE_TYPE (message) == GST_MESSAGE_STREAM_STATUS);
|
||||
|
||||
gst_structure_id_set_value (message->structure, GST_QUARK (OBJECT), object);
|
||||
}
|
||||
|
@ -1633,7 +1628,7 @@ gst_message_get_stream_status_object (GstMessage * message)
|
|||
const GValue *result;
|
||||
|
||||
g_return_val_if_fail (GST_IS_MESSAGE (message), NULL);
|
||||
g_return_val_if_fail (MESSAGE_TYPE (message) == GST_MESSAGE_STREAM_STATUS,
|
||||
g_return_val_if_fail (GST_MESSAGE_TYPE (message) == GST_MESSAGE_STREAM_STATUS,
|
||||
NULL);
|
||||
|
||||
result = gst_structure_id_get_value (message->structure, GST_QUARK (OBJECT));
|
||||
|
@ -1708,7 +1703,7 @@ gst_message_parse_step_done (GstMessage * message, GstFormat * format,
|
|||
guint64 * duration, gboolean * eos)
|
||||
{
|
||||
g_return_if_fail (GST_IS_MESSAGE (message));
|
||||
g_return_if_fail (MESSAGE_TYPE (message) == GST_MESSAGE_STEP_DONE);
|
||||
g_return_if_fail (GST_MESSAGE_TYPE (message) == GST_MESSAGE_STEP_DONE);
|
||||
|
||||
gst_structure_id_get (message->structure,
|
||||
GST_QUARK (FORMAT), GST_TYPE_FORMAT, format,
|
||||
|
@ -1788,7 +1783,7 @@ gst_message_parse_step_start (GstMessage * message, gboolean * active,
|
|||
gboolean * intermediate)
|
||||
{
|
||||
g_return_if_fail (GST_IS_MESSAGE (message));
|
||||
g_return_if_fail (MESSAGE_TYPE (message) == GST_MESSAGE_STEP_START);
|
||||
g_return_if_fail (GST_MESSAGE_TYPE (message) == GST_MESSAGE_STEP_START);
|
||||
|
||||
gst_structure_id_get (message->structure,
|
||||
GST_QUARK (ACTIVE), G_TYPE_BOOLEAN, active,
|
||||
|
|
Loading…
Reference in a new issue