From ee8eb9933d6f3716ba4d6abfbe23dbf0af5be507 Mon Sep 17 00:00:00 2001 From: Robin Appelman Date: Wed, 27 Jul 2016 16:09:42 +0200 Subject: add support for mkv playback in chrome --- js/viewer.js | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) (limited to 'js/viewer.js') diff --git a/js/viewer.js b/js/viewer.js index eeb71a2..91136e7 100755 --- a/js/viewer.js +++ b/js/viewer.js @@ -19,8 +19,12 @@ var videoViewer = { // insert HTML $('').appendTo('body'); var playerView = videoViewer.UI.playerTemplate - .replace(/%type%/g, escapeHTML(videoViewer.mime)) .replace(/%src%/g, escapeHTML(videoViewer.location)); + if (videoViewer.mime) { + playerView = playerView.replace(/%type%/g, escapeHTML(videoViewer.mime)); + } else { + playerView = playerView.replace(/type="%type%"/g, ''); + } $(playerView).prependTo('#videoplayer'); // add event to overlay $("#videoplayer_overlay").on("click", function(e) { @@ -60,7 +64,11 @@ var videoViewer = { 'video/x-flv', 'video/ogg', 'video/quicktime', + 'video/x-matroska', ], + mimeTypeAliasses: { + 'video/x-matroska': 'video/webm' // chrome is a little kid that refuses to play mkv if it knows it's an mkv, webm uses the same container format + }, onView : function(file, data) { videoViewer.file = file; videoViewer.dir = data.dir; @@ -71,6 +79,9 @@ var videoViewer = { videoViewer.location = OC.linkToRemote('webdav') + OC.joinPaths(videoViewer.dir, file); } videoViewer.mime = data.$file.attr('data-mime'); + if (videoViewer.mimeTypeAliasses.hasOwnProperty(videoViewer.mime)) { + videoViewer.mime = videoViewer.mimeTypeAliasses[videoViewer.mime]; + } videoViewer.showPlayer(); }, showPlayer : function() { -- cgit v1.2.3