From e6ac3cf34b88514ab7799f26e3239585774c6219 Mon Sep 17 00:00:00 2001 From: Martin Brodbeck Date: Mon, 16 Dec 2013 13:18:59 +0100 Subject: [PATCH] Overwrite mime type, so that Opus files are recognized --- src/internet/cloudfileservice.cpp | 2 +- src/internet/dropboxservice.cpp | 6 ++++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/src/internet/cloudfileservice.cpp b/src/internet/cloudfileservice.cpp index 30fd18010..4b7c7232c 100644 --- a/src/internet/cloudfileservice.cpp +++ b/src/internet/cloudfileservice.cpp @@ -188,7 +188,7 @@ QString CloudFileService::GuessMimeTypeForFile(const QString& filename) const { return "audio/mpeg"; } else if (filename.endsWith(".m4a")) { return "audio/mpeg"; - } else if (filename.endsWith(".ogg")) { + } else if (filename.endsWith(".ogg") || filename.endsWith(".opus")) { return "application/ogg"; } else if (filename.endsWith(".flac")) { return "application/x-flac"; diff --git a/src/internet/dropboxservice.cpp b/src/internet/dropboxservice.cpp index 64e162911..f950c877d 100644 --- a/src/internet/dropboxservice.cpp +++ b/src/internet/dropboxservice.cpp @@ -136,6 +136,12 @@ void DropboxService::RequestFileListFinished(QNetworkReply* reply) { continue; } + // Workaround: Since Dropbox doesn't recognize Opus files and thus treats them + // as application/octet-stream, we overwrite the mime type here + if (metadata["mime_type"].toString() == "application/octet-stream" && + url.toString().endsWith(".opus")) + metadata["mime_type"] = GuessMimeTypeForFile(url.toString()); + if (ShouldIndexFile(url, metadata["mime_type"].toString())) { QNetworkReply* reply = FetchContentUrl(url); NewClosure(reply, SIGNAL(finished()),