gst/udp/gstmultiudpsink.*: Track packets sent per client in addition to bytes sent...
authorMichael Smith <msmith@xiph.org>
Thu, 29 Dec 2005 16:36:19 +0000 (16:36 +0000)
committerMichael Smith <msmith@xiph.org>
Thu, 29 Dec 2005 16:36:19 +0000 (16:36 +0000)
Original commit message from CVS:
* 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

ChangeLog
gst/udp/gstmultiudpsink.c
gst/udp/gstmultiudpsink.h

index f1d47919250474816fa0be65c02e5f7e369b0c78..551bfeb1e7414655e572eb7af19e53843dcfb3c4 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -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):
index 5883e529477282b8e55d0092b6b02680dee3296e..ed9be9e1b283d0981c8562d8793680d4db91ba48 100644 (file)
@@ -228,6 +228,7 @@ gst_multiudpsink_render (GstBaseSink * bsink, GstBuffer * buffer)
         }
       } else {
         client->bytes_sent += ret;
+        client->packets_sent++;
         break;
       }
     }
@@ -465,14 +466,20 @@ 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);
     result = g_value_array_append (result, &value);
     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);
index e8cbf8f92974565c8e7d218dd5c054d7b59d8247..a9c84e0550db359278f160da9c4904f691fdd6ef 100644 (file)
@@ -60,6 +60,7 @@ typedef struct {
 
   /* Per-client stats */
   guint64 bytes_sent;
+  guint64 packets_sent;
   guint64 connect_time;
   guint64 disconnect_time;
 } GstUDPClient;