Difference between Cvb.SharedImg and Cvb.Image.IMG

Hi @andrea.annovi,

Working with two cameras

You can adapt the C code for opening from here:

https://forum.commonvisionblox.com/t/old-image-broken-after-setting-new-camport/66/5?u=parsd

Actually you then use the same driver twice, but have two camera objects open with which you can work in parallel. Each object then has its own, independent ring buffer which needs to be configured.

Ring Buffer Image

You are correct, you need to query that information from the _driverImage despite the fact that this information is stored with the ring buffer image. This is because the returned ring buffer IMGs are only implementing the IImageVPA interface and none of the driver interfaces like IDeviceControl. They are just views on the ring buffer memory. In the C api all is centered around that driver IMG. Dependent types are very simple objects.

Driver IMGs are special. As mentioned above they have all the additional interfaces and the IImageVPA interface points to the one synchronized last via G2Wait. Therefore you can query that information from it.

From an OOP perspective I agree that this is not intuitive. This is why the CVB.Net api has the timestamp property on the RingBufferImage (which derives from StreamImage).

https://forum.commonvisionblox.com/t/getting-started-with-cvb-net/246/6?u=parsd

1 Like