summaryrefslogtreecommitdiffstats
path: root/src/multimedia/platform
diff options
context:
space:
mode:
authorJøger Hansegård <joger.hansegard@qt.io>2024-01-28 20:51:43 +0100
committerJøger Hansegård <joger.hansegard@qt.io>2024-01-29 18:27:46 +0100
commitc2b1fb925798f5a87b21891dcf18cd967436de3e (patch)
tree09d406250a65fe959158fd832b920241e1f9ae88 /src/multimedia/platform
parent5070a7343504bbde988a903c2ef0a2d18af4303b (diff)
Log error when accessing multimedia APIs without a QCoreApplication
Qt Multimedia heavily depend on functionality provided by the QCoreApplication, and accessing multimedia APIs without an application object is an error. This error message makes it easier to spot this contract violation. Pick-to: 6.7 6.6 6.5 Change-Id: Iea12ec43257eb06b3f23f5dd2ddf6c6ce7adbdae Reviewed-by: Lars Knoll <lars@knoll.priv.no> Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
Diffstat (limited to 'src/multimedia/platform')
-rw-r--r--src/multimedia/platform/qplatformmediaintegration.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/multimedia/platform/qplatformmediaintegration.cpp b/src/multimedia/platform/qplatformmediaintegration.cpp
index d2ef66b7f..3df477e45 100644
--- a/src/multimedia/platform/qplatformmediaintegration.cpp
+++ b/src/multimedia/platform/qplatformmediaintegration.cpp
@@ -11,6 +11,7 @@
#include <qmediadevices.h>
#include <qcameradevice.h>
#include <qloggingcategory.h>
+#include <QtCore/qcoreapplication.h>
#include "qplatformcapturablewindows_p.h"
#include "QtCore/private/qfactoryloader_p.h"
@@ -77,6 +78,9 @@ struct InstanceHolder
{
InstanceHolder()
{
+ if (!QCoreApplication::instance())
+ qCCritical(qLcMediaPlugin()) << "Qt Multimedia requires a QCoreApplication instance";
+
const auto backends = availableBackends();
QString backend = QString::fromUtf8(qgetenv("QT_MEDIA_BACKEND"));
if (backend.isEmpty() && !backends.isEmpty())