From c5f76785ba143a569726fb4f6e9a9c7bafd50f1c Mon Sep 17 00:00:00 2001
From: Rello <Rello@users.noreply.github.com>
Date: Thu, 31 Aug 2017 17:48:49 +0200
Subject: [PATCH] Mapping of m3u, m3u8, pls to audio streams

Signed-Off-By: Rello <Rello@users.noreply.github.com>
---
 lib/private/Repair/RepairMimeTypes.php     | 14 ++++++++++++++
 resources/config/mimetypemapping.dist.json |  3 +++
 2 files changed, 17 insertions(+)

diff --git a/lib/private/Repair/RepairMimeTypes.php b/lib/private/Repair/RepairMimeTypes.php
index 74d81be9834..e77c7a26812 100644
--- a/lib/private/Repair/RepairMimeTypes.php
+++ b/lib/private/Repair/RepairMimeTypes.php
@@ -149,6 +149,16 @@ class RepairMimeTypes implements IRepairStep {
 		$this->updateMimetypes($updatedMimetypes);
 	}
 
+	private function introduceStreamingTypes() {
+		$updatedMimetypes = [
+			'm3u' => 'audio/mpegurl',
+			'm3u8' => 'audio/mpegurl',
+			'pls' => 'audio/x-scpls'
+		];
+
+		$this->updateMimetypes($updatedMimetypes);
+	}
+
 	/**
 	 * Fix mime types
 	 */
@@ -174,5 +184,9 @@ class RepairMimeTypes implements IRepairStep {
 		if (version_compare($ocVersionFromBeforeUpdate, '13.0.0.3', '<') && $this->introduceInternetShortcutTypes()) {
 			$out->info('Fixed internet-shortcut mime types');
 		}
+
+		if (version_compare($ocVersionFromBeforeUpdate, '13.0.0.6', '<') && $this->introduceStreamingTypes()) {
+			$out->info('Fixed streaming mime types');
+		}
 	}
 }
diff --git a/resources/config/mimetypemapping.dist.json b/resources/config/mimetypemapping.dist.json
index 06e4d30b9e5..ef3de4d75dc 100644
--- a/resources/config/mimetypemapping.dist.json
+++ b/resources/config/mimetypemapping.dist.json
@@ -88,6 +88,8 @@
 	"ldif": ["text/x-ldif"],
 	"lwp": ["application/vnd.lotus-wordpro"],
 	"m2t": ["video/mp2t"],
+	"m3u": ["audio/mpegurl"],
+	"m3u8": ["audio/mpegurl"],
 	"m4a": ["audio/mp4"],
 	"m4b": ["audio/m4b"],
 	"m4v": ["video/mp4"],
@@ -129,6 +131,7 @@
 	"pef": ["image/x-dcraw"],
 	"php": ["application/x-php"],
 	"pl": ["application/x-perl"],
+	"pls": ["audio/x-scpls"],
 	"png": ["image/png"],
 	"pot": ["application/vnd.ms-powerpoint"],
 	"potm": ["application/vnd.ms-powerpoint.template.macroEnabled.12"],
-- 
GitLab