Qt 5.15 i.MX6ULL 上的 QML MediaPlayer 分段错误

问题描述 投票:0回答:0

我正在尝试将视频嵌入在 i.MX6ULL 嵌入式处理器(无 GPU)上运行的 Qt 5.15 QML(Qt Quick)项目中,但是任何包含视频(或 MediaPlayer)组件都会立即导致应用程序退出并出现分段故障。

即使是最基本的实现:

import QtQuick 2.15
import QtMultimedia 5.15

Video {
    id: video
    width: 480
    height: 272
    source: "gst-pipeline: videotestsrc ! qtvideosink"
}

使用 qmlscene 运行会立即退出并出现分段错误。

我在 Qt Creator 的嵌入式目标上调试 Qt C++ 时遇到问题(单独的问题),但是在 Segmentation Fault 上确实有可用的堆栈跟踪,其中包括

QDeclarativeVideoOutput::createBackend(QMediaService*)
(来源 https://code.qt .io/cgit/qt/qtmultimedia.git/tree/src/qtmultimediaquicktools/qdeclarativevideooutput.cpp?h=5.15).

使用 Qt 多媒体(QMediaPlayer 和 QVideoWidget)的 Qt Widgets 应用程序运行良好:

QMediaPlayer* player = new QMediaPlayer(this);
player->setVideoOutput(ui->wgtVid); // wgtVid is a QVideoWidget
player->setMedia(QUrl("gst-pipeline: videotestsrc ! qtvideosink"));
player->play();

如何调试/修复 QML (Qt Quick) 出现的分段错误?

qt qml qt5 qtquick2 qtmultimedia
© www.soinside.com 2019 - 2024. All rights reserved.