diff options
author | Friedemann Kleint <Friedemann.Kleint@qt.io> | 2021-05-16 21:26:28 +0200 |
---|---|---|
committer | Friedemann Kleint <Friedemann.Kleint@qt.io> | 2021-05-26 17:43:50 +0000 |
commit | 99c8af32b182834d234e28fa6a9fbabaa1983296 (patch) | |
tree | 21b6fabbb9571e0d13060e00e4b08c65f152a39b /src/multimedia/qmediaformat.cpp | |
parent | c773c45899dbdc93b606c9ea82e6f9a29a775258 (diff) |
Fix crashes on Linuxwip/qt6
Check for videosink and QPlatformMediaFormatInfo in QMediaFormat.
Change-Id: I9603dae66fc4eb6a4433f43d2464e9f97916235f
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
Diffstat (limited to 'src/multimedia/qmediaformat.cpp')
-rw-r--r-- | src/multimedia/qmediaformat.cpp | 17 |
1 files changed, 14 insertions, 3 deletions
diff --git a/src/multimedia/qmediaformat.cpp b/src/multimedia/qmediaformat.cpp index ccf926026..72b9a5118 100644 --- a/src/multimedia/qmediaformat.cpp +++ b/src/multimedia/qmediaformat.cpp @@ -198,6 +198,14 @@ QMimeType QMediaFormat::mimeType() const return QMimeDatabase().mimeTypeForName(QString::fromLatin1(mimeTypeForFormat[fmt + 1])); } +static QPlatformMediaFormatInfo *formatInfo() +{ + QPlatformMediaFormatInfo *result = nullptr; + if (auto *pi = QPlatformMediaIntegration::instance()) + result = pi->formatInfo(); + return result; +} + /*! Returns a list of container formats that are supported for \a mode. @@ -208,7 +216,8 @@ QMimeType QMediaFormat::mimeType() const */ QList<QMediaFormat::FileFormat> QMediaFormat::supportedFileFormats(QMediaFormat::ConversionMode m) { - return QPlatformMediaIntegration::instance()->formatInfo()->supportedFileFormats(*this, m); + auto *fi = formatInfo(); + return fi != nullptr ? fi->supportedFileFormats(*this, m) : QList<QMediaFormat::FileFormat>{}; } /*! @@ -221,7 +230,8 @@ QList<QMediaFormat::FileFormat> QMediaFormat::supportedFileFormats(QMediaFormat: */ QList<QMediaFormat::VideoCodec> QMediaFormat::supportedVideoCodecs(QMediaFormat::ConversionMode m) { - return QPlatformMediaIntegration::instance()->formatInfo()->supportedVideoCodecs(*this, m); + auto *fi = formatInfo(); + return fi != nullptr ? fi->supportedVideoCodecs(*this, m) : QList<QMediaFormat::VideoCodec>{}; } /*! @@ -234,7 +244,8 @@ QList<QMediaFormat::VideoCodec> QMediaFormat::supportedVideoCodecs(QMediaFormat: */ QList<QMediaFormat::AudioCodec> QMediaFormat::supportedAudioCodecs(QMediaFormat::ConversionMode m) { - return QPlatformMediaIntegration::instance()->formatInfo()->supportedAudioCodecs(*this, m); + auto *fi = formatInfo(); + return fi != nullptr ? fi->supportedAudioCodecs(*this, m) : QList<QMediaFormat::AudioCodec>{}; } QString QMediaFormat::fileFormatName(QMediaFormat::FileFormat c) |