diff options
-rw-r--r-- | src/multimedia/recording/qmediarecorder.cpp | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/src/multimedia/recording/qmediarecorder.cpp b/src/multimedia/recording/qmediarecorder.cpp index 56869b4e1..00e7d41ad 100644 --- a/src/multimedia/recording/qmediarecorder.cpp +++ b/src/multimedia/recording/qmediarecorder.cpp @@ -109,9 +109,17 @@ QMediaRecorder::QMediaRecorder(QObject *parent) d_ptr(new QMediaRecorderPrivate) { Q_D(QMediaRecorder); + + auto &mediaIntegration = *QPlatformMediaIntegration::instance(); + d->q_ptr = this; - auto maybeControl = QPlatformMediaIntegration::instance()->createRecorder(this); + auto maybeControl = mediaIntegration.createRecorder(this); if (maybeControl) { + // The first format info initialization may take some time, + // for users it seems to be more suitable to have a delay on the object construction + // rather than on QMediaRecorder::record + mediaIntegration.formatInfo(); + d->control = maybeControl.value(); } else { d->initErrorMessage = maybeControl.error(); |