[aravis] stream: add arv_stream_timed_pop_buffer.
- From: Emmanuel Pacaud <emmanuel src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [aravis] stream: add arv_stream_timed_pop_buffer.
- Date: Wed, 16 Feb 2011 20:03:41 +0000 (UTC)
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]