{"version":3,"file":"mediaparser.min.js","sources":["../src/mediaparser.js"],"sourcesContent":["/* jshint ignore:start */\ndefine(['jquery', 'core/log'], function ($, log) {\n\n    \"use strict\"; // jshint ;_;\n\n    log.debug('Media Parser: initialising');\n\n    return {\n       parse:  function(containerid, mediatype) {\n           var ret = {};\n           ret.mediaurl = false;\n           ret.lang = false;\n           ret.subtitlesurl = false;\n           ret.sources = false;\n           ret.imgurl = false;\n\n           //do we have an audio player?\n           var originalplayer = $('#' + containerid + ' ' + mediatype).first();\n           if (originalplayer.length === 1) {\n               log.debug('processing player');\n               ret.lang = $('#' + containerid + ' ' + mediatype + ' track[kind=\"captions\"]').first().attr('srclang');\n               ret.subtitlesurl = $('#' + containerid + ' ' + mediatype + ' track[kind=\"captions\"]').first().attr('src');\n\n               if (originalplayer.attr('src') !== undefined) {\n                   ret.mediaurl = originalplayer.attr('src');\n               } else {\n                   ret.mediaurl = $('#' + containerid + ' ' + mediatype + ' source').first().attr('src');\n               }\n               ret.sources = $('#' + containerid + ' ' + mediatype + ' source');\n\n             /*  log.debug(JSON.stringify(ret)); */\n               //make sure moodle and poodll leave it alone from here on\n               originalplayer.addClass('nomediaplugin');\n               originalplayer.addClass('nopoodll');\n           } else {\n\n               //hopefully we have data attributes in the a link\n               var originallink = $('#' + containerid + ' a').first();\n               ret.mediaurl = originallink.attr('href');\n               ret.lang = originallink.attr('data-lang');\n               ret.subtitlesurl = originallink.attr('data-subtitles');\n               ret.imgurl = originallink.attr('data-img');\n               log.debug('processed link [1]');\n               log.debug(JSON.stringify(ret));\n\n               //but we might be in the old form where they were params on the url\n               if (ret.subtitlesurl === undefined && ret.mediaurl.split('?').length > 0) {\n                   log.debug('processing link [2]');\n                   log.debug(\"looking at the URL\");\n\n                   var urlParams = new URLSearchParams(ret.mediaurl.split('?')[1]);\n                   log.debug(ret.mediaurl.split('?')[1]);\n                   log.debug(JSON.stringify(urlParams));\n\n                   ret.subtitlesurl = urlParams.get('data-subtitles');\n                   ret.lang = urlParams.get('data-language');\n                   ret.mediaurl = ret.mediaurl.split('?')[0]\n               }\n\n               //make sure moodle and poodll leave it alone from here on\n               originallink.addClass('nomediaplugin');\n               originallink.addClass('nopoodll');\n           }\n\n           //do we have an image\n           if(!ret.imgurl) {\n               var originalimg = $('#' + containerid + ' img').first();\n               if (originalimg.length === 1) {\n                   ret.imgurl = originalimg.attr('src');\n               }\n           }\n\n           //clean up a cachekiller (or other) URL Param if it still exists because it can block cors\n           //there can be cross origin issues  if there are params, cos some templates use XHR, so just remove any params\n           //all templates should declare are video/audio tag with crossorigin set to anonymous, not pure js with xhr\n           ret.mediaurl = ret.mediaurl.split('?')[0]\n\n           return ret; \n       }//end of parse function\n    };//end of returned object\n});//total end\n"],"names":["define","$","log","debug","parse","containerid","mediatype","ret","originalplayer","first","length","lang","attr","subtitlesurl","undefined","mediaurl","sources","addClass","originallink","imgurl","JSON","stringify","split","urlParams","URLSearchParams","get","originalimg"],"mappings":"AACAA,mCAAO,CAAC,SAAU,aAAa,SAAUC,EAAGC,YAIxCA,IAAIC,MAAM,8BAEH,CACJC,MAAQ,SAASC,YAAaC,eACtBC,IAAM,CACVA,UAAe,EACfA,MAAW,EACXA,cAAmB,EACnBA,SAAc,EACdA,QAAa,GAGTC,eAAiBP,EAAE,IAAMI,YAAc,IAAMC,WAAWG,WAC9B,IAA1BD,eAAeE,OACfR,IAAIC,MAAM,qBACVI,IAAII,KAAOV,EAAE,IAAMI,YAAc,IAAMC,UAAY,2BAA2BG,QAAQG,KAAK,WAC3FL,IAAIM,aAAeZ,EAAE,IAAMI,YAAc,IAAMC,UAAY,2BAA2BG,QAAQG,KAAK,YAEhEE,IAA/BN,eAAeI,KAAK,OACpBL,IAAIQ,SAAWP,eAAeI,KAAK,OAEnCL,IAAIQ,SAAWd,EAAE,IAAMI,YAAc,IAAMC,UAAY,WAAWG,QAAQG,KAAK,OAEnFL,IAAIS,QAAUf,EAAE,IAAMI,YAAc,IAAMC,UAAY,WAItDE,eAAeS,SAAS,iBACxBT,eAAeS,SAAS,gBACrB,KAGCC,aAAejB,EAAE,IAAMI,YAAc,MAAMI,WAC/CF,IAAIQ,SAAWG,aAAaN,KAAK,QACjCL,IAAII,KAAOO,aAAaN,KAAK,aAC7BL,IAAIM,aAAeK,aAAaN,KAAK,kBACrCL,IAAIY,OAASD,aAAaN,KAAK,YAC/BV,IAAIC,MAAM,sBACVD,IAAIC,MAAMiB,KAAKC,UAAUd,WAGAO,IAArBP,IAAIM,cAA8BN,IAAIQ,SAASO,MAAM,KAAKZ,OAAS,EAAG,CACtER,IAAIC,MAAM,uBACVD,IAAIC,MAAM,0BAENoB,UAAY,IAAIC,gBAAgBjB,IAAIQ,SAASO,MAAM,KAAK,IAC5DpB,IAAIC,MAAMI,IAAIQ,SAASO,MAAM,KAAK,IAClCpB,IAAIC,MAAMiB,KAAKC,UAAUE,YAEzBhB,IAAIM,aAAeU,UAAUE,IAAI,kBACjClB,IAAII,KAAOY,UAAUE,IAAI,iBACzBlB,IAAIQ,SAAWR,IAAIQ,SAASO,MAAM,KAAK,GAI3CJ,aAAaD,SAAS,iBACtBC,aAAaD,SAAS,gBAItBV,IAAIY,OAAQ,KACRO,YAAczB,EAAE,IAAMI,YAAc,QAAQI,QACrB,IAAvBiB,YAAYhB,SACZH,IAAIY,OAASO,YAAYd,KAAK,eAOtCL,IAAIQ,SAAWR,IAAIQ,SAASO,MAAM,KAAK,GAEhCf"}