summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPavel Dubsky <pavel.dubsky@qt.io>2023-04-19 19:23:08 +0200
committerQt Cherry-pick Bot <cherrypick_bot@qt-project.org>2023-04-20 09:32:03 +0000
commitf1b07b9ac3778f71f126eac3ac2c4a4a85d55c55 (patch)
tree76ca8232e08d114dd5676d022fe03f1d50754051
parent4d63366ae56e9b01105d07749f34554b9d144712 (diff)
downloadqtmultimedia-f1b07b9ac3778f71f126eac3ac2c4a4a85d55c55.tar.gz
Fix playing of video files with Chinese names
The old implementation was using QUrl::toEncoded in order to retrieve a filename from a URL, but it uses toLatin1 internally which substitutes all non-ASCII characters with question marks that leads to ill formed path. The new implementation uses QUrl::toString with a subsequent call to QString::toUtf8 and it basically leads to the same results while preserving non-ASCII characters. Task-number: QTBUG-111951 Change-Id: I0ad32143bc4afbdaec34511d7910ff106cb3cf45 Reviewed-by: Artem Dyomin <artem.dyomin@qt.io> Reviewed-by: Lars Knoll <lars@knoll.priv.no> (cherry picked from commit d4f99bdfc22c7f4edb26877a5912a9d5dbb55cfb) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
-rw-r--r--src/plugins/multimedia/ffmpeg/playbackengine/qffmpegmediadataholder.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/plugins/multimedia/ffmpeg/playbackengine/qffmpegmediadataholder.cpp b/src/plugins/multimedia/ffmpeg/playbackengine/qffmpegmediadataholder.cpp
index eb4f35b7a..1b9969866 100644
--- a/src/plugins/multimedia/ffmpeg/playbackengine/qffmpegmediadataholder.cpp
+++ b/src/plugins/multimedia/ffmpeg/playbackengine/qffmpegmediadataholder.cpp
@@ -117,7 +117,7 @@ MediaDataHolder::recreateAVFormatContext(const QUrl &media, QIODevice *stream)
{
*this = MediaDataHolder{};
- QByteArray url = media.toEncoded(QUrl::PreferLocalFile);
+ QByteArray url = media.toString(QUrl::PreferLocalFile).toUtf8();
AVFormatContext *context = nullptr;