diff options
author | Pavel Dubsky <pavel.dubsky@qt.io> | 2023-04-19 19:23:08 +0200 |
---|---|---|
committer | Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> | 2023-04-20 09:32:03 +0000 |
commit | f1b07b9ac3778f71f126eac3ac2c4a4a85d55c55 (patch) | |
tree | 76ca8232e08d114dd5676d022fe03f1d50754051 | |
parent | 4d63366ae56e9b01105d07749f34554b9d144712 (diff) | |
download | qtmultimedia-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.cpp | 2 |
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; |