我正在尝试使用libvlc在Qt 5.0.2 x64应用程序中显示视频。
使用此库的方法首先开始使用libvlc_instance_t
方法初始化libvlc_new
实例,如下所示:
libvlc_instance_t *instance = libvlc_new(0,NULL);
我不知道为什么但这会导致SIGABRT
信号终止应用程序,之后我也收到了这条调试消息:
QMetaType :: registerType:二进制兼容性中断 - 大小不匹配 对于'QPaintBufferCacheEntry'类型[1024]。以前注册的大小 16,现在注册大小为0。
我注意到的一件事是应用程序需要几秒钟才能启动,而她确实可以看到它爬过VLC插件文件夹。完成后,它会发出SIGABRT
信号并结束。
有谁知道为什么libvlc_new
会发出SIGABRT
?
如果有帮助我将库作为具有pkg-config
的系统包加载到应用程序中:
app.pro
unix: CONFIG += link_pkgconfig
unix: PKGCONFIG += libvlc
我正在使用libvlc
和VLC 2.1.4 Rincewind
(来自存储库)在Ubuntu 14.04.1 LTS(x64)3.13.0-36-generic
下运行,并为i386
编辑:忘记提及应用程序是64位。
答案: 2014年11月6日
问题是VLC插件缓存。它需要刷新/更新。
sudo /usr/lib/vlc/vlc-cache-gen -f /usr/lib/vlc/plugins
作为预防措施,您可能需要先重新安装VLC
和libvlc
。