From 4c6a12898bb59606af8ed55113ed6b46ad26a58d Mon Sep 17 00:00:00 2001 From: Matthew McClure Date: Tue, 29 Oct 2013 11:00:54 -0700 Subject: [PATCH] Close GH-805: Flash - ignore codec info - added tests for #785. --- src/js/media/flash.js | 11 ++++++++++- test/unit/flash.js | 18 +++++++++++++++++- 2 files changed, 27 insertions(+), 2 deletions(-) diff --git a/src/js/media/flash.js b/src/js/media/flash.js index f58933777..5ad6ca18f 100644 --- a/src/js/media/flash.js +++ b/src/js/media/flash.js @@ -331,7 +331,16 @@ vjs.Flash.isSupported = function(){ }; vjs.Flash.canPlaySource = function(srcObj){ - if (srcObj.type in vjs.Flash.formats || srcObj.type in vjs.Flash.streamingFormats) { return 'maybe'; } + var type; + + if (!srcObj.type) { + return ''; + } + + type = srcObj.type.replace(/;.*/,'').toLowerCase(); + if (type in vjs.Flash.formats || type in vjs.Flash.streamingFormats) { + return 'maybe'; + } }; vjs.Flash.formats = { diff --git a/test/unit/flash.js b/test/unit/flash.js index d2f91b7f7..18c5909e3 100644 --- a/test/unit/flash.js +++ b/test/unit/flash.js @@ -45,4 +45,20 @@ test('test isStreamingSrc', function() { ok(!isStreamingSrc('http://streaming.is/fun')); ok(!isStreamingSrc('https://streaming.is/fun')); ok(!isStreamingSrc('file://streaming.is/fun')); -}); \ No newline at end of file +}); + +test('test canPlaySource', function() { + var canPlaySource = vjs.Flash.canPlaySource; + + // supported + ok(canPlaySource({ type: 'video/mp4; codecs=avc1.42E01E,mp4a.40.2' }), 'codecs supported'); + ok(canPlaySource({ type: 'video/mp4' }), 'video/mp4 supported'); + ok(canPlaySource({ type: 'video/x-flv' }), 'video/x-flv supported'); + ok(canPlaySource({ type: 'video/flv' }), 'video/flv supported'); + ok(canPlaySource({ type: 'video/m4v' }), 'video/m4v supported'); + ok(canPlaySource({ type: 'VIDEO/FLV' }), 'capitalized mime type'); + + // not supported + ok(!canPlaySource({ type: 'video/webm; codecs="vp8, vorbis"' })); + ok(!canPlaySource({ type: 'video/webm' })); +});