diff options
-rw-r--r-- | ChangeLog | 8 | ||||
-rw-r--r-- | gst/udp/gstmultiudpsink.c | 11 | ||||
-rw-r--r-- | gst/udp/gstmultiudpsink.h | 1 |
3 files changed, 18 insertions, 2 deletions
@@ -1,3 +1,11 @@ +2005-12-29 Michael Smith <msmith@fluendo.com> + + * gst/udp/gstmultiudpsink.c: (gst_multiudpsink_render), + (gst_multiudpsink_remove), (gst_multiudpsink_get_stats): + * gst/udp/gstmultiudpsink.h: + Track packets sent per client in addition to bytes sent; provide + this info through get-stats signal + 2005-12-29 Tim-Philipp Müller <tim at centricular dot net> * gst/auparse/gstauparse.c: (gst_au_parse_dispose): diff --git a/gst/udp/gstmultiudpsink.c b/gst/udp/gstmultiudpsink.c index 5883e529..ed9be9e1 100644 --- a/gst/udp/gstmultiudpsink.c +++ b/gst/udp/gstmultiudpsink.c @@ -228,6 +228,7 @@ gst_multiudpsink_render (GstBaseSink * bsink, GstBuffer * buffer) } } else { client->bytes_sent += ret; + client->packets_sent++; break; } } @@ -465,8 +466,9 @@ gst_multiudpsink_get_stats (GstMultiUDPSink * sink, const gchar * host, GValue value = { 0 }; - /* Result is a value array of (bytes_sent, connect_time, disconnect_time) */ - result = g_value_array_new (3); + /* Result is a value array of (bytes_sent, packets_sent, + * connect_time, disconnect_time), all as uint64 */ + result = g_value_array_new (4); g_value_init (&value, G_TYPE_UINT64); g_value_set_uint64 (&value, client->bytes_sent); @@ -474,6 +476,11 @@ gst_multiudpsink_get_stats (GstMultiUDPSink * sink, const gchar * host, g_value_unset (&value); g_value_init (&value, G_TYPE_UINT64); + g_value_set_uint64 (&value, client->packets_sent); + result = g_value_array_append (result, &value); + g_value_unset (&value); + + g_value_init (&value, G_TYPE_UINT64); g_value_set_uint64 (&value, client->connect_time); result = g_value_array_append (result, &value); g_value_unset (&value); diff --git a/gst/udp/gstmultiudpsink.h b/gst/udp/gstmultiudpsink.h index e8cbf8f9..a9c84e05 100644 --- a/gst/udp/gstmultiudpsink.h +++ b/gst/udp/gstmultiudpsink.h @@ -60,6 +60,7 @@ typedef struct { /* Per-client stats */ guint64 bytes_sent; + guint64 packets_sent; guint64 connect_time; guint64 disconnect_time; } GstUDPClient; |