Я пытаюсь использовать 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-битным.
ОТВЕТ: 6 ноября 2014 г.
Проблема была в кеше плагина VLC. Это нужно было обновить / обновить.
sudo /usr/lib/vlc/vlc-cache-gen -f /usr/lib/vlc/plugins
В качестве меры предосторожности вы можете переустановить VLC
а также libvlc
прежде чем сделать это.
Задача ещё не решена.