diff options
author | André de la Rocha <andre.rocha@qt.io> | 2022-03-16 22:00:33 -0300 |
---|---|---|
committer | André de la Rocha <andre.rocha@qt.io> | 2022-03-17 05:54:18 -0300 |
commit | 6ed6d0ab838c8e9a808105376c5a92747f1a252c (patch) | |
tree | ded5ff94242621fb0bf3bc43dccf68c612817106 /src/plugins/multimedia/windows | |
parent | 067d937560a50a51f3d80bc65dda1b83225e91ff (diff) |
Windows: Avoid WMF error with some specific video files
Some specific video files cause a WMF error when played, possibly due to
an issue in WMF, likely triggered by a non-standard setting in the
files. However, the video files play fine when the error is ignored,
which seems to cause no other issues.
Fixes: QTBUG-100835
Pick-to: 6.3 6.2
Change-Id: I7227c0bfbe3c1504e57ce3aec1c92c433879e618
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
Diffstat (limited to 'src/plugins/multimedia/windows')
-rw-r--r-- | src/plugins/multimedia/windows/player/mfplayersession.cpp | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/plugins/multimedia/windows/player/mfplayersession.cpp b/src/plugins/multimedia/windows/player/mfplayersession.cpp index d64ece5a7..544567e5b 100644 --- a/src/plugins/multimedia/windows/player/mfplayersession.cpp +++ b/src/plugins/multimedia/windows/player/mfplayersession.cpp @@ -1639,6 +1639,14 @@ void MFPlayerSession::handleSessionEvent(IMFMediaEvent *sessionEvent) changeStatus(QMediaPlayer::InvalidMedia); break; case MEError: + if (hrStatus == MF_E_ALREADY_INITIALIZED) { + // Workaround for a possible WMF issue that causes an error + // with some specific videos, which play fine otherwise. +#ifdef DEBUG_MEDIAFOUNDATION + qDebug() << "handleSessionEvent: ignoring MF_E_ALREADY_INITIALIZED"; +#endif + break; + } changeStatus(QMediaPlayer::InvalidMedia); qWarning() << "handleSessionEvent: serious error = " << hrStatus; emit error(QMediaPlayer::ResourceError, tr("Media session serious error."), true); |