Есть IP камера, у которой иногда бьется поток.
Если смотреть в каком нибудь VLC прейере, то на секунду вместо изображения появляются серые квадраты.
Читаю поток через opencv:
cv::VideoCapture vcap( 0 );
cv::Mat image;
if( !vcap.open( connectionStr.c_str() ) )
{
return;
}
while( !stop )
{
if( vcap.grab() )
{
vcap >> image;
}
image.release();
.....
}
На vcap >> image; вылетает SEGFAULT в момент попытки получения кадра из битого потока.
Через try-catch исключение естественно не отлавливается.
Как быть, какие проверки и куда можно вкорячить?