Нужно поверх видео что то рисовать и/или брать кусок из этого видео. Я использую Qt и libvlc. Насколько я понял задача требует вывод фрейма в память, а уже после взяких там шаманий над этим фреймом выводить его на экран. Проблема получить этот кадр. Сразу же после завершения работы lock функции программа вылетает (
За пример было взято это и это
Вот выноски из моего кода
struct ctx
{
uchar* pixels;
QMutex* mutex;
};
ctx cx;
void* lock( void *data, void **pixels)
{
qDebug() << «lock»;
return NULL;
}
void unlock(void *data, void *id, void *const *pixels)
{
qDebug() << «unlock»;
}
void play()
{
...
libvlc_video_set_format(m_vlcMediaplayer, «RV32», VIDEO_WIDTH, VIDEO_HEIGHT, VIDEO_WIDTH*4);
qDebug() << «libvlc_video_set_callbacks»;
libvlc_video_set_callbacks(m_vlcMediaplayer, lock, unlock, NULL, &cx);
...
}
После «lock» программа вылетает. Так как функции ничего не делают, то скорее всего я что то не правильно передаю в libvlc_video_set_callbacks(). Подскажите что делать. Как положить фрейм видео в QImage??
Вот полный исходник http://zalil.ru/32449274. Там много лишнего кода, но думаю разобраться можно. Помогите плз, 3 день бьюсь уже(