[aravis] stream: add arv_stream_timed_pop_buffer.



commit 821d72f2433460bcbb9150a117999747f5f0fb50
Author: Emmanuel Pacaud <emmanuel gnome org>
Date:   Wed Feb 16 19:11:08 2011 +0100

    stream: add arv_stream_timed_pop_buffer.

 docs/reference/aravis/aravis-sections.txt |    1 +
 src/arvstream.c                           |   13 +++++++++++++
 src/arvstream.h                           |    1 +
 3 files changed, 15 insertions(+), 0 deletions(-)
---
diff --git a/docs/reference/aravis/aravis-sections.txt b/docs/reference/aravis/aravis-sections.txt
index a1dbca8..84a1691 100644
--- a/docs/reference/aravis/aravis-sections.txt
+++ b/docs/reference/aravis/aravis-sections.txt
@@ -284,6 +284,7 @@ ArvStreamCallback
 ArvStream
 arv_stream_push_buffer
 arv_stream_pop_buffer
+arv_stream_timed_pop_buffer
 arv_stream_get_n_buffers
 arv_stream_get_statistics
 arv_stream_get_emit_signals
diff --git a/src/arvstream.c b/src/arvstream.c
index 695764f..c671887 100644
--- a/src/arvstream.c
+++ b/src/arvstream.c
@@ -92,6 +92,19 @@ arv_stream_pop_buffer (ArvStream *stream)
 }
 
 ArvBuffer *
+arv_stream_timed_pop_buffer (ArvStream *stream, guint64 timeout)
+{
+	GTimeVal end_time;
+
+	g_return_val_if_fail (ARV_IS_STREAM (stream), NULL);
+
+	g_get_current_time (&end_time);
+	g_time_val_add (&end_time, timeout);
+
+	return g_async_queue_timed_pop (stream->priv->output_queue, &end_time);
+}
+
+ArvBuffer *
 arv_stream_pop_input_buffer (ArvStream *stream)
 {
 	g_return_val_if_fail (ARV_IS_STREAM (stream), NULL);
diff --git a/src/arvstream.h b/src/arvstream.h
index c419a76..e1c2d2f 100644
--- a/src/arvstream.h
+++ b/src/arvstream.h
@@ -75,6 +75,7 @@ GType arv_stream_get_type (void);
 
 void		arv_stream_push_buffer 			(ArvStream *stream, ArvBuffer *buffer);
 ArvBuffer *	arv_stream_pop_buffer			(ArvStream *stream);
+ArvBuffer * 	arv_stream_timed_pop_buffer 		(ArvStream *stream, guint64 timeout);
 void 		arv_stream_get_n_buffers 		(ArvStream *stream,
 							 gint *n_input_buffers,
 							 gint *n_output_buffers);



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]