Receives next frame from video stream.
bool avl::GenTL_TryReceiveImage ( GenTLHandle inDeviceHandle, int inTimeout, avl::Image& outImage, atl::Optional<atl::uint64&> outFrameId = atl::NIL, atl::Optional<atl::uint64&> outTimestamp = atl::NIL )
|inDeviceHandle||GenTLHandle||Handle of an opened device that is streaming video.|
|inTimeout||int||Maximum time, in milliseconds, that the function is allowed to wait for the next complete frame. This parameter overrides global frame timeout configuration.|
|outImage||Image&||Image buffer that will receive a new frame.|
|outFrameId||Optional<uint64&>||NIL||Frame block Id set by device (when supported)|
|outTimestamp||Optional<uint64&>||NIL||Frame capture timestamp set by device (when supported)|
The computation of following outputs can be switched off by passing value
atl::NIL to these parameters: outFrameId, outTimestamp.
Read more about Optional Outputs.
This function is a close equivalent of GenTL_ReceiveImage, that gives additional control over frame timeout situation.
See GenTL_ReceiveImage definition for more information.
true when new frame is successfully received and stored into outImage,
false when timeout occurs or device is not streaming.
This function will throw an exception in the following situations:
- Device handle is invalid.
- Connection with device is lost.
- Device sends image in pixel format that cannot be converted.
- Device streams in a mode that does not transport images or the library is unable to read the image from stream.