Revert "gstmessage: Avoid expensive src/type/timestamp fetch."

This reverts commit 61cf93a334.
This commit is contained in:
Wim Taymans 2009-10-23 13:13:52 -04:00 committed by Wim Taymans
parent 61cf93a334
commit c9a7e2d188

View file

@ -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,