summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPavel Dubsky <pavel.dubsky@qt.io>2023-04-19 19:23:08 +0200
committerPavel Dubsky <pavel.dubsky@qt.io>2023-04-20 10:14:43 +0200
commitd4f99bdfc22c7f4edb26877a5912a9d5dbb55cfb (patch)
tree987d57ced86dd6a7f36f257ceac336e815427591
parent6394ca0ee85695754fe687cd8f1d77e4e5f07283 (diff)
downloadqtmultimedia-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.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;