diff options
author | Pavel Dubsky <pavel.dubsky@qt.io> | 2023-04-19 19:23:08 +0200 |
---|---|---|
committer | Pavel Dubsky <pavel.dubsky@qt.io> | 2023-04-20 10:14:43 +0200 |
commit | d4f99bdfc22c7f4edb26877a5912a9d5dbb55cfb (patch) | |
tree | 987d57ced86dd6a7f36f257ceac336e815427591 | |
parent | 6394ca0ee85695754fe687cd8f1d77e4e5f07283 (diff) | |
download | qtmultimedia-d4f99bdfc22c7f4edb26877a5912a9d5dbb55cfb.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
Pick-to: 6.5
Change-Id: I0ad32143bc4afbdaec34511d7910ff106cb3cf45
Reviewed-by: Artem Dyomin <artem.dyomin@qt.io>
Reviewed-by: Lars Knoll <lars@knoll.priv.no>
-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; |