Added last_message.

Original commit message from CVS:
Added last_message.
This commit is contained in:
Wim Taymans 2002-02-28 23:39:08 +00:00
parent aadf99137f
commit 8bb166dace
4 changed files with 32 additions and 4 deletions

View file

@ -43,6 +43,7 @@ enum {
ARG_NUM_PADS, ARG_NUM_PADS,
ARG_SILENT, ARG_SILENT,
ARG_SCHED, ARG_SCHED,
ARG_LAST_MESSAGE,
/* FILL ME */ /* FILL ME */
}; };
@ -132,6 +133,9 @@ gst_aggregator_class_init (GstAggregatorClass *klass)
g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_SCHED, g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_SCHED,
g_param_spec_enum ("sched", "sched", "sched", g_param_spec_enum ("sched", "sched", "sched",
GST_TYPE_AGGREGATOR_SCHED, AGGREGATOR_CHAIN, G_PARAM_READWRITE)); GST_TYPE_AGGREGATOR_SCHED, AGGREGATOR_CHAIN, G_PARAM_READWRITE));
g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_LAST_MESSAGE,
g_param_spec_string ("last_message", "last_message", "last_message",
NULL, G_PARAM_READABLE));
gobject_class->set_property = GST_DEBUG_FUNCPTR(gst_aggregator_set_property); gobject_class->set_property = GST_DEBUG_FUNCPTR(gst_aggregator_set_property);
gobject_class->get_property = GST_DEBUG_FUNCPTR(gst_aggregator_get_property); gobject_class->get_property = GST_DEBUG_FUNCPTR(gst_aggregator_get_property);
@ -248,6 +252,9 @@ gst_aggregator_get_property (GObject *object, guint prop_id, GValue *value, GPar
case ARG_SCHED: case ARG_SCHED:
g_value_set_enum (value, aggregator->sched); g_value_set_enum (value, aggregator->sched);
break; break;
case ARG_LAST_MESSAGE:
g_value_set_string (value, aggregator->last_message);
break;
default: default:
break; break;
} }
@ -256,10 +263,15 @@ gst_aggregator_get_property (GObject *object, guint prop_id, GValue *value, GPar
static void static void
gst_aggregator_push (GstAggregator *aggregator, GstPad *pad, GstBuffer *buf, guchar *debug) gst_aggregator_push (GstAggregator *aggregator, GstPad *pad, GstBuffer *buf, guchar *debug)
{ {
if (!aggregator->silent) if (!aggregator->silent) {
gst_element_info (GST_ELEMENT (aggregator), "%10.10s ******* (%s:%s)a (%d bytes, %llu) \n", g_free (aggregator->last_message);
aggregator->last_message = g_strdup_printf ("%10.10s ******* (%s:%s)a (%d bytes, %llu)",
debug, GST_DEBUG_PAD_NAME (pad), GST_BUFFER_SIZE (buf), GST_BUFFER_TIMESTAMP (buf)); debug, GST_DEBUG_PAD_NAME (pad), GST_BUFFER_SIZE (buf), GST_BUFFER_TIMESTAMP (buf));
g_object_notify (G_OBJECT (aggregator), "last_message");
}
gst_pad_push (aggregator->srcpad, buf); gst_pad_push (aggregator->srcpad, buf);
} }

View file

@ -64,6 +64,8 @@ struct _GstAggregator {
gint numsinkpads; gint numsinkpads;
GList *sinkpads; GList *sinkpads;
gchar *last_message;
}; };
struct _GstAggregatorClass { struct _GstAggregatorClass {

View file

@ -43,6 +43,7 @@ enum {
ARG_NUM_PADS, ARG_NUM_PADS,
ARG_SILENT, ARG_SILENT,
ARG_SCHED, ARG_SCHED,
ARG_LAST_MESSAGE,
/* FILL ME */ /* FILL ME */
}; };
@ -132,6 +133,9 @@ gst_aggregator_class_init (GstAggregatorClass *klass)
g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_SCHED, g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_SCHED,
g_param_spec_enum ("sched", "sched", "sched", g_param_spec_enum ("sched", "sched", "sched",
GST_TYPE_AGGREGATOR_SCHED, AGGREGATOR_CHAIN, G_PARAM_READWRITE)); GST_TYPE_AGGREGATOR_SCHED, AGGREGATOR_CHAIN, G_PARAM_READWRITE));
g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_LAST_MESSAGE,
g_param_spec_string ("last_message", "last_message", "last_message",
NULL, G_PARAM_READABLE));
gobject_class->set_property = GST_DEBUG_FUNCPTR(gst_aggregator_set_property); gobject_class->set_property = GST_DEBUG_FUNCPTR(gst_aggregator_set_property);
gobject_class->get_property = GST_DEBUG_FUNCPTR(gst_aggregator_get_property); gobject_class->get_property = GST_DEBUG_FUNCPTR(gst_aggregator_get_property);
@ -248,6 +252,9 @@ gst_aggregator_get_property (GObject *object, guint prop_id, GValue *value, GPar
case ARG_SCHED: case ARG_SCHED:
g_value_set_enum (value, aggregator->sched); g_value_set_enum (value, aggregator->sched);
break; break;
case ARG_LAST_MESSAGE:
g_value_set_string (value, aggregator->last_message);
break;
default: default:
break; break;
} }
@ -256,10 +263,15 @@ gst_aggregator_get_property (GObject *object, guint prop_id, GValue *value, GPar
static void static void
gst_aggregator_push (GstAggregator *aggregator, GstPad *pad, GstBuffer *buf, guchar *debug) gst_aggregator_push (GstAggregator *aggregator, GstPad *pad, GstBuffer *buf, guchar *debug)
{ {
if (!aggregator->silent) if (!aggregator->silent) {
gst_element_info (GST_ELEMENT (aggregator), "%10.10s ******* (%s:%s)a (%d bytes, %llu) \n", g_free (aggregator->last_message);
aggregator->last_message = g_strdup_printf ("%10.10s ******* (%s:%s)a (%d bytes, %llu)",
debug, GST_DEBUG_PAD_NAME (pad), GST_BUFFER_SIZE (buf), GST_BUFFER_TIMESTAMP (buf)); debug, GST_DEBUG_PAD_NAME (pad), GST_BUFFER_SIZE (buf), GST_BUFFER_TIMESTAMP (buf));
g_object_notify (G_OBJECT (aggregator), "last_message");
}
gst_pad_push (aggregator->srcpad, buf); gst_pad_push (aggregator->srcpad, buf);
} }

View file

@ -64,6 +64,8 @@ struct _GstAggregator {
gint numsinkpads; gint numsinkpads;
GList *sinkpads; GList *sinkpads;
gchar *last_message;
}; };
struct _GstAggregatorClass { struct _GstAggregatorClass {