[aravis] gv_stream: add an accessor for specific GV statistics.
- From: Emmanuel Pacaud <emmanuel src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [aravis] gv_stream: add an accessor for specific GV statistics.
- Date: Thu, 9 Sep 2010 09:14:25 +0000 (UTC)
commit 70266dca5f736e287d8c2a27d2349827b5b6fa8f
Author: Emmanuel Pacaud <emmanuel gnome org>
Date: Thu Sep 9 11:12:10 2010 +0200
gv_stream: add an accessor for specific GV statistics.
docs/reference/aravis/aravis-sections.txt | 1 +
src/arvgvstream.c | 32 ++++++++++++++++++++++++----
src/arvgvstream.h | 5 ++++
3 files changed, 33 insertions(+), 5 deletions(-)
---
diff --git a/docs/reference/aravis/aravis-sections.txt b/docs/reference/aravis/aravis-sections.txt
index 4d0784f..4792e00 100644
--- a/docs/reference/aravis/aravis-sections.txt
+++ b/docs/reference/aravis/aravis-sections.txt
@@ -626,6 +626,7 @@ arv_gv_stream_new
arv_gv_stream_get_port
arv_gv_stream_set_option
arv_gv_stream_set_packet_resend
+arv_gv_stream_get_statistics
<SUBSECTION Standard>
ARV_GV_STREAM
ARV_IS_GV_STREAM
diff --git a/src/arvgvstream.c b/src/arvgvstream.c
index bcfe42d..4e07582 100644
--- a/src/arvgvstream.c
+++ b/src/arvgvstream.c
@@ -497,11 +497,33 @@ arv_gv_stream_new (GInetAddress *device_address, guint16 port,
/* ArvStream implementation */
-static void
+void
arv_gv_stream_get_statistics (ArvStream *stream,
- guint64 *n_completed_buffers,
- guint64 *n_failures,
- guint64 *n_underruns)
+ guint64 *n_resent_blocks,
+ guint64 *n_missing_blocks,
+ guint64 *n_late_blocks)
+
+{
+ ArvGvStream *gv_stream = ARV_GV_STREAM (stream);
+ ArvGvStreamThreadData *thread_data;
+
+ g_return_if_fail (ARV_IS_GV_STREAM (stream));
+
+ thread_data = gv_stream->thread_data;
+
+ if (n_resent_blocks != NULL)
+ *n_resent_blocks = thread_data->n_resent_blocks;
+ if (n_missing_blocks != NULL)
+ *n_missing_blocks = thread_data->n_missing_blocks;
+ if (n_late_blocks != NULL)
+ *n_late_blocks = thread_data->n_late_blocks;
+}
+
+static void
+_get_statistics (ArvStream *stream,
+ guint64 *n_completed_buffers,
+ guint64 *n_failures,
+ guint64 *n_underruns)
{
ArvGvStream *gv_stream = ARV_GV_STREAM (stream);
ArvGvStreamThreadData *thread_data;
@@ -579,7 +601,7 @@ arv_gv_stream_class_init (ArvGvStreamClass *gv_stream_class)
object_class->finalize = arv_gv_stream_finalize;
- stream_class->get_statistics = arv_gv_stream_get_statistics;
+ stream_class->get_statistics = _get_statistics;
}
G_DEFINE_TYPE (ArvGvStream, arv_gv_stream, ARV_TYPE_STREAM)
diff --git a/src/arvgvstream.h b/src/arvgvstream.h
index fcba136..f4eb85e 100644
--- a/src/arvgvstream.h
+++ b/src/arvgvstream.h
@@ -84,6 +84,11 @@ void arv_gv_stream_set_option (ArvGvStream *gv_stream, ArvGvStreamOption optio
int value);
void arv_gv_stream_set_packet_resend (ArvGvStream *gv_stream, ArvGvStreamPacketResend resend);
+void arv_gv_stream_get_statistics (ArvStream *stream,
+ guint64 *n_resent_blocks,
+ guint64 *n_missing_blocks,
+ guint64 *n_late_blocks);
+
G_END_DECLS
#endif
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]