Сбои типа видео QML (0xC0000005: нарушение прав доступа) при загрузке файла .avi - PullRequest
0 голосов
/ 10 декабря 2018

Я испытываю сбои приложения из-за нарушения прав доступа при попытке загрузить файл с типом Video QML.Я запускаю приложение C ++ / Qt 11.1 в Windows, используя компилятор msvc2017.

В настоящее время я пытаюсь сделать простое видео в цикле в моем приложении, используя следующий код:

import QtQuick 2.11
import QtMultimedia 5.8

Video {
    id: videoPlayer
    anchors.fill: parent
    source: "C:/Users/Me/Desktop/video.avi"
    autoLoad: true
    autoPlay: false
    focus: true
    fillMode: VideoOutput.PreserveAspectFit
    loops: MediaPlayer.Infinite
    muted: true
}

При выполнении этого кода я получаю исключение со следующим стеком вызовов:

Visual Studio Callstack

Похоже, что-то с сигналом от QAbstractVideoSurface внутри модуля QtMultimedia не работает.Что меня интересует, так это то, что это исключение не всегда происходит , а только примерно в 4/5 запуска приложений (если я включаю autoLoad: false и запускаю загрузку щелчком, я иногда как-то работаю).Кроме того, происходит только в конфигурации сборки выпуска * 1014. *.

Я уже думал о проблеме с кодеками, но я мог воспроизвести ее, используя разные видеофайлы с разными кодеками.

На самом деле это выглядит для меня как проблема с многопоточностью, но в настоящее время я понятия не имею, как это выглядит, поскольку я просто пытаюсь отобразить приведенный выше код в основном потоке пользовательского интерфейса.

Может быть, кто-тоуже сталкивался с подобной или связанной проблемой?

Спасибо уже!

...