Exemple #1
0
ArvStream *
arv_camera_create_stream (ArvCamera *camera, ArvStreamCallback callback, gpointer user_data)
{
    g_return_val_if_fail (ARV_IS_CAMERA (camera), NULL);

    return arv_device_create_stream (camera->priv->device, callback, user_data);
}
Exemple #2
0
ArvGvStream *CreateStream(void)
{
	gboolean 		bAutoBuffer = FALSE;
	gboolean 		bPacketResend = TRUE;
	unsigned int 	timeoutPacket = 40; // milliseconds
	unsigned int 	timeoutFrameRetention = 200;

	
	ArvGvStream *pStream = (ArvGvStream *)arv_device_create_stream (global.pDevice, NULL, NULL);
	if (pStream)
	{
		ArvBuffer	*pBuffer;
		gint 		 nbytesPayload;


		if (!ARV_IS_GV_STREAM (pStream))
			ROS_WARN("Stream is not a GV_STREAM");

		if (bAutoBuffer)
			g_object_set (pStream,
					      "socket-buffer",
						  ARV_GV_STREAM_SOCKET_BUFFER_AUTO,
						  "socket-buffer-size", 0,
						  NULL);
		if (!bPacketResend)
			g_object_set (pStream,
					      "packet-resend",
						  bPacketResend ? ARV_GV_STREAM_PACKET_RESEND_ALWAYS : ARV_GV_STREAM_PACKET_RESEND_NEVER,
						  NULL);
		g_object_set (pStream,
				          "packet-timeout",
						  (unsigned) timeoutPacket * 1000,
						  "frame-retention", (unsigned) timeoutFrameRetention * 1000,
					  NULL);
	
		// Load up some buffers.
		nbytesPayload = arv_camera_get_payload (global.pCamera);
		for (int i=0; i<50; i++)
		{
			pBuffer = arv_buffer_new (nbytesPayload, NULL);
			arv_stream_push_buffer ((ArvStream *)pStream, pBuffer);
		}
	}
	return pStream;
} // CreateStream()