![Euresys Coaxlink Series Programmer'S Manual Download Page 43](http://html1.mh-extra.com/html/euresys/coaxlink-series/coaxlink-series_programmers-manual_2436137043.webp)
43
...
}
status = McSetParamInt(channel, MC_Connector, CONNECTOR);
if (status != MC_OK) {
...
}
//EGrabber
Euresys::EGrabber<> grabber(gentl, CARD_INDEX, DEVICE_INDEX);
Surface creation (automatic)
//MultiCam
status = McSetParamInt(channel, MC_SurfaceCount, BUFFER_COUNT);
if (status != MC_OK) {
...
}
//EGrabber
grabber.reallocBuffers(BUFFER_COUNT);
Surface creation (manual)
//MultiCam
for (size_t i = 0; i < BUFFER_COUNT; ++i) {
MCHANDLE surface;
MCSTATUS status;
void *mem = malloc(BUFFER_SIZE);
if (!mem) {
...
}
status = McCreate(MC_DEFAULT_SURFACE_HANDLE, &surface);
if (status != MC_OK) {
...
}
status = McSetParamInt(surface, MC_SurfaceSize, BUFFER_SIZE);
if (status != MC_OK) {
...
}
status = McSetParamPtr(surface, MC_SurfaceAddr, mem);
if (status != MC_OK) {
...
}
status = McSetParamPtr(surface, MC_SurfaceContext, USER_PTR[i]);
if (status != MC_OK) {
...
}
status = McSetParamInst(channel, MC_C i, surface);
if (status != MC_OK) {
...
}
}
//EGrabber
for (size_t i = 0; i < BUFFER_COUNT; ++i) {
void *mem = malloc(BUFFER_SIZE);
if (!mem) {
...
}
grabber.announceAndQueue(Euresys::UserMemory(mem, BUFFER_SIZE, USER_PTR[i]));
}
7. EGrabber for MultiCam users
Coaxlink
Programmer Guide