From 559d7b5774d8086574b63b73261443e96f44f7bc Mon Sep 17 00:00:00 2001 From: Anatoliy Klymenko Date: Thu, 14 Dec 2017 11:33:43 -0800 Subject: [PATCH] Deal with OOB key ids --- app/js/mss/MssParser.js | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/app/js/mss/MssParser.js b/app/js/mss/MssParser.js index b6ba20077..e830cab6f 100644 --- a/app/js/mss/MssParser.js +++ b/app/js/mss/MssParser.js @@ -167,7 +167,7 @@ Mss.dependencies.MssParser = function() { // Check if codec is supported if (SUPPORTED_CODECS.indexOf(fourCCValue.toUpperCase()) === -1) { // Do not send warning - //this.errHandler.sendWarning(MediaPlayer.dependencies.ErrorHandler.prototype.MEDIA_ERR_CODEC_UNSUPPORTED, "Codec/FourCC not supported", {codec: fourCCValue}); + this.errHandler.sendWarning(MediaPlayer.dependencies.ErrorHandler.prototype.MEDIA_ERR_CODEC_UNSUPPORTED, "Codec/FourCC not supported", {codec: fourCCValue}); this.debug.warn("[MssParser] Codec not supported: " + fourCCValue); return null; } @@ -386,13 +386,16 @@ Mss.dependencies.MssParser = function() { // Parse to get KID field value xmlReader = (new DOMParser()).parseFromString(wrmHeader, "application/xml"); - KID = xmlReader.querySelector("KID").textContent; + var kidNode = xmlReader.querySelector("KID"); + if (kidNode) { + KID = kidNode.textContent; - // Get KID (base64 decoded) as byte array - KID = BASE64.decodeArray(KID); + // Get KID (base64 decoded) as byte array + KID = BASE64.decodeArray(KID); - // Convert UUID from little-endian to big-endian - convertUuidEndianness(KID); + // Convert UUID from little-endian to big-endian + convertUuidEndianness(KID); + } return KID; }, @@ -717,4 +720,4 @@ Mss.dependencies.MssParser = function() { Mss.dependencies.MssParser.prototype = { constructor: Mss.dependencies.MssParser -}; \ No newline at end of file +};