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;

все ломается, программа крашится и вылетает вот такая ошибка введите сюда описание изображения

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


Ответы (0 шт):