summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/multimedia/qmediaformat.cpp17
-rw-r--r--src/multimedia/video/qvideosink.cpp8
2 files changed, 19 insertions, 6 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)
diff --git a/src/multimedia/video/qvideosink.cpp b/src/multimedia/video/qvideosink.cpp
index 3776b603b..18afcbfad 100644
--- a/src/multimedia/video/qvideosink.cpp
+++ b/src/multimedia/video/qvideosink.cpp
@@ -157,7 +157,8 @@ void QVideoSink::setNativeWindowId(WId id)
if (d->window == id)
return;
d->window = id;
- d->videoSink->setWinId(id);
+ if (d->videoSink != nullptr)
+ d->videoSink->setWinId(id);
}
/*!
@@ -228,7 +229,8 @@ void QVideoSink::setTargetRect(const QRectF &rect)
if (d->targetRect == rect)
return;
d->targetRect = rect;
- d->videoSink->setDisplayRect(rect.toRect());
+ if (d->videoSink != nullptr)
+ d->videoSink->setDisplayRect(rect.toRect());
}
float QVideoSink::brightness() const
@@ -399,7 +401,7 @@ QPlatformVideoSink *QVideoSink::platformVideoSink() const
*/
QSize QVideoSink::videoSize() const
{
- return d->videoSink->nativeSize();
+ return d->videoSink ? d->videoSink->nativeSize() : QSize{};
}
void QVideoSink::setSource(QObject *source)