UNPKG

fjplayer

Version:

A Javascript video player for dash and mp4 videos, support multi subs tracks , overlays ads or information, injection mp4 video ads in preroll, modroll or after roll.

2 lines 642 kB
/*! For license information please see fjplayer.min.js.LICENSE.txt */ !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define("fjplayer",[],t):"object"==typeof exports?exports.fjplayer=t():e.fjplayer=t()}(self,(function(){return(()=>{var e={346:(e,t,n)=>{function r(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}var i=n(147),a=function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.version=i.version}var t,n;return t=e,(n=[{key:"getVersion",value:function(){return this.version}}])&&r(t.prototype,n),Object.defineProperty(t,"prototype",{writable:!1}),e}();e.exports=a},506:(e,t,n)=>{var r=n(154),i=n(857),a=n(346),o=n(507),s=o.PlayerEvents,f=o.AdsEvents,u=o.OverlayEvents,l="undefined"!=typeof window&&window||n.g,c=l.fjplayer;c||(c={},l.fjplayer={}),c.Playlist=r,c.Player=i,c.Version=a,c.PlayerEvents=s,c.AdsEvents=f,c.OverlayEvents=u,e.exports={fjplayer:c,Playlist:r,Player:i,Version:a,PlayerEvents:s,AdsEvents:f,OverlayEvents:u}},507:e=>{var t="true",n="false",r={FJCONFIG_TRUE:t,FJCONFIG_FALSE:n},i="live",a=[i,"vod"],o="video/mp4",s="dash",f=[o,s],u="pre-roll",l="mid-roll",c="post-roll",d=[u,l,c];e.exports={FJCONFIG_CLASS:"FJClass",FJCONFIG_TYPE:"FJType",FJCONFIG_TITLE:"FJTitle",FJCONFIG_SRC:"FJSrc",FJCONFIG_POSTER:"FJPoster",FJCONFIG_ADS_LINK_URL:"FJAdsLinkUrl",FJCONFIG_CAN_ESCAPE:"FJCanEscape",FJCONFIG_THUMBS:"FJThumbs",FJCONFIG_SUBTITLES:"FJSubtitles",FJCONFIG_ADS:"FJAds",FJCONFIG_AUDIOS:"FJAudios",FJCONFIG_OVERLAYS:"FJOverlays",FJCONFIG_DRM:"FJDrm",FJCONFIG_LABEL:"FJLabel",FJCONFIG_LANG:"FJLang",FJCONFIG_DATA:"FJData",FJCONFIG_URL:"FJUrl",FJCONFIG_DURATION:"FJDuration",FJCONFIG_SHOW_AT:"FJShowAt",FJCONFIG_DRM_LICENSE_SERVER:"FJLicenseServer",FJCONFIG_DRM_SCHEME:"FJDrmScheme",FJCONFIG_DRM_SCHEME_FORJA:"forja",FJCONFIG_SHOW_UP_TITLE:"FJUpTitle",FJCONFIG_DOWNLOAD:"FJDownload",FJCONFIG_SHARE:"FJShare",FJCONFIG_BACK:"FJBack",FJCONFIG_TRUE:t,FJCONFIG_FALSE:n,FJCONFIG_BOOLEAN:r,FJCONFIG_CLASS_VOD:"vod",FJCONFIG_CLASS_LIVE:i,FJCONFIG_CLASSES:a,FJCONFIG_TYPE_MP4:o,FJCONFIG_TYPE_DASH:s,FJCONFIG_TYPES:f,FJCONFIG_ADS_CLASS_PRE_ROLL:u,FJCONFIG_ADS_CLASS_MID_ROLL:l,FJCONFIG_ADS_CLASS_POST_ROLL:c,FJCONFIG_ADS_CLASSES:d,AdsEnum:{ADS_PRE_ROLL:"ADS_PRE_ROLL",ADS_MID_ROLL:"ADS_MID_ROLL",ADS_POST_ROLL:"ADS_POST_ROLL"},PlayerEvents:{STREAM_LOADED:"STREAM_LOADED",TRACKS_ADDED:"TRACKS_ADDED",PLAYBACK_ERROR:"PLAYBACK_ERROR",PLAYBACK_STARTED:"PLAYBACK_STARTED",PLAYBACK_PAUSED:"PLAYBACK_PAUSED",PLAYBACK_SEEKING:"PLAYBACK_SEEKING",PLAYBACK_SEEKED:"PLAYBACK_SEEKED",PLAYBACK_ENDED:"PLAYBACK_ENDED",PLAYBACK_TIME_UPDATE:"PLAYBACK_TIME_UPDATE"},AdsEvents:{ADS_USER_CLICKED:"ADS_USER_CLICKED",ADS_PLAYBACK_STARTED:"ADS_PLAYBACK_STARTED",ADS_PLAYBACK_ENDED:"ADS_PLAYBACK_ENDED",ADS_PLAYBACK_ERROR:"ADS_PLAYBACK_ERROR"},OverlayEvents:{OVERLAY_USER_CLICKED:"OVERLAY_USER_CLICKED",OVERLAY_STARTED:"OVERLAY_STARTED",OVERLAY_ENDED:"OVERLAY_ENDED",OVERLAY_ERROR:"OVERLAY_ERROR",OVERLAY_SKIPPED:"OVERLAY_SKIPPED"}}},614:e=>{e.exports={ab:{name:"Abkhaz",nativeName:"аҧсуа"},aa:{name:"Afar",nativeName:"Afaraf"},af:{name:"Afrikaans",nativeName:"Afrikaans"},ak:{name:"Akan",nativeName:"Akan"},sq:{name:"Albanian",nativeName:"Shqip"},am:{name:"Amharic",nativeName:"አማርኛ"},ar:{name:"Arabic",nativeName:"العربية"},an:{name:"Aragonese",nativeName:"Aragonés"},hy:{name:"Armenian",nativeName:"Հայերեն"},as:{name:"Assamese",nativeName:"অসমীয়া"},av:{name:"Avaric",nativeName:"авар мацӀ, магӀарул мацӀ"},ae:{name:"Avestan",nativeName:"avesta"},ay:{name:"Aymara",nativeName:"aymar aru"},az:{name:"Azerbaijani",nativeName:"azərbaycan dili"},bm:{name:"Bambara",nativeName:"bamanankan"},ba:{name:"Bashkir",nativeName:"башҡорт теле"},eu:{name:"Basque",nativeName:"euskara, euskera"},be:{name:"Belarusian",nativeName:"Беларуская"},bn:{name:"Bengali",nativeName:"বাংলা"},bh:{name:"Bihari",nativeName:"भोजपुरी"},bi:{name:"Bislama",nativeName:"Bislama"},bs:{name:"Bosnian",nativeName:"bosanski jezik"},br:{name:"Breton",nativeName:"brezhoneg"},bg:{name:"Bulgarian",nativeName:"български език"},my:{name:"Burmese",nativeName:"ဗမာစာ"},ca:{name:"Catalan; Valencian",nativeName:"Català"},ch:{name:"Chamorro",nativeName:"Chamoru"},ce:{name:"Chechen",nativeName:"нохчийн мотт"},ny:{name:"Chichewa; Chewa; Nyanja",nativeName:"chiCheŵa, chinyanja"},zh:{name:"Chinese",nativeName:"中文 (Zhōngwén), 汉语, 漢語"},cv:{name:"Chuvash",nativeName:"чӑваш чӗлхи"},kw:{name:"Cornish",nativeName:"Kernewek"},co:{name:"Corsican",nativeName:"corsu, lingua corsa"},cr:{name:"Cree",nativeName:"ᓀᐦᐃᔭᐍᐏᐣ"},hr:{name:"Croatian",nativeName:"hrvatski"},cs:{name:"Czech",nativeName:"česky, čeština"},da:{name:"Danish",nativeName:"dansk"},dv:{name:"Divehi; Dhivehi; Maldivian;",nativeName:"ދިވެހި"},nl:{name:"Dutch",nativeName:"Nederlands, Vlaams"},en:{name:"English",nativeName:"English"},eo:{name:"Esperanto",nativeName:"Esperanto"},et:{name:"Estonian",nativeName:"eesti, eesti keel"},ee:{name:"Ewe",nativeName:"Eʋegbe"},fo:{name:"Faroese",nativeName:"føroyskt"},fj:{name:"Fijian",nativeName:"vosa Vakaviti"},fi:{name:"Finnish",nativeName:"suomi, suomen kieli"},fr:{name:"French",nativeName:"français, langue française"},ff:{name:"Fula; Fulah; Pulaar; Pular",nativeName:"Fulfulde, Pulaar, Pular"},gl:{name:"Galician",nativeName:"Galego"},ka:{name:"Georgian",nativeName:"ქართული"},de:{name:"German",nativeName:"Deutsch"},el:{name:"Greek, Modern",nativeName:"Ελληνικά"},gn:{name:"Guaraní",nativeName:"Avañeẽ"},gu:{name:"Gujarati",nativeName:"ગુજરાતી"},ht:{name:"Haitian; Haitian Creole",nativeName:"Kreyòl ayisyen"},ha:{name:"Hausa",nativeName:"Hausa, هَوُسَ"},he:{name:"Hebrew (modern)",nativeName:"עברית"},hz:{name:"Herero",nativeName:"Otjiherero"},hi:{name:"Hindi",nativeName:"हिन्दी, हिंदी"},ho:{name:"Hiri Motu",nativeName:"Hiri Motu"},hu:{name:"Hungarian",nativeName:"Magyar"},ia:{name:"Interlingua",nativeName:"Interlingua"},id:{name:"Indonesian",nativeName:"Bahasa Indonesia"},ie:{name:"Interlingue",nativeName:"Originally called Occidental; then Interlingue after WWII"},ga:{name:"Irish",nativeName:"Gaeilge"},ig:{name:"Igbo",nativeName:"Asụsụ Igbo"},ik:{name:"Inupiaq",nativeName:"Iñupiaq, Iñupiatun"},io:{name:"Ido",nativeName:"Ido"},is:{name:"Icelandic",nativeName:"Íslenska"},it:{name:"Italian",nativeName:"Italiano"},iu:{name:"Inuktitut",nativeName:"ᐃᓄᒃᑎᑐᑦ"},ja:{name:"Japanese",nativeName:"日本語 (にほんご/にっぽんご)"},jv:{name:"Javanese",nativeName:"basa Jawa"},kl:{name:"Kalaallisut, Greenlandic",nativeName:"kalaallisut, kalaallit oqaasii"},kn:{name:"Kannada",nativeName:"ಕನ್ನಡ"},kr:{name:"Kanuri",nativeName:"Kanuri"},ks:{name:"Kashmiri",nativeName:"कश्मीरी, كشميري‎"},kk:{name:"Kazakh",nativeName:"Қазақ тілі"},km:{name:"Khmer",nativeName:"ភាសាខ្មែរ"},ki:{name:"Kikuyu, Gikuyu",nativeName:"Gĩkũyũ"},rw:{name:"Kinyarwanda",nativeName:"Ikinyarwanda"},ky:{name:"Kirghiz, Kyrgyz",nativeName:"кыргыз тили"},kv:{name:"Komi",nativeName:"коми кыв"},kg:{name:"Kongo",nativeName:"KiKongo"},ko:{name:"Korean",nativeName:"한국어 (韓國語), 조선말 (朝鮮語)"},ku:{name:"Kurdish",nativeName:"Kurdî, كوردی‎"},kj:{name:"Kwanyama, Kuanyama",nativeName:"Kuanyama"},la:{name:"Latin",nativeName:"latine, lingua latina"},lb:{name:"Luxembourgish, Letzeburgesch",nativeName:"Lëtzebuergesch"},lg:{name:"Luganda",nativeName:"Luganda"},li:{name:"Limburgish, Limburgan, Limburger",nativeName:"Limburgs"},ln:{name:"Lingala",nativeName:"Lingála"},lo:{name:"Lao",nativeName:"ພາສາລາວ"},lt:{name:"Lithuanian",nativeName:"lietuvių kalba"},lu:{name:"Luba-Katanga",nativeName:""},lv:{name:"Latvian",nativeName:"latviešu valoda"},gv:{name:"Manx",nativeName:"Gaelg, Gailck"},mk:{name:"Macedonian",nativeName:"македонски јазик"},mg:{name:"Malagasy",nativeName:"Malagasy fiteny"},ms:{name:"Malay",nativeName:"bahasa Melayu, بهاس ملايو‎"},ml:{name:"Malayalam",nativeName:"മലയാളം"},mt:{name:"Maltese",nativeName:"Malti"},mi:{name:"Māori",nativeName:"te reo Māori"},mr:{name:"Marathi (Marāṭhī)",nativeName:"मराठी"},mh:{name:"Marshallese",nativeName:"Kajin M̧ajeļ"},mn:{name:"Mongolian",nativeName:"монгол"},na:{name:"Nauru",nativeName:"Ekakairũ Naoero"},nv:{name:"Navajo, Navaho",nativeName:"Diné bizaad, Dinékʼehǰí"},nb:{name:"Norwegian Bokmål",nativeName:"Norsk bokmål"},nd:{name:"North Ndebele",nativeName:"isiNdebele"},ne:{name:"Nepali",nativeName:"नेपाली"},ng:{name:"Ndonga",nativeName:"Owambo"},nn:{name:"Norwegian Nynorsk",nativeName:"Norsk nynorsk"},no:{name:"Norwegian",nativeName:"Norsk"},ii:{name:"Nuosu",nativeName:"ꆈꌠ꒿ Nuosuhxop"},nr:{name:"South Ndebele",nativeName:"isiNdebele"},oc:{name:"Occitan",nativeName:"Occitan"},oj:{name:"Ojibwe, Ojibwa",nativeName:"ᐊᓂᔑᓈᐯᒧᐎᓐ"},cu:{name:"Old Church Slavonic, Church Slavic, Church Slavonic, Old Bulgarian, Old Slavonic",nativeName:"ѩзыкъ словѣньскъ"},om:{name:"Oromo",nativeName:"Afaan Oromoo"},or:{name:"Oriya",nativeName:"ଓଡ଼ିଆ"},os:{name:"Ossetian, Ossetic",nativeName:"ирон æвзаг"},pa:{name:"Panjabi, Punjabi",nativeName:"ਪੰਜਾਬੀ, پنجابی‎"},pi:{name:"Pāli",nativeName:"पाऴि"},fa:{name:"Persian",nativeName:"فارسی"},pl:{name:"Polish",nativeName:"polski"},ps:{name:"Pashto, Pushto",nativeName:"پښتو"},pt:{name:"Portuguese",nativeName:"Português"},qu:{name:"Quechua",nativeName:"Runa Simi, Kichwa"},rm:{name:"Romansh",nativeName:"rumantsch grischun"},rn:{name:"Kirundi",nativeName:"kiRundi"},ro:{name:"Romanian, Moldavian, Moldovan",nativeName:"română"},ru:{name:"Russian",nativeName:"русский язык"},sa:{name:"Sanskrit (Saṁskṛta)",nativeName:"संस्कृतम्"},sc:{name:"Sardinian",nativeName:"sardu"},sd:{name:"Sindhi",nativeName:"सिन्धी, سنڌي، سندھی‎"},se:{name:"Northern Sami",nativeName:"Davvisámegiella"},sm:{name:"Samoan",nativeName:"gagana faa Samoa"},sg:{name:"Sango",nativeName:"yângâ tî sängö"},sr:{name:"Serbian",nativeName:"српски језик"},gd:{name:"Scottish Gaelic; Gaelic",nativeName:"Gàidhlig"},sn:{name:"Shona",nativeName:"chiShona"},si:{name:"Sinhala, Sinhalese",nativeName:"සිංහල"},sk:{name:"Slovak",nativeName:"slovenčina"},sl:{name:"Slovene",nativeName:"slovenščina"},so:{name:"Somali",nativeName:"Soomaaliga, af Soomaali"},st:{name:"Southern Sotho",nativeName:"Sesotho"},es:{name:"Spanish; Castilian",nativeName:"español, castellano"},su:{name:"Sundanese",nativeName:"Basa Sunda"},sw:{name:"Swahili",nativeName:"Kiswahili"},ss:{name:"Swati",nativeName:"SiSwati"},sv:{name:"Swedish",nativeName:"svenska"},ta:{name:"Tamil",nativeName:"தமிழ்"},te:{name:"Telugu",nativeName:"తెలుగు"},tg:{name:"Tajik",nativeName:"тоҷикӣ, toğikī, تاجیکی‎"},th:{name:"Thai",nativeName:"ไทย"},ti:{name:"Tigrinya",nativeName:"ትግርኛ"},bo:{name:"Tibetan Standard, Tibetan, Central",nativeName:"བོད་ཡིག"},tk:{name:"Turkmen",nativeName:"Türkmen, Түркмен"},tl:{name:"Tagalog",nativeName:"Wikang Tagalog, ᜏᜒᜃᜅ᜔ ᜆᜄᜎᜓᜄ᜔"},tn:{name:"Tswana",nativeName:"Setswana"},to:{name:"Tonga (Tonga Islands)",nativeName:"faka Tonga"},tr:{name:"Turkish",nativeName:"Türkçe"},ts:{name:"Tsonga",nativeName:"Xitsonga"},tt:{name:"Tatar",nativeName:"татарча, tatarça, تاتارچا‎"},tw:{name:"Twi",nativeName:"Twi"},ty:{name:"Tahitian",nativeName:"Reo Tahiti"},ug:{name:"Uighur, Uyghur",nativeName:"Uyƣurqə, ئۇيغۇرچە‎"},uk:{name:"Ukrainian",nativeName:"українська"},ur:{name:"Urdu",nativeName:"اردو"},uz:{name:"Uzbek",nativeName:"zbek, Ўзбек, أۇزبېك‎"},ve:{name:"Venda",nativeName:"Tshivenḓa"},vi:{name:"Vietnamese",nativeName:"Tiếng Việt"},vo:{name:"Volapük",nativeName:"Volapük"},wa:{name:"Walloon",nativeName:"Walon"},cy:{name:"Welsh",nativeName:"Cymraeg"},wo:{name:"Wolof",nativeName:"Wollof"},fy:{name:"Western Frisian",nativeName:"Frysk"},xh:{name:"Xhosa",nativeName:"isiXhosa"},yi:{name:"Yiddish",nativeName:"ייִדיש"},yo:{name:"Yoruba",nativeName:"Yorùbá"},za:{name:"Zhuang, Chuang",nativeName:"Saɯ cueŋƅ, Saw cuengh"}}},630:(e,t,n)=>{function r(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}var i=n(123),a=n(549),o=n(418),s=n(507),f=n(614),u=function(){function e(t){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.video=null,this.FjPlayerId=t,this.FjSessionToken="notSettled",this.initialized=!1,this.startingCount=0,this.thumbsTrackUrl=null,this.thumbsTrackIndex=-1,this.CurrentUrl=!1,this.CurrentUrl=null,this.CurrentProtection=null,this.CurrentStreamType=e.UNKNOWN,this.DashPlayer=null,this.logger=new a(this),this.events=new o,this.StreamTypes={UNKNOWN:0,MP4_CLEAR:1,DASH_CLEAR:2,DASH_ENCRYPTED:3,properties:{0:{name:"UNKNOWN",value:0,code:"U"},1:{name:"MP4_CLEAR",value:1,code:"M"},2:{name:"DASH_CLEAR",value:2,code:"D"},3:{name:"DASH_ENCRYPTED",value:3,code:"E"}}}}var t,n;return t=e,(n=[{key:"initialize",value:function(e){if(i.polyfill.installAll(),!i.Player.isBrowserSupported())return this.logger.error("Browser not supported !"),!1;if(this.video=e,!this.video)throw new Error("Please call initialize with a valid Player UI having a this.videohtml 5 element ");return this.initialized=!0,this.logger.debug(" Media player just this.initializedwith playerUiVideo"),!0}},{key:"on",value:function(e,t){return this.events.on(e,t)}},{key:"off",value:function(e,t){return this.events.off(e,t)}},{key:"play",value:function(){!0===this.initialized?this.video.play():this.logger.warn(" No Media Loaded , nothing to play ")}},{key:"time",value:function(){return!0===this.initialized?this.video.currentTime:(this.logger.warn(" No Media Loaded ! "),null)}},{key:"isPaused",value:function(){return!0===this.initialized?this.video.paused:(this.logger.warn(" No Media Loaded ! "),!0)}},{key:"isEnded",value:function(){return!0===this.initialized?this.video.ended:(this.logger.warn(" No Media Loaded ! "),!0)}},{key:"isMuted",value:function(){return!0===this.initialized?this.video.muted:(this.logger.warn(" No Media Loaded ! "),!0)}},{key:"setVolume",value:function(e){!0===this.initialized?this.video.volume=e:this.logger.warn(" No Media Loaded ! ")}},{key:"getDuration",value:function(){return!0===this.initialized?this.video.duration:(this.logger.warn(" No Media Loaded ! "),null)}},{key:"getVolume",value:function(){return!0===this.initialized?this.video.volume:(this.logger.warn(" No Media Loaded ! "),null)}},{key:"setThumbsUrl",value:function(e){null!=e&&""!==e?(this.thumbsTrackUrl=e,this.logger.debug(" Setting url for thumbs @",e)):(this.thumbsTrackUrl=null,this.logger.debug(" No Setting url for thumbs "))}},{key:"setTextTrack",value:function(e){this.logger.warn(" Setting text track to index : ",e);var t=parseInt(e,10);if(this.logger.warn(" Setting text track to index : ",t),!0===this.initialized)if(this.CurrentStreamType===this.StreamTypes.MP4_CLEAR)for(var n=0;n<this.video.textTracks.length;n+=1)"captions"!==this.video.textTracks[n].kind&&"subtitles"!==this.video.textTracks[n].kind&&"subtitle"!==this.video.textTracks[n].kind||(this.video.textTracks[n].mode=t===n?"showing":"hidden");else this.DashPlayer.selectTextTrack(this.DashPlayer.getTextTracks()[t])}},{key:"getTextTracks",value:function(){return!0===this.initialized?this.CurrentStreamType===this.StreamTypes.MP4_CLEAR?this.video.textTracks:this.DashPlayer.getTextTracks():(this.logger.warn(" No Media Loaded ! "),[])}},{key:"isTextTrackEnabled",value:function(e){return!0===this.initialized?this.CurrentStreamType===this.StreamTypes.MP4_CLEAR?!0===this.video.textTracks[e].enabled:!0===this.DashPlayer.getTextTracks()[e].active:(this.logger.warn(" No Media Loaded ! "),!1)}},{key:"getTextTrackLabel",value:function(e){return!0===this.initialized?this.CurrentStreamType===this.StreamTypes.MP4_CLEAR?this.video.textTracks[e].label:this.DashPlayer.getTextTracks()[e].language:(this.logger.warn(" No Media Loaded ! "),"NaN")}},{key:"setAudioLang",value:function(e){var t=parseInt(e);if(this.logger.warn(" Setting text track to index : ",t),!0===this.initialized)if(this.CurrentStreamType===this.StreamTypes.MP4_CLEAR)for(var n=0;n<this.video.textTracks.length;n+=1)this.video.audioTracks[n].enabled=t===n;else this.DashPlayer.selectAudioLanguage(this.DashPlayer.getAudioLanguages()[t])}},{key:"getAudioLanguages",value:function(){return!0===this.initialized?this.CurrentStreamType===this.StreamTypes.MP4_CLEAR?this.video.audioTracks:this.DashPlayer.getAudioLanguages():(this.logger.warn(" No Media Loaded ! "),[])}},{key:"isAudioLangEnabled",value:function(e){var t=parseInt(e);return!0===this.initialized?this.CurrentStreamType===this.StreamTypes.MP4_CLEAR?!0===this.video.audioTracks[t].enabled:!0===this.DashPlayer.getAudioLanguages()[t].enabled:(this.logger.warn(" No Media Loaded ! "),!1)}},{key:"getAudioLangLabel",value:function(e){var t=parseInt(e);return!0===this.initialized?this.CurrentStreamType===this.StreamTypes.MP4_CLEAR?this.video.audioTracks[t].label:this.DashPlayer.getAudioLanguages()[t].label:(this.logger.warn(" No Media Loaded ! "),"NaN")}},{key:"setMute",value:function(e){!0===this.initialized?this.video.muted=e:this.logger.warn(" No Media Loaded ! ")}},{key:"pause",value:function(){!0===this.initialized?this.video.pause():this.logger.warn(" No Media Loaded , nothing to pause ")}},{key:"seek",value:function(e){!0===this.initialized?this.video.currentTime=parseFloat(e):this.logger.warn(" No Media Loaded , nothing to seek ")}},{key:"onShakaError",value:function(e){this.onShError(e.detail)}},{key:"onShakaEvent",value:function(e){this.logger.warn("Eventing [",e.type,"]:",e)}},{key:"onShError",value:function(e){this.logger.error("Error code",e.code,"object",e)}},{key:"onPlayStart",value:function(){this.startingCount+=1,this.events.fireEvent(s.PlayerEvents.PLAYBACK_STARTED,this.startingCount)}},{key:"onPlaybackPaused",value:function(){this.events.fireEvent(s.PlayerEvents.PLAYBACK_PAUSED)}},{key:"onPlaybackEnded",value:function(){this.getEndedEvent=!0,this.events.fireEvent(s.PlayerEvents.PLAYBACK_ENDED)}},{key:"onPlayTimeUpdate",value:function(){var e=0;!0===this.initialized?(e=this.video.currentTime,this.events.fireEvent(s.PlayerEvents.PLAYBACK_TIME_UPDATE,e)):this.logger.warn(" Internal error !")}},{key:"onSeeked",value:function(){this.events.fireEvent(s.PlayerEvents.PLAYBACK_SEEKED)}},{key:"onSeeking",value:function(){this.events.fireEvent(s.PlayerEvents.PLAYBACK_SEEKING)}},{key:"onError",value:function(e){var t=e.event.message;void 0===e.event.message&&(t=e.event);var n={type:e.type,code:e.error,message:t};this.logger.error(">>>>>>>>>>>>>>> ERROR !!:",e),this.events.fireEvent(s.PlayerEvents.PLAYBACK_ERROR,n)}},{key:"onStreamInitialized",value:function(){if(this.thumbsTrackIndex=-1,null!==this.thumbsTrackUrl)for(var e=0;e<this.video.textTracks.length;e+=1)if("metadata"===this.video.textTracks[e].kind)this.thumbsTrackIndex=e,this.video.textTracks[e].mode="hidden",this.logger.warn("find metadata tumbs @ ",this.thumbsTrackIndex,"/",this.video.textTracks.length," >>> and this.videoduration ;;; ",this.getDuration());else if("captions"===this.video.textTracks[e].kind||"subtitles"===this.video.textTracks[e].kind){this.logger.warn("find soustitres @ ",this.thumbsTrackIndex,"/",this.video.textTracks.length," >>> ",this.video.textTracks[e]);break}this.logger.info("Stream is completly loaded."),-1!==this.thumbsTrackIndex&&-1!==this.thumbsTrackUrl?this.events.fireEvent(s.PlayerEvents.STREAM_LOADED,this.thumbsTrackIndex):this.events.fireEvent(s.PlayerEvents.STREAM_LOADED,null)}},{key:"SetManuallysubs",value:function(e,t){var n=null,r=null,i=null,a=null,o=0,u=0;if(null!=e)for(o=0;o<e.length;o+=1)r=e[o],(n=document.createElement("track")).kind="subtitles",n.src=r[s.FJCONFIG_SRC],n.srclang=r[s.FJCONFIG_LANG],i=f[r[s.FJCONFIG_LANG]],this.logger.log(" Appending track substitles with Label",i.name),-1===(u=i.name.indexOf(","))&&(u=i.name.indexOf(";")),a=-1===u?i.name:i.name.substr(0,u),n.label=a,t.appendChild(n);else this.logger.debug("no vtt Subs are found in config.")}},{key:"doesTimeMarchesOn",value:function(){var e;if("undefined"!=typeof navigator){if(!navigator.userAgent.match(/Firefox/))return!0;if(e=this.parseFloat(navigator.userAgent.match(/rv:([0-9.]+)/)[1]),!Number.isNaN(e)&&e>=49)return!0}return!1}},{key:"Unload",value:function(){var t,n=this.video;if(!0===this.initialized){for(t=n.cloneNode(!0),n.parentNode.replaceChild(t,n),this.video=t;this.video.hasChildNodes();)this.video.removeChild(this.video.firstChild);this.video.removeAttribute("poster"),this.CurrentStreamType===this.StreamTypes.MP4_CLEAR?(this.video.removeEventListener("loadedmetadata",this.onStreamInitialized),this.video.removeEventListener("play",this.onPlayStart),this.video.removeEventListener("pause",this.onPlaybackPaused),this.video.removeEventListener("ended",this.onPlaybackEnded),this.video.removeEventListener("timeupdate",this.onPlayTimeUpdate),this.video.removeEventListener("seeking",this.onSeeking),this.video.removeEventListener("seeked",this.onSeeked),this.video.removeEventListener("error",this.onError)):(this.DashPlayer.removeEventListener("error",this.onShakaError),this.DashPlayer.removeEventListener("adaptation",this.onShakaEvent),this.DashPlayer.removeEventListener("buffering",this.onShakaEvent),this.DashPlayer.removeEventListener("emsg",this.onShakaEvent),this.DashPlayer.removeEventListener("expirationupdated",this.onShakaEvent),this.DashPlayer.removeEventListener("largegap",this.onShakaEvent),this.DashPlayer.removeEventListener("loading",this.onShakaEvent),this.DashPlayer.removeEventListener("texttrackvisibility",this.onShakaEvent),this.DashPlayer.removeEventListener("timelineregionadded",this.onShakaEvent),this.DashPlayer.removeEventListener("timelineregionenter",this.onShakaEvent),this.DashPlayer.removeEventListener("timelineregionexit",this.onShakaEvent),this.DashPlayer.removeEventListener("trackschanged",this.onShakaEvent),this.DashPlayer.removeEventListener("unloading",this.onShakaEvent),this.DashPlayer.destroy(),this.DashPlayer=null),this.CurrentStreamType=e.UNKNOWN}else this.logger.warn("not yet this.initialized!")}},{key:"load",value:function(e,t,n,r,i){var a=this,o=null,s=document.createElement("source");s.type=t,s.src=e,this.video.preload=!0,this.video.controls=!1,this.video.autoplay=i,this.video.appendChild(s),null!=n&&""!==n&&this.video.setAttribute("poster",n),this.CurrentStreamType=this.StreamTypes.MP4_CLEAR,null!==this.thumbsTrackUrl&&void 0!==this.thumbsTrackUrl?((o=document.createElement("track")).kind="metadata",o.src=this.thumbsTrackUrl,this.logger.log(" Appending source thumbs to video",o),this.video.appendChild(o)):this.logger.warn(" Thumbs was not found ."),this.SetManuallysubs(r,this.video),this.video.addEventListener("loadedmetadata",(function(){return a.onStreamInitialized()}),!1),this.video.addEventListener("play",(function(){return a.onPlayStart()}),!1),this.video.addEventListener("pause",(function(){return a.onPlaybackPaused()}),!1),this.video.addEventListener("ended",(function(){return a.onPlaybackEnded()}),!1),this.video.addEventListener("timeupdate",(function(){return a.onPlayTimeUpdate()}),!1),this.video.addEventListener("seeked",(function(){return a.onSeeked()}),!1),this.video.addEventListener("seeking",(function(){return a.onSeeking()}),!1),this.video.addEventListener("error",(function(e){return a.onError(e)}),!1),this.logger.info(" Clear MP4 stream is loaded @ ",e)}},{key:"responsefilerCbx",value:function(e,t){e===i.net.NetworkingEngine.RequestType.MANIFEST&&(this.FjSessionToken=t.headers["session-token"],this.logger.warn(" UPDATING Session Token : ",this.FjSessionToken))}},{key:"loadDash",value:function(e,t,n,r,a,o){var f=this,u=null;null!=t&&""!==t&&this.video.setAttribute("poster",t),this.video.preload=!0,this.video.controls=!1,this.video.autoplay=a,null===this.DashPlayer&&(this.DashPlayer=new i.Player(this.video)),this.video.addEventListener("loadedmetadata",(function(){return f.onStreamInitialized()}),!1),this.video.addEventListener("play",(function(){return f.onPlayStart()}),!1),this.video.addEventListener("pause",(function(){return f.onPlaybackPaused()}),!1),this.video.addEventListener("ended",(function(){return f.onPlaybackEnded()}),!1),this.video.addEventListener("timeupdate",(function(){return f.onPlayTimeUpdate()}),!1),this.video.addEventListener("seeked",(function(){return f.onSeeked()}),!1),this.video.addEventListener("seeking",(function(){return f.onSeeking()}),!1),this.video.addEventListener("error",(function(e){return f.onError(e)}),!1),this.DashPlayer.addEventListener("error",(function(e){return f.onShakaError(e)})),this.DashPlayer.addEventListener("adaptation",(function(e){return f.onShakaEvent(e)})),this.DashPlayer.addEventListener("buffering",(function(e){return f.onShakaEvent(e)})),this.DashPlayer.addEventListener("emsg",(function(e){return f.onShakaEvent(e)})),this.DashPlayer.addEventListener("expirationupdated",(function(e){return f.onShakaEvent(e)})),this.DashPlayer.addEventListener("largegap",(function(e){return f.onShakaEvent(e)})),this.DashPlayer.addEventListener("loading",(function(e){return f.onShakaEvent(e)})),this.DashPlayer.addEventListener("texttrackvisibility",(function(e){return f.onShakaEvent(e)})),this.DashPlayer.addEventListener("timelineregionadded",(function(e){return f.onShakaEvent(e)})),this.DashPlayer.addEventListener("timelineregionenter",(function(e){return f.onShakaEvent(e)})),this.DashPlayer.addEventListener("timelineregionexit",(function(e){return f.onShakaEvent(e)})),this.DashPlayer.addEventListener("trackschanged",(function(e){return f.onShakaEvent(e)})),this.DashPlayer.addEventListener("unloading",(function(e){return f.onShakaEvent(e)})),this.CurrentUrl=e,null==o?(this.CurrentStreamType=this.StreamTypes.DASH_CLEAR,this.CurrentProtection=null,this.logger.info(" Loading CLEAR Dash @",this.CurrentUrl)):(this.CurrentStreamType=this.StreamTypes.DASH_ENCRYPTED,this.CurrentProtection=o,this.logger.info(" drm are ::: ",o),this.DashPlayer.configure({drm:{servers:{"org.w3.clearkey":o[s.FJCONFIG_DRM_LICENSE_SERVER]}}}),this.logger.debug(" To Encrypt : using Forja System Key !."),this.logger.info(" Loading ENCRYPTED Dash @",this.CurrentUrl)),this.DashPlayer.getNetworkingEngine().registerRequestFilter((function(e,t){e!==i.net.NetworkingEngine.RequestType.MANIFEST&&e!==i.net.NetworkingEngine.RequestType.LICENSE||(t.headers["Player-Key"]=f.FjPlayerId,t.headers["Access-Control-Allow-Origin"]="*"),e===i.net.NetworkingEngine.RequestType.SEGMENT&&(t.headers["Player-Key"]=f.FjPlayerId,t.headers["Session-Token"]=f.FjSessionToken)})),this.DashPlayer.getNetworkingEngine().registerResponseFilter(this.responsefilerCbx),null!==this.thumbsTrackUrl&&void 0!==this.thumbsTrackUrl?((u=document.createElement("track")).kind="metadata",u.src=this.thumbsTrackUrl,this.logger.log(" Appending source thumbs to video",u),this.video.appendChild(u)):this.logger.debug(" Thumbs was not found ."),this.SetManuallysubs(n,this.video),this.DashPlayer.load(e).then((function(){f.logger.log("The this.videohas now been loaded!")})).catch(this.onShError),this.logger.info(" DASH stream is loaded @ ",e)}}])&&r(t.prototype,n),Object.defineProperty(t,"prototype",{writable:!1}),e}();e.exports=u},857:(e,t,n)=>{function r(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}var i=n(549),a=n(280),o=n(418),s=n(507),f=n(630),u=n(989),l=n(674),c=n(87),d=function(){function e(t,n){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.logger=new i(this),this.playerPlaylist=null,this.playingList=!1,this.loopingList=!1,this.currentPlaying=-1,this.isPlaying=!1,this.currentIsDash=!1,this.playlistLoaded=!1,this.playingAds=!1,this.videoWidth="100%",this.videoHeight="",this.events=new o,this.videoContainerId=n,this.fjPlayerId=t,this.OverlaysMgr=new a,this.AdsMgr=new l,this.supportsVideo=!!document.createElement("video").canPlayType,this.playerUi=new u(this.videoContainerId,this.videoWidth,this.videoHeight),this.playerMedia=new f(this.fjPlayerId)}var t,n,d;return t=e,d=[{key:"duration",value:function(e){var t=parseInt(e,10),n=Math.floor(t/3600),r=Math.floor((t-3600*n)/60),i=t-3600*n-60*r;return r<10&&(r="0".concat(r)),i<10&&(i="0".concat(i)),0===n?"".concat(r,":").concat(i):(n<10&&(n="0".concat(n)),"".concat(n,":").concat(r,":").concat(i))}}],(n=[{key:"playItem",value:function(e,t){var n=!0;if(this.logger.info("Start Playling Item itemPosition : ".concat(e)),!0!==t&&(n=!1),this.currentPlaying=e,!this.playlistLoaded)return this.logger.error(" No playlist is loaded on player "),!1;var r=this.playerPlaylist.getItem(e);return null===r?(this.logger.error(" No item to play at index ",this.currentPlaying," playlist is sized ",this.playerPlaylist.getSize()),!1):(this.playerUi.setTitle(r[s.FJCONFIG_TITLE],r[s.FJCONFIG_SHOW_UP_TITLE]),this.playerUi.setShareIcon(r[s.FJCONFIG_SHARE]),this.playerUi.setDownloadIcon(r[s.FJCONFIG_DOWNLOAD]),this.playerUi.setBackIcon(r[s.FJCONFIG_BACK]),this.playerMedia.setThumbsUrl(r[s.FJCONFIG_THUMBS]),this.playerMedia.Unload(),null!==r[s.FJCONFIG_SRC]||void 0!==r[s.FJCONFIG_SRC]?(r[s.FJCONFIG_TYPE]===s.FJCONFIG_TYPE_DASH?(this.currentIsDash=!0,this.logger.warn(" will play a clear dash on caption obect ",this.playerUi.getVideoCaption()),this.playerMedia.loadDash(r[s.FJCONFIG_SRC],r[s.FJCONFIG_POSTER],r[s.FJCONFIG_SUBTITLES],this.playerUi.getVideoCaption(),n,r[s.FJCONFIG_DRM])):this.playerMedia.load(r[s.FJCONFIG_SRC],r[s.FJCONFIG_TYPE],r[s.FJCONFIG_POSTER],r[s.FJCONFIG_SUBTITLES],n),!0):(this.logger.error("src of item is not valid , at index ",this.currentPlaying),!1))}},{key:"playNext",value:function(){return this.playlistLoaded?(this.playingList=!0,this.currentPlaying+=1,this.logger.log(" will play next",this.currentPlaying," in playlist is loaded on player "),this.playerPlaylist.getSize()<this.currentPlaying?(!0===this.loopingList&&(this.currentPlaying=0),!1):(this.playItem(this.currentPlaying),this.playerUi.ShowVideo(),this.playerUi.onplaypauseClick(),!0)):(this.logger.error(" No playlist is loaded on player "),!1)}},{key:"AdsEventing",value:function(e,t){if(this.logger.debug(" just a new event from this.AdsMgr ",e,t),this.logger.warn("Sending Ads Event >>>>>>>>>>>>>>>>> ",e),this.events.fireEvent(e),e===s.AdsEvents.ADS_PLAYBACK_ENDED){if(this.playingAds=!1,t===s.AdsEnum.ADS_PRE_ROLL){if(!0===this.AdsMgr.CheckPreAds())return;return this.playerUi.ShowVideo(),this.playerMedia.play(),void this.playerUi.toggleplaypauseBtn()}if(t===s.AdsEnum.ADS_POST_ROLL){if(!0===this.AdsMgr.CheckPostAds())return;!0===this.playingList&&(this.playerUi.toggleplaypauseBtn(),this.playerUi.ShowVideo(),this.playNext())}else t===s.AdsEnum.ADS_MID_ROLL?(this.playerUi.ShowVideo(),this.playerMedia.play(),this.playerUi.toggleplaypauseBtn()):this.logger.warn(" unknown Ads type !! ",t)}e===s.AdsEvents.ADS_PLAYBACK_STARTED&&(this.playingAds=!0,this.playerMedia.pause(),this.playerUi.hideVideo())}},{key:"midPlayingChecks",value:function(e){return this.OverlaysMgr.CheckOverlays(e),this.AdsMgr.CheckMidAds(e)}},{key:"playPrev",value:function(){return this.playlistLoaded?(this.playingList=!0,this.currentPlaying-=1,this.logger.log(" will play next",this.currentPlaying," in playlist is loaded on player "),this.currentPlaying<0?(!0===this.loopingList&&(this.currentPlaying=this.playerPlaylist.getSize()-1),!1):(this.playItem(this.currentPlaying),this.playerUi.ShowVideo(),this.playerUi.onplaypauseClick(),!0)):(this.logger.error(" No playlist is loaded on player "),!1)}},{key:"MplayerEventing",value:function(e,t){var n,r;if(e===s.PlayerEvents.PLAYBACK_TIME_UPDATE)this.playerUi.UpdateProgress(this.playerMedia.time()),r=this.playerUi.getVideo(),this.playerUi.setDuration(this.playerMedia.getDuration()),this.midPlayingChecks(Math.round(this.playerMedia.time()));else if(e===s.PlayerEvents.PLAYBACK_ENDED&&(this.isPlaying=!1,!0===this.AdsMgr.CheckPostAds()?this.logger.debug("starting post ads !!"):this.playingList,this.playNext()),e===s.PlayerEvents.PLAYBACK_PAUSED&&(this.isPlaying=!1),e===s.PlayerEvents.PLAYBACK_STARTED&&(1===t&&(this.isPlaying=!0,!1===this.AdsMgr.CheckPreAds()?this.playerMedia.play():this.playerMedia.pause()),this.playerUi.HideSpinner(),this.playerUi.toggleplaypauseBtn(),this.playerUi.setDuration(this.playerMedia.getDuration())),e===s.PlayerEvents.STREAM_LOADED&&(!1===this.isPlaying&&(this.logger.warn(" Already Playing ..............."),this.playerUi.ShowSpinner()),this.playerUi.SetupThumbsManager(this.playerMedia.getDuration(),t),this.playerUi.SetupSubsAudsManager(this.playerMedia),this.playerUi.setDuration(this.playerMedia.getDuration()),n=this.playerPlaylist.getItem(this.currentPlaying),this.OverlaysMgr.Setup(n[s.FJCONFIG_OVERLAYS]),r=this.playerUi.getVideo(),this.AdsMgr.Setup(n[s.FJCONFIG_ADS],r.videoWidth,r.videoHeight)),e===s.PlayerEvents.PLAYBACK_SEEKING&&(this.isPlaying=!1,this.playerUi.ShowSpinner()),e===s.PlayerEvents.PLAYBACK_SEEKED&&(this.isPlaying=!0,this.playerUi.HideSpinner()),void 0!==e&&(this.logger.info("[Event] [trigger] > ",e),this.events.fireEvent(e)),e===s.PlayerEvents.PLAYBACK_ERROR)throw this.playerUi.goForError(),new c(t.code,t.type,t.message,document.getElementById(this.playerUi.getErrorDivId()))}},{key:"loadPlaylist",value:function(e){var t=this;return this.logger.log(" start function "),this.supportsVideo?e.getSize()>0?(this.playerPlaylist=e,this.playlistLoaded=!0,this.playerUi.initialize(this),this.playerMedia.on(s.PlayerEvents.TRACKS_ADDED,(function(e,n){return t.MplayerEventing(e,n)})),this.playerMedia.on(s.PlayerEvents.STREAM_LOADED,(function(e,n){return t.MplayerEventing(e,n)})),this.playerMedia.on(s.PlayerEvents.PLAYBACK_STARTED,(function(e,n){return t.MplayerEventing(e,n)})),this.playerMedia.on(s.PlayerEvents.PLAYBACK_ERROR,(function(e,n){return t.MplayerEventing(e,n)})),this.playerMedia.on(s.PlayerEvents.PLAYBACK_PAUSED,(function(e,n){return t.MplayerEventing(e,n)})),this.playerMedia.on(s.PlayerEvents.PLAYBACK_ENDED,(function(e,n){return t.MplayerEventing(e,n)})),this.playerMedia.on(s.PlayerEvents.PLAYBACK_SEEKED,(function(e,n){return t.MplayerEventing(e,n)})),this.playerMedia.on(s.PlayerEvents.PLAYBACK_SEEKING,(function(e,n){return t.MplayerEventing(e,n)})),this.playerMedia.on(s.PlayerEvents.PLAYBACK_TIME_UPDATE,(function(e,n){return t.MplayerEventing(e,n)})),this.AdsMgr.on(s.AdsEvents.ADS_PLAYBACK_STARTED,(function(e,n){return t.AdsEventing(e,n)})),this.AdsMgr.on(s.AdsEvents.ADS_PLAYBACK_ERROR,(function(e,n){return t.AdsEventing(e,n)})),this.AdsMgr.on(s.AdsEvents.ADS_PLAYBACK_ENDED,(function(e,n){return t.AdsEventing(e,n)})),this.playerMedia.initialize(this.playerUi.getVideo()),this.OverlaysMgr.initialize(document.getElementById(this.playerUi.getOverlaysContainerDivId())),this.AdsMgr.initialize(document.getElementById(this.playerUi.getAdsContainerDivId())),!0):(this.logger.error(" playlist is empty: ",e.getSize()),this.playlistLoaded=!1,!1):(this.logger.error(" browser did not support video !"),!1)}},{key:"playAt",value:function(e,t){var n=!0;return!0!==t&&(n=!1),this.playingList=!1,this.playItem(e,n)}},{key:"startPlaylist",value:function(e,t,n,r){var i=!0;if(!0!==r&&(i=!1),this.currentPlaying=e,!this.playlistLoaded)return this.logger.error(" No playlist is loaded on player "),!1;var a=this.playerPlaylist.getItem(this.currentPlaying);return void 0===a?(this.logger.error(" No item to play at index ",this.currentPlaying," playlist is sized ",this.playerPlaylist.getSize()),!1):(this.playingList=!0,this.loopingList=t,this.playerUi.setTitle(a[s.FJCONFIG_TITLE],a[s.FJCONFIG_SHOW_UP_TITLE]),this.playerUi.setShareIcon(a[s.FJCONFIG_SHARE]),this.playerUi.setDownloadIcon(a[s.FJCONFIG_DOWNLOAD]),this.playerUi.setBackIcon(a[s.FJCONFIG_BACK]),this.playerMedia.setThumbsUrl(a[s.FJCONFIG_THUMBS]),null!==a[s.FJCONFIG_SRC]||void 0!==a[s.FJCONFIG_SRC]?(a[s.FJCONFIG_TYPE]===s.FJCONFIG_TYPE_DASH?(this.currentIsDash=!0,this.playerMedia.loadDash(a[s.FJCONFIG_SRC],a[s.FJCONFIG_POSTER],a[s.FJCONFIG_SUBTITLES],this.playerUi.getVideoCaption(),i,a[s.FJCONFIG_DRM])):this.playerMedia.load(a[s.FJCONFIG_SRC],a[s.FJCONFIG_TYPE],a[s.FJCONFIG_POSTER],a[s.FJCONFIG_SUBTITLES],i),!0):(this.logger.error("src of item is not valid , at index ",this.currentPlaying),!1))}},{key:"seek",value:function(e){this.playerMedia.seek(e)}},{key:"reset",value:function(){this.playerMedia.Unload(),this.playerUi.reset()}},{key:"play",value:function(){this.playerMedia.pause(),!1===this.AdsMgr.CheckPreAds()&&this.playerMedia.play(),this.playerUi.toggleplaypauseBtn()}},{key:"pause",value:function(){this.playerMedia.pause(),this.playerUi.toggleplaypauseBtn()}},{key:"isPlayingAds",value:function(){return this.playingAds}},{key:"isReady",value:function(){return this.playlistLoaded}},{key:"isPaused",value:function(){return this.playerMedia.isPaused()}},{key:"isEnded",value:function(){return this.playerMedia.isEnded()}},{key:"on",value:function(e,t){return this.events.on(e,t)}},{key:"off",value:function(e,t){return this.events.off(e,t)}}])&&r(t.prototype,n),d&&r(t,d),Object.defineProperty(t,"prototype",{writable:!1}),e}();e.exports=d},154:(e,t,n)=>{function r(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}var i=n(549),a=n(507),o=n(614),s=function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.logger=new i(this),this.items=[]}var t,n;return t=e,(n=[{key:"getSize",value:function(){return this.items.length}},{key:"getInfo",value:function(){var e={};return e.size=this.items.length,e.items=this.items,e}},{key:"getItem",value:function(e){return this.logger.info(" Getting item at position ",e),this.items.length>e?this.items[e]:(this.logger.error(" No item to play at index ",e," playlist is sized ",this.items.length),null)}},{key:"checkSubtitle",value:function(e){var t;return!(null==e||(e[a.FJCONFIG_LANG]?(t=o[e[a.FJCONFIG_LANG]],this.logger.log(t," playlist Subtitle lang is",e[a.FJCONFIG_LANG]),null==t?(this.logger.error("No ISO code of lang ",t),1):e[a.FJCONFIG_SRC]?(this.logger.log(" playlist Subtitle src is",e[a.FJCONFIG_SRC]),e[a.FJCONFIG_LABEL]?(this.logger.log(" playlist Subtitle label is",e[a.FJCONFIG_LABEL]),0):(this.logger.error("Empty Subtitle label "),1)):(this.logger.error("Empty Subtitle src "),1)):(this.logger.error("Empty Subtitle lang "),1)))}},{key:"checkOverlay",value:function(e){var t=e;return!(null==e||(null==(t=e[a.FJCONFIG_DATA])||""===t?(this.logger.error("Empty Overlay data"),1):(this.logger.log(" playlist Overlay data ",t),null==(t=e[a.FJCONFIG_URL])||""===t?(this.logger.error("Empty Overlay url"),1):(this.logger.log(" ok playlist Overlay url ",t),null==(t=e[a.FJCONFIG_DURATION])||""===t?(this.logger.error("Empty Overlay duration "),1):t!==parseInt(t,10)?(this.logger.error(t,":Empty Overlay duration is not integer !"),1):(this.logger.log(" integer playlist Overlay duration ",t),null==(t=e[a.FJCONFIG_SHOW_AT])||""===t?(this.logger.error("Empty Overlay show at "),1):t!==parseInt(t,10)?(this.logger.error(t,":Empty Overlay show at is not integer !"),1):(this.logger.log(" integer playlist Overlay show at ",t),0))))))}},{key:"checkDrm",value:function(e){var t=null;return null!=e&&(this.logger.debug("Cheking DRM > ",e),t=e[a.FJCONFIG_DRM_SCHEME],this.logger.info("Cheking DRM scheme > ",t),null==t||t!==a.FJCONFIG_DRM_SCHEME_FORJA?(this.logger.error("Unsupported DRM Scheme ! "),!1):(this.logger.log(" Supported DRM scheme ",t),t=e[a.FJCONFIG_DRM_LICENSE_SERVER],this.logger.info("Cheking DRM LA Server > ",t),null==t||""===t?(this.logger.error("Empty LA Server ! "),!1):(this.logger.log(" playlist LA Server is ",t),!0)))}},{key:"checkAds",value:function(e){return!(null==e||(-1===a.FJCONFIG_TYPES.indexOf(e[a.FJCONFIG_TYPE])?(this.logger.error("BAD type Value ! "),1):e[a.FJCONFIG_SRC]?-1===a.FJCONFIG_ADS_CLASSES.indexOf(e[a.FJCONFIG_CLASS])?(this.logger.error(e[a.FJCONFIG_CLASS],":BAD class Value ! "),1):e[a.FJCONFIG_CLASS]!==a.FJCONFIG_ADS_CLASS_MID_ROLL||null!==e[a.FJCONFIG_SHOW_AT]&&void 0!==e[a.FJCONFIG_SHOW_AT]?void 0===e[a.FJCONFIG_URL]||null===e[a.FJCONFIG_URL]||""===e[a.FJCONFIG_URL]?(this.logger.error("Empty Overlay url"),1):(this.logger.log(" playlist Overlay url ",e[a.FJCONFIG_URL]),"true"!==e[a.FJCONFIG_CAN_ESCAPE]&&!0!==e[a.FJCONFIG_CAN_ESCAPE]&&"false"!==e[a.FJCONFIG_CAN_ESCAPE]&&!1!==e[a.FJCONFIG_CAN_ESCAPE]?(this.logger.warn("can Escape is missing , will be set to true ! "),e[a.FJCONFIG_CAN_ESCAPE]=!0):this.logger.debug("can Escape is already there : ",e[a.FJCONFIG_CAN_ESCAPE]),0):(this.logger.error("Missing Show At for mid Roll Class ! "),1):(this.logger.error("BAD src Value ! "),1)))}},{key:"checkItem",value:function(e){var t,n,r,i={};if(null==e)return this.logger.error(" Item is NULL !",e),!1;if(this.logger.log(" class of item : ",e[a.FJCONFIG_CLASS]),-1===a.FJCONFIG_CLASSES.indexOf(e[a.FJCONFIG_CLASS]))return this.logger.error("BAD class Value ! "),!1;if(this.logger.log(" type of item ",e[a.FJCONFIG_TYPE]),-1===a.FJCONFIG_TYPES.indexOf(e[a.FJCONFIG_TYPE]))return this.logger.error("BAD type Value ! "),!1;if(this.logger.log(" title of item ",e[a.FJCONFIG_TITLE]),void 0===e[a.FJCONFIG_TITLE]||null===e[a.FJCONFIG_TITLE]||""===e[a.FJCONFIG_TITLE]||!e[a.FJCONFIG_TITLE])return this.logger.error("BAD title Value ! "),!1;if(this.logger.log(" src of item ",e[a.FJCONFIG_SRC]),void 0===e[a.FJCONFIG_SRC]||null===e[a.FJCONFIG_SRC]||""===e[a.FJCONFIG_SRC]||!e[a.FJCONFIG_SRC])return this.logger.error("BAD src Value ! "),!1;if(this.logger.log(" poster of item ",e[a.FJCONFIG_POSTER]),this.logger.log(" thumbs of item ",e[a.FJCONFIG_THUMBS]),this.logger.log(" download icon ",e[a.FJCONFIG_DOWNLOAD]),this.logger.log(" share icon ",e[a.FJCONFIG_SHARE]),this.logger.log(" Back icon ",e[a.FJCONFIG_BACK]),this.logger.log(" UP TITLE ",e[a.FJCONFIG_SHOW_UP_TITLE]),null!=(r=e[a.FJCONFIG_ADS])&&r.length>0)for(n=0;n<r.length;n+=1)if(i=r[n],!1===this.checkAds(i))return!1;if(null!=(t=e[a.FJCONFIG_DRM])&&!1===this.checkDrm(t))return!1;if(null!=(r=e[a.FJCONFIG_SUBTITLES])&&r.length>0)for(n=0;n<r.length;n+=1)if(i=r[n],!1===this.checkSubtitle(i))return!1;if(null!=(r=e[a.FJCONFIG_OVERLAYS])&&r.length>0)for(n=0;n<r.length;n+=1)if(i=r[n],!1===this.checkOverlay(i))return!1;return!0}},{key:"addItem",value:function(e){return!0===this.checkItem(e)?(this.items.push(e),this.logger.info("Item added ok ",this.items.length),!0):(this.logger.error(" Failed to add item"),!1)}},{key:"rmItemIndex",value:function(e){return void 0===this.items[e]||e<0?(this.logger.error(" Failed to remove item"),!1):(this.items.splice(e,1),this.logger.info("Item removed ok ",this.items.length),!0)}},{key:"rmItem",value:function(e){var t=this.items.indexOf(e);return t<0?(this.logger.error(" Failed to remove item"),!1):(this.items.splice(t,1),this.logger.info("Item removed ok ",this.items.length),!0)}},{key:"addSubtitle",value:function(e,t){var n=this.items[e];if(void 0===n)return!1;if(!1===this.checkSubtitle(t))return!1;var r=n[a.FJCONFIG_SUBTITLES];return void 0!==r&&0!==r.length||(r=[]),r.push(t),!0}},{key:"addOverlay",value:function(e,t){var n=this.items[e];if(void 0===n)return!1;if(!1===this.checkOverlay(t))return!1;var r=n[a.FJCONFIG_OVERLAYS];return void 0!==r&&0!==r.length||(r=[]),r.push(t),!0}},{key:"setDrm",value:function(e,t){var n=this.items[e];if(void 0===n)return!1;if(!1===this.checkDrm(t))return!1;var r=n[a.FJCONFIG_DRM];return void 0!==r&&0!==r.length||(r=[]),r.push(t),!0}},{key:"addAds",value:function(e,t){var n=this.items[e];if(void 0===n)return!1;if(!1===this.checkAds(t))return!1;var r=n[a.FJCONFIG_ADS];return void 0!==r&&0!==r.length||(r=[]),r.push(t),!0}}])&&r(t.prototype,n),Object.defineProperty(t,"prototype",{writable:!1}),e}();e.exports=s},674:(e,t,n)=>{function r(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}var i=n(549),a=n(507),o=n(314),s=n(418),f=function(){function e(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.logger=new i(this),this.settled=!1,this.events=new s,this.mainVideoWidth=0,this.mainVideoHeight=0,this.midAds=[],this.postAds=[],this.preAds=[],this.localAds=null,this.AdsContainerdiv=null}var t,n;return t=e,(n=[{key:"StopAds",value:function(e,t){var n,r=this.AdsContainerdiv,i=this.midAds[e];if(!0===this.settled){for(i=t===a.AdsEnum.ADS_PRE_ROLL?this.preAds[e]:t===a.AdsEnum.ADS_MID_ROLL?this.midAds[e]:this.postAds[e],this.logger.info(e,"stopping Ads ",i[a.FJCONFIG_URL]," @@ ",i[a.FJCONFIG_SHOW_AT]),n=(r=this.AdsContainerdiv).cloneNode(!0),r.parentNode.replaceChild(n,r),this.AdsContainerdiv=n;this.AdsContainerdiv.hasChildNodes();)this.AdsContainerdiv.removeChild(this.AdsContainerdiv.firstChild);this.AdsContainerdiv.innerHTML="",this.AdsContainerdiv.style.display="none",this.events.fireEvent(a.AdsEvents.ADS_PLAYBACK_ENDED,t)}else this.logger.warn(" AdsMgr is not yet this.settled!")}},{key:"StartAds",value:function(e,t){var n=this,r=!1,i=document.createElement("div"),s=document.createElement("span"),f=document.createElement("video"),u=document.createElement("source"),l=this.midAds[e];!0===this.settled?(t===a.AdsEnum.ADS_PRE_ROLL?(l=this.preAds[e],this.logger.info(e,"starting PRE Ads ",this.preAds),this.logger.info(e,"starting PRE Ads ",l[a.FJCONFIG_SRC])):t===a.AdsEnum.ADS_MID_ROLL?(l=this.midAds[e],this.logger.info(e,"starting MId Ads ",l[a.FJCONFIG_SRC]," @@ ",l[a.FJCONFIG_SHOW_AT])):(l=this.postAds[e],this.logger.info(e,"starting POST Ads ",l[a.FJCONFIG_SRC])),l.started=!0,this.events.fireEvent(a.AdsEvents.ADS_PLAYBACK_STARTED,t),f.preload=!0,f.controls=!1,f.autoplay=!1,f.setAttribute("width",this.mainVideoWidth),f.setAttribute("height",this.mainVideoHeight),this.logger.warn(" ads video width/height is ",this.mainVideoWidth,this.mainVideoHeight),i.innerHTML="".concat('<span style="color: rgb(119, 255, 119); font-size: 0.95em;">Annonce</span> This an Ads for <span style="color: rgb(255, 255, 0)">').concat(l[a.FJCONFIG_URL],"</span>"),this.AdsContainerdiv.style.cursor="pointer",this.logger.log(" Can escape this starting Ads ",l[a.FJCONFIG_CAN_ESCAPE]),i.style.display="block",i.classList.add("over-DL"),u.src=l[a.FJCONFIG_SRC],u.type=l[a.FJCONFIG_TYPE],f.appendChild(u),this.AdsContainerdiv.appendChild(f),i.appendChild(s),this.AdsContainerdiv.appendChild(i),this.AdsContainerdiv.style.display="block",f.play(),f.addEventListener("timeupdate",(function(){"true"===l[a.FJCONFIG_CAN_ESCAPE]||!0===l[a.FJCONFIG_CAN_ESCAPE]?f.currentTime>5?r||(s.innerHTML=', Can be escapped <span class="fj-icon-playNext" ></span>',s.addEventListener("click",(function(){n.StopAds(e,t)})),r=!0):s.innerHTML=", Can be escapped in ".concat(Math.round(5-f.currentTime)," secondes ."):s.innerHTML=", it ends after ".concat(o.duration(Math.round(f.duration-f.currentTime))," .")})),f.addEventListener("click",(function(){l.clicked+=1,n.events.fireEvent(a.AdsEvents.ADS_USER_CLICKED),window.open(l[a.FJCONFIG_URL],"_blank")})),f.addEventListener("ended",(function(){n.StopAds(e,t)}))):this.logger.warn(" AdsMgr is not yet cettled !")}},{key:"CheckMidAds",value:function(e){var t=0,n=null;if(!0===this.settled)for(t=0;t<this.midAds.length;t+=1)n=this.midAds[t],e===parseInt(n[a.FJCONFIG_SHOW_AT],10)&&(this.logger.info(t," starting Ads Now .. "),!1===this.midAds[t].started?(this.logger.info(t," starting a new Mid Ads .. "),this.midAds[t].started=!0,this.StartAds(t,a.AdsEnum.ADS_MID_ROLL)):this.logger.info(t," already started ",n[a.FJCONFIG_URL]," @@ ",n[a.FJCONFIG_SHOW_AT]))}},{key:"CheckPreAds",value:function(){var e=0,t=null;if(this.logger.info(" Checking Pre Ads Now .. "),!0!==this.settled)return this.logger.warn("not yet Settled !"),!1;for(e=0;e<this.preAds.length;e+=1){if(t=this.preAds[e],this.logger.info(e," starting Pre Ads Now .. "),!1===this.preAds[e].started)return this.logger.info(e," starting a new Pre Ads .. @",e),this.preAds[e].started=!0,this.StartAds(e,a.AdsEnum.ADS_PRE_ROLL),!0;this.logger.info(e,"Pre already started ",t[a.FJCONFIG_URL]," @@ ",t[a.FJCONFIG_SHOW_AT])}return!1}},{key:"CheckPostAds",value:function(){var e=0,t=null;if(this.logger.info(" Checking Post Ads Now .. "),!0!==this.settled)return this.logger.warn(" AdsMgr is not yet this.settled!"),!1;for(e=0;e<this.postAds.length;e+=1){if(t=this.postAds[e],this.logger.info(e," starting Pre Ads Now .. "),!1===this.postAds[e].started)return this.logger.info(e," starting a new Post Ads .. "),this.postAds[e].started=!0,this.StartAds(e,a.AdsEnum.ADS_POST_ROLL),!0;this.logger.info(e,"Post already started ",t[a.FJCONFIG_URL]," @@ ",t[a.FJCONFIG_SHOW_AT])}return!1}},{key:"initialize",value:function(e){this.AdsContainerdiv=e}},{key:"Setup",value:function(e,t,n){var r,i,o,s=0;if(null!=e){for(this.localAds=e,this.mainVideoWidth=t,this.mainVideoHeight=n,s=0;s<this.localAds.length;s+=1)(o=(i=this.localAds[s])[a.FJCONFIG_CLASS])===a.FJCONFIG_ADS_CLASS_PRE_ROLL?(this.logger.debug(" found a pre ads !"),r=this.preAds.push(i),this.preAds[r-1].started=!1,this.preAds[r-1].clicked=0):o===a.FJCONFIG_ADS_CLASS_POST_ROLL?(this.logger.debug(" found a post ads !"),r=this.postAds.push(i),this.postAds[r-1].started=!1,this.postAds[r-1].clicked=0):(this.logger.debug(" found a mid ads !"),r=this.midAds.push(i),this.midAds[r-1].started=!1,this.midAds[r-1].clicked=0);this.settled=!0,this.logger.info("Ads Setup is this.settled",this.settled),this.logger.warn("Checking PRE ROLL Ads .. ",this.preAds.length),this.logger.warn("Checking MID ROLL Ads .. ",this.midAds.length),this.logger.warn("Checking POST ROLL Ads .. ",this.postAds.length)}else this.settled=!1}},{key:"on",value:function(e,t){return this.events.on(e,t)}},{key:"off",value:function(e,t){return this.events.off(e,t)}}])&&r(t.prototype,n),Object.defineProperty(t,"prototype",{writable:!1}),e}();e.exports=f},3:(e,t,n)=>{function r(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}var i=n(549);n(899);var a=funct