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()),