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); }
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()