[aravis] viewer: only display valid buffers.



commit fb6124d7d290ada674ac233be48549dda9e6b089
Author: Emmanuel Pacaud <emmanuel pacaud lapp in2p3 fr>
Date:   Tue Jan 4 19:09:49 2011 +0100

    viewer: only display valid buffers.

 viewer/arvviewer.c |   24 +++++++++++++-----------
 1 files changed, 13 insertions(+), 11 deletions(-)
---
diff --git a/viewer/arvviewer.c b/viewer/arvviewer.c
index 28e0eb8..29bb36f 100644
--- a/viewer/arvviewer.c
+++ b/viewer/arvviewer.c
@@ -54,21 +54,23 @@ arv_viewer_new_buffer_cb (ArvStream *stream, ArvViewer *viewer)
 	if (arv_buffer == NULL)
 		return;
 
-	buffer = gst_buffer_new ();
+	if (arv_buffer->status == ARV_BUFFER_STATUS_SUCCESS) {
+		buffer = gst_buffer_new ();
 
-	GST_BUFFER_DATA (buffer) = arv_buffer->data;
-	GST_BUFFER_MALLOCDATA (buffer) = NULL;
-	GST_BUFFER_SIZE (buffer) = arv_buffer->size;
+		GST_BUFFER_DATA (buffer) = arv_buffer->data;
+		GST_BUFFER_MALLOCDATA (buffer) = NULL;
+		GST_BUFFER_SIZE (buffer) = arv_buffer->size;
 
-	if (viewer->timestamp_offset == 0) {
-		viewer->timestamp_offset = arv_buffer->timestamp_ns;
-		viewer->last_timestamp = arv_buffer->timestamp_ns;
-	}
+		if (viewer->timestamp_offset == 0) {
+			viewer->timestamp_offset = arv_buffer->timestamp_ns;
+			viewer->last_timestamp = arv_buffer->timestamp_ns;
+		}
 
-	GST_BUFFER_TIMESTAMP (buffer) = arv_buffer->timestamp_ns - viewer->timestamp_offset;
-	GST_BUFFER_DURATION (buffer) = arv_buffer->timestamp_ns - viewer->last_timestamp;
+		GST_BUFFER_TIMESTAMP (buffer) = arv_buffer->timestamp_ns - viewer->timestamp_offset;
+		GST_BUFFER_DURATION (buffer) = arv_buffer->timestamp_ns - viewer->last_timestamp;
 
-	gst_app_src_push_buffer (GST_APP_SRC (viewer->appsrc), buffer);
+		gst_app_src_push_buffer (GST_APP_SRC (viewer->appsrc), buffer);
+	}
 
 	arv_stream_push_buffer (stream, arv_buffer);
 }



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