To initialize the library and deploy libvlc itself we use VlcDeployment class. It is important to have VLC packages at the same directory as your application exe. For MacOS it should be libvlc-1.1.9-macosx.zip and for Windows livlc-1.1.9-win32.zip. These packages distributed together with sources and located under ‘3rd-party/libvlc’ directory.
UPD: а, точнее в 1813 строке тут видимо вызывается пользовательский колбек и туда передается _videoUserData, куда можно положить что-то свое и потом использовать в других колбеках.
хз что там с колбеком … мне все таки кажется что какой то баг.
у меня opaque приходит 0. Пытался ему туда пихать NativeHandle плеера но это не влияет на результат.
Там по советам сделал инициализацию с параметрами логирования
_libVLC = new LibVLC("--verbose=2", "--no-audio");
но это вообще никак не дает понять где ошибка. Стандартный лог … потом бах и IllegalInstruction
В общем рылся ночью по форумам и где на каком то иностранном ресурсе нашел вроде бы такую же проблему. Ее также никто не решил в корне но предложили в лоб задать требуемый формат.
И это сработало. Костыльно конечно … но работает.
// вместо этого
//_mediaPlayer.SetVideoFormatCallbacks(m_VideoFormatCallback, m_VideoCleanupCallback);
// делаем так
_mediaPlayer.SetVideoFormat("RGB2", Video_buffer.Width, Video_buffer.Height, Video_buffer.Stride);
но где то в либе баг все таки присутствует.
Я в студии нашел этиу либу и прикрепил к проекту WPF . вроде все само должно под текущие параметры сконфигурироваться.
Так я ж говорю, это вроде просто можно использовать для любых своих данных, чтобы делиться ими между своими колбеками.
Само оно с ним ничего не делает.