opencv не работает в программе с использованием соккетов
Есть задача написать программу, передающую в браузер видеопоток с вебкамеры, покадрово. Действия происходят в Linux.
вот этот кусок, отвечает за создание ws соединения, и получение данных.
struct request_WS_data req_data;
parse_WS_reuest(request, &req_data);
send_WS_open_header(client_d, &req_data);
free(request);
while (1)
{
struct WSdata data;
char buf[65535];
unsigned lenght = (unsigned)recv(client_d, buf, 65535, 0);
buf[lenght] = '\0';
if (buf[0] == '\0')
{
close(client_d);
break;
}
parse_firstbyte(buf[0], &data);
parse_bodylenght(buf, &data);
char *body = parse_mask_body(buf, &data);
char *payload = body_decode(body, &data);
printf("%s\n", payload);
free(payload);
}
но если вставить в этот кусок кода 2 строчки, которые просто инициализируют веб камеру и никак не взаимодейсвую с остальным кодом
CvCapture* capture = cvCreateCameraCapture(CV_CAP_ANY);
IplImage* frame= nullptr;
все ломается, программа крашится и вылетает вот такая ошибка

при том, что отдельно друг от друга все хорошо работает. Я предполагаю, что проблема кроется в файловых дискриторах. Подскажиет как это исправить