videojs-contrib-hls
Version:
Play back HLS with video.js, even where it's not natively supported
2 lines • 170 kB
JavaScript
!function e(t,i,r){function n(s,o){if(!i[s]){if(!t[s]){var u="function"==typeof require&&require;if(!o&&u)return u(s,!0);if(a)return a(s,!0);var d=new Error("Cannot find module '"+s+"'");throw d.code="MODULE_NOT_FOUND",d}var l=i[s]={exports:{}};t[s][0].call(l.exports,function(e){var i=t[s][1][e];return n(i?i:e)},l,l.exports,e,t,i,r)}return i[s].exports}for(var a="function"==typeof require&&require,s=0;s<r.length;s++)n(r[s]);return n}({1:[function(e,t,i){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(i,"__esModule",{value:!0});var n=function(){function e(e,t){var i=[],r=!0,n=!1,a=void 0;try{for(var s,o=e[Symbol.iterator]();!(r=(s=o.next()).done)&&(i.push(s.value),!t||i.length!==t);r=!0);}catch(e){n=!0,a=e}finally{try{!r&&o.return&&o.return()}finally{if(n)throw a}}return i}return function(t,i){if(Array.isArray(t))return t;if(Symbol.iterator in Object(t))return e(t,i);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}(),a=e(25),s=r(a),o=function(e,t){for(var i=e.cues,r=0;r<i.length;r++){var n=i[r];if(t>=n.adStartTime&&t<=n.adEndTime)return n}return null},u=function(e,t){var i=arguments.length<=2||void 0===arguments[2]?0:arguments[2];if(e.segments)for(var r=i,a=void 0,u=0;u<e.segments.length;u++){var d=e.segments[u];if(a||(a=o(t,r+d.duration/2)),a){if("cueIn"in d){a.endTime=r,a.adEndTime=r,r+=d.duration,a=null;continue}if(r<a.endTime){r+=d.duration;continue}a.endTime+=d.duration}else if("cueOut"in d&&(a=new s.default.VTTCue(r,r+d.duration,d.cueOut),a.adStartTime=r,a.adEndTime=r+parseFloat(d.cueOut),t.addCue(a)),"cueOutCont"in d){var l=void 0,f=void 0,c=d.cueOutCont.split("/").map(parseFloat),h=n(c,2);l=h[0],f=h[1],a=new s.default.VTTCue(r,r+d.duration,""),a.adStartTime=r-l,a.adEndTime=a.adStartTime+f,t.addCue(a)}r+=d.duration}};i.default={updateAdCues:u,findAdCue:o},t.exports=i.default},{}],2:[function(e,t,i){"use strict";Object.defineProperty(i,"__esModule",{value:!0});var r=function(e,t){return e.start(t)+"-"+e.end(t)},n=function(e,t){var i=e.toString(16);return"00".substring(0,2-i.length)+i+(t%2?" ":"")},a=function(e){return e>=32&&e<126?String.fromCharCode(e):"."},s={hexDump:function(e){for(var t=Array.prototype.slice.call(e),i=16,r="",s=void 0,o=void 0,u=0;u<t.length/i;u++)s=t.slice(u*i,u*i+i).map(n).join(""),o=t.slice(u*i,u*i+i).map(a).join(""),r+=s+" "+o+"\n";return r},tagDump:function(e){return s.hexDump(e.bytes)},textRanges:function(e){var t="",i=void 0;for(i=0;i<e.length;i++)t+=r(e,i)+" ";return t}};i.default=s,t.exports=i.default},{}],3:[function(e,t,i){"use strict";Object.defineProperty(i,"__esModule",{value:!0}),i.default={GOAL_BUFFER_LENGTH:30},t.exports=i.default},{}],4:[function(e,t,i){(function(r){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}function a(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(i,"__esModule",{value:!0});var s=function(){function e(e,t){for(var i=0;i<t.length;i++){var r=t[i];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,i,r){return i&&e(t.prototype,i),r&&e(t,r),t}}(),o=e(8),u=n(o),d="undefined"!=typeof window?window.videojs:"undefined"!=typeof r?r.videojs:null,l=n(d),f=["seeking","seeked","pause","playing","error"],c=function(){function e(t){var i=this;a(this,e),this.tech_=t.tech,this.consecutiveUpdates=0,this.lastRecordedTime=null,this.timer_=null,t.debug&&(this.logger_=l.default.log.bind(l.default,"gap-skipper ->")),this.logger_("initialize");var r=function(){return i.waiting_()},n=function(){return i.timeupdate_()},s=function(){return i.cancelTimer_()};this.tech_.on("waiting",r),this.tech_.on("timeupdate",n),this.tech_.on(f,s),this.dispose=function(){i.logger_("dispose"),i.tech_.off("waiting",r),i.tech_.off("timeupdate",n),i.tech_.off(f,s),i.cancelTimer_()}}return s(e,[{key:"waiting_",value:function(){this.tech_.seeking()||this.setTimer_()}},{key:"timeupdate_",value:function(){if(!this.tech_.paused()&&!this.tech_.seeking()){var e=this.tech_.currentTime();5===this.consecutiveUpdates&&e===this.lastRecordedTime?(this.consecutiveUpdates++,this.waiting_()):e===this.lastRecordedTime?this.consecutiveUpdates++:(this.consecutiveUpdates=0,this.lastRecordedTime=e)}}},{key:"cancelTimer_",value:function(){this.consecutiveUpdates=0,this.timer_&&(this.logger_("cancelTimer_"),clearTimeout(this.timer_)),this.timer_=null}},{key:"skipTheGap_",value:function(e){var t=this.tech_.buffered(),i=this.tech_.currentTime(),r=u.default.findNextRange(t,i);this.consecutiveUpdates=0,this.timer_=null,0!==r.length&&i===e&&(this.logger_("skipTheGap_:","currentTime:",i,"scheduled currentTime:",e,"nextRange start:",r.start(0)),this.tech_.setCurrentTime(r.start(0)+u.default.TIME_FUDGE_FACTOR))}},{key:"gapFromVideoUnderflow_",value:function(e,t){for(var i=u.default.findGaps(e),r=0;r<i.length;r++){var n=i.start(r),a=i.end(r);if(t-n<4&&t-n>2)return{start:n,end:a}}return null}},{key:"setTimer_",value:function(){var e=this.tech_.buffered(),t=this.tech_.currentTime(),i=u.default.findNextRange(e,t);if(null===this.timer_){if(0===i.length){var r=this.gapFromVideoUnderflow_(e,t);return void(r&&(this.logger_("setTimer_:","Encountered a gap in video","from: ",r.start,"to: ",r.end,"seeking to current time: ",t),this.tech_.setCurrentTime(t)))}var n=i.start(0)-t;this.logger_("setTimer_:","stopped at:",t,"setting timer for:",n,"seeking to:",i.start(0)),this.timer_=setTimeout(this.skipTheGap_.bind(this),1e3*n,t)}}},{key:"logger_",value:function(){}}]),e}();i.default=c,t.exports=i.default}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],5:[function(e,t,i){(function(t){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function n(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function a(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(i,"__esModule",{value:!0});var s=function(){function e(e,t){for(var i=0;i<t.length;i++){var r=t[i];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,i,r){return i&&e(t.prototype,i),r&&e(t,r),t}}(),o=function(e,t,i){for(var r=!0;r;){var n=e,a=t,s=i;r=!1,null===n&&(n=Function.prototype);var o=Object.getOwnPropertyDescriptor(n,a);if(void 0!==o){if("value"in o)return o.value;var u=o.get;if(void 0===u)return;return u.call(s)}var d=Object.getPrototypeOf(n);if(null===d)return;e=d,t=a,i=s,r=!0,o=d=void 0}},u=e(6),d=r(u),l=e(11),f=r(l),c=e(8),h=r(c),p="undefined"!=typeof window?window.videojs:"undefined"!=typeof t?t.videojs:null,m=r(p),y=e(1),g=r(y),v=3e5,_=void 0,b=function(e,t){if(typeof e!=typeof t)return!0;if(Object.keys(e).length!==Object.keys(t).length)return!0;for(var i in e)if(e[i]!==t[i])return!0;return!1},T=function(e){var t={codecCount:0,videoCodec:null,videoObjectTypeIndicator:null,audioProfile:null},i=void 0;return t.codecCount=e.split(",").length,t.codecCount=t.codecCount||2,i=/(^|\s|,)+(avc1)([^ ,]*)/i.exec(e),i&&(t.videoCodec=i[2],t.videoObjectTypeIndicator=i[3]),t.audioProfile=/(^|\s|,)+mp4a.[0-9A-Fa-f]+\.([0-9A-Fa-f]+)/i.exec(e),t.audioProfile=t.audioProfile&&t.audioProfile[2],t},S=function(e,t){var i="mp2t",r={videoCodec:"avc1",videoObjectTypeIndicator:".4d400d",audioProfile:"2"},n=[],a=void 0,s=null;if(!t)return[];t.segments&&t.segments.length&&t.segments[0].map&&(i="mp4"),a=t.attributes||{},a.CODECS&&!function(){var e=T(a.CODECS);Object.keys(e).forEach(function(t){r[t]=e[t]||r[t]})}(),e.mediaGroups.AUDIO&&(n=e.mediaGroups.AUDIO[a.AUDIO]);for(var o in n){if(s&&!!n[o].uri!=!!s.uri)return["video/"+i+'; codecs="'+r.videoCodec+r.videoObjectTypeIndicator+", mp4a.40."+r.audioProfile+'"',"audio/"+i+'; codecs="mp4a.40.'+r.audioProfile+'"'];s=n[o]}return s&&s.uri?["video/"+i+'; codecs="'+r.videoCodec+r.videoObjectTypeIndicator+'"',"audio/"+i+'; codecs="mp4a.40.'+r.audioProfile+'"']:["video/"+i+'; codecs="'+r.videoCodec+r.videoObjectTypeIndicator+", mp4a.40."+r.audioProfile+'"']};i.mimeTypesForPlaylist_=S;var w=function(e){function t(e){var i=this;n(this,t),o(Object.getPrototypeOf(t.prototype),"constructor",this).call(this);var r=e.url,a=e.withCredentials,s=e.mode,u=e.tech,l=e.bandwidth,c=e.externHls,h=e.useCueTags;if(!r)throw new Error("A non-empty playlist URL is required");_=c,this.withCredentials=a,this.tech_=u,this.hls_=u.hls,this.mode_=s,this.useCueTags_=h,this.useCueTags_&&(this.cueTagsTrack_=this.tech_.addTextTrack("metadata","ad-cues"),this.cueTagsTrack_.inBandMetadataTrackDispatchType="",this.tech_.textTracks().addTrack_(this.cueTagsTrack_)),this.audioTracks_=[],this.requestOptions_={withCredentials:this.withCredentials,timeout:null},this.audioGroups_={},this.mediaSource=new m.default.MediaSource({mode:s}),this.audioinfo_=null,this.mediaSource.on("audioinfo",this.handleAudioinfoUpdate_.bind(this)),this.mediaSource.addEventListener("sourceopen",this.handleSourceOpen_.bind(this));var p={hls:this.hls_,mediaSource:this.mediaSource,currentTime:this.tech_.currentTime.bind(this.tech_),seekable:function(){return i.seekable()},seeking:function(){return i.tech_.seeking()},setCurrentTime:function(e){return i.tech_.setCurrentTime(e)},hasPlayed:function(){return 0!==i.tech_.played().length},bandwidth:l};this.masterPlaylistLoader_=new d.default(r,this.hls_,this.withCredentials),this.setupMasterPlaylistLoaderListeners_(),this.audioPlaylistLoader_=null,this.mainSegmentLoader_=new f.default(p),this.audioSegmentLoader_=new f.default(p),this.setupSegmentLoaderListeners_(),this.masterPlaylistLoader_.start()}return a(t,e),s(t,[{key:"setupMasterPlaylistLoaderListeners_",value:function(){var e=this;this.masterPlaylistLoader_.on("loadedmetadata",function(){var t=e.masterPlaylistLoader_.media(),i=1.5*e.masterPlaylistLoader_.targetDuration*1e3;e.requestOptions_.timeout=i,t.endList&&"none"!==e.tech_.preload()&&(e.mainSegmentLoader_.playlist(t,e.requestOptions_),e.mainSegmentLoader_.expired(e.masterPlaylistLoader_.expired_),e.mainSegmentLoader_.load());try{e.setupSourceBuffers_()}catch(t){return m.default.log.warn("Failed to create SourceBuffers",t),e.mediaSource.endOfStream("decode")}e.setupFirstPlay(),e.fillAudioTracks_(),e.setupAudio(),e.trigger("audioupdate"),e.trigger("selectedinitialmedia")}),this.masterPlaylistLoader_.on("loadedplaylist",function(){var t=e.masterPlaylistLoader_.media(),i=void 0;return t?(e.useCueTags_&&e.updateAdCues_(t,e.masterPlaylistLoader_.expired_),e.mainSegmentLoader_.playlist(t,e.requestOptions_),e.mainSegmentLoader_.expired(e.masterPlaylistLoader_.expired_),e.updateDuration(),i=e.seekable(),void(t.endList||0===i.length||e.mediaSource.addSeekableRange_(i.start(0),i.end(0)))):(e.initialMedia_=e.selectPlaylist(),void e.masterPlaylistLoader_.media(e.initialMedia_))}),this.masterPlaylistLoader_.on("error",function(){e.blacklistCurrentPlaylist(e.masterPlaylistLoader_.error)}),this.masterPlaylistLoader_.on("mediachanging",function(){e.mainSegmentLoader_.abort(),e.mainSegmentLoader_.pause()}),this.masterPlaylistLoader_.on("mediachange",function(){var t=e.masterPlaylistLoader_.media(),i=1.5*e.masterPlaylistLoader_.targetDuration*1e3,r=void 0,n=void 0;e.masterPlaylistLoader_.isLowestEnabledRendition_()?e.requestOptions_.timeout=0:e.requestOptions_.timeout=i,e.mainSegmentLoader_.playlist(t,e.requestOptions_),e.mainSegmentLoader_.expired(e.masterPlaylistLoader_.expired_),e.mainSegmentLoader_.load(),r=e.activeAudioGroup(),n=r.filter(function(e){return e.enabled})[0],n||(e.setupAudio(),e.trigger("audioupdate")),e.tech_.trigger({type:"mediachange",bubbles:!0})})}},{key:"setupSegmentLoaderListeners_",value:function(){var e=this;this.mainSegmentLoader_.on("progress",function(){e.masterPlaylistLoader_.media(e.selectPlaylist()),e.trigger("progress")}),this.mainSegmentLoader_.on("error",function(){e.blacklistCurrentPlaylist(e.mainSegmentLoader_.error())}),this.audioSegmentLoader_.on("error",function(){m.default.log.warn("Problem encountered with the current alternate audio track. Switching back to default."),e.audioSegmentLoader_.abort(),e.audioPlaylistLoader_=null,e.setupAudio()})}},{key:"handleAudioinfoUpdate_",value:function(e){if(_.supportsAudioInfoChange_()||!this.audioInfo_||!b(this.audioInfo_,e.info))return void(this.audioInfo_=e.info);var t="had different audio properties (channels, sample rate, etc.) or changed in some other way. This behavior is currently unsupported in Firefox 48 and below due to an issue: \n\nhttps://bugzilla.mozilla.org/show_bug.cgi?id=1247138\n\n",i=this.activeAudioGroup().map(function(e){return e.enabled}).indexOf(!0),r=this.activeAudioGroup()[i],n=this.activeAudioGroup().filter(function(e){return e.properties_&&e.properties_.default})[0];this.audioPlaylistLoader_?(t="The audio track '"+r.label+"' that we tried to "+("switch to "+t+" Unfortunately this means we will have to ")+("return you to the main track '"+n.label+"'. Sorry!"),n.enabled=!0,this.activeAudioGroup().splice(i,1),this.trigger("audioupdate")):(t="The rendition that we tried to switch to "+t+"Unfortunately that means we will have to blacklist the current playlist and switch to another. Sorry!",this.blacklistCurrentPlaylist()),m.default.log.warn(t),this.setupAudio()}},{key:"mediaRequests_",value:function(){return this.audioSegmentLoader_.mediaRequests+this.mainSegmentLoader_.mediaRequests}},{key:"mediaTransferDuration_",value:function(){return this.audioSegmentLoader_.mediaTransferDuration+this.mainSegmentLoader_.mediaTransferDuration}},{key:"mediaBytesTransferred_",value:function(){return this.audioSegmentLoader_.mediaBytesTransferred+this.mainSegmentLoader_.mediaBytesTransferred}},{key:"fillAudioTracks_",value:function(){var e=this.master(),t=e.mediaGroups||{};t&&t.AUDIO&&0!==Object.keys(t.AUDIO).length&&"html5"===this.mode_||(t.AUDIO={main:{default:{default:!0}}});for(var i in t.AUDIO){this.audioGroups_[i]||(this.audioGroups_[i]=[]);for(var r in t.AUDIO[i]){var n=t.AUDIO[i][r],a=new m.default.AudioTrack({id:r,kind:n.default?"main":"alternative",enabled:!1,language:n.language,label:r});a.properties_=n,this.audioGroups_[i].push(a)}}(this.activeAudioGroup().filter(function(e){return e.properties_.default})[0]||this.activeAudioGroup()[0]).enabled=!0}},{key:"load",value:function(){this.mainSegmentLoader_.load(),this.audioPlaylistLoader_&&this.audioSegmentLoader_.load()}},{key:"activeAudioGroup",value:function(){var e=this.masterPlaylistLoader_.media(),t=void 0;return e.attributes&&e.attributes.AUDIO&&(t=this.audioGroups_[e.attributes.AUDIO]),t||this.audioGroups_.main}},{key:"setupAudio",value:function(){var e=this,t=this.activeAudioGroup(),i=t.filter(function(e){return e.enabled})[0];i||(i=t.filter(function(e){return e.properties_.default})[0]||t[0],i.enabled=!0),this.audioPlaylistLoader_&&(this.audioPlaylistLoader_.dispose(),this.audioPlaylistLoader_=null),this.audioSegmentLoader_.pause(),this.audioSegmentLoader_.clearBuffer(),i.properties_.resolvedUri&&(this.audioPlaylistLoader_=new d.default(i.properties_.resolvedUri,this.hls_,this.withCredentials),this.audioPlaylistLoader_.start(),this.audioPlaylistLoader_.on("loadedmetadata",function(){var t=e.audioPlaylistLoader_.media();e.audioSegmentLoader_.playlist(t,e.requestOptions_),(!e.tech_.paused()||t.endList&&"none"!==e.tech_.preload())&&e.audioSegmentLoader_.load(),t.endList||e.audioPlaylistLoader_.trigger("firstplay")}),this.audioPlaylistLoader_.on("loadedplaylist",function(){var t=void 0;return e.audioPlaylistLoader_&&(t=e.audioPlaylistLoader_.media()),t?void e.audioSegmentLoader_.playlist(t,e.requestOptions_):void e.audioPlaylistLoader_.media(e.audioPlaylistLoader_.playlists.master.playlists[0])}),this.audioPlaylistLoader_.on("error",function(){m.default.log.warn("Problem encountered loading the alternate audio track. Switching back to default."),e.audioSegmentLoader_.abort(),e.setupAudio()}))}},{key:"fastQualityChange_",value:function(){var e=this.selectPlaylist();e!==this.masterPlaylistLoader_.media()&&(this.masterPlaylistLoader_.media(e),this.mainSegmentLoader_.sourceUpdater_.remove(this.tech_.currentTime()+5,1/0))}},{key:"play",value:function(){if(!this.setupFirstPlay())return this.tech_.ended()&&this.tech_.setCurrentTime(0),this.load(),this.tech_.duration()===1/0&&this.tech_.currentTime()<this.tech_.seekable().start(0)?this.tech_.setCurrentTime(this.tech_.seekable().start(0)):void 0}},{key:"setupFirstPlay",value:function(){var e=void 0,t=this.masterPlaylistLoader_.media();return!(!t||t.endList||this.tech_.paused()||this.hasPlayed_)&&(this.masterPlaylistLoader_.trigger("firstplay"),this.hasPlayed_=!0,e=this.seekable(),e.length&&this.tech_.setCurrentTime(e.end(0)),this.load(),!0)}},{key:"handleSourceOpen_",value:function(){try{this.setupSourceBuffers_()}catch(e){return m.default.log.warn("Failed to create Source Buffers",e),this.mediaSource.endOfStream("decode")}this.tech_.autoplay()&&this.tech_.play(),this.trigger("sourceopen")}},{key:"blacklistCurrentPlaylist",value:function(){var e=arguments.length<=0||void 0===arguments[0]?{}:arguments[0],t=void 0,i=void 0;return(t=e.playlist||this.masterPlaylistLoader_.media())?(t.excludeUntil=Date.now()+v,(i=this.selectPlaylist())?(m.default.log.warn("Problem encountered with the current HLS playlist. Switching to another playlist."),this.masterPlaylistLoader_.media(i)):(m.default.log.warn("Problem encountered with the current HLS playlist. No suitable alternatives found."),this.error=e,this.mediaSource.endOfStream("network"))):(this.error=e,this.mediaSource.endOfStream("network"))}},{key:"pauseLoading",value:function(){this.mainSegmentLoader_.pause(),this.audioPlaylistLoader_&&this.audioSegmentLoader_.pause()}},{key:"setCurrentTime",value:function(e){var t=h.default.findRange(this.tech_.buffered(),e);return this.masterPlaylistLoader_&&this.masterPlaylistLoader_.media()&&this.masterPlaylistLoader_.media().segments?t&&t.length?e:(this.mainSegmentLoader_.abort(),this.audioPlaylistLoader_&&this.audioSegmentLoader_.abort(),void(this.tech_.paused()||(this.mainSegmentLoader_.load(),this.audioPlaylistLoader_&&this.audioSegmentLoader_.load()))):0}},{key:"duration",value:function(){return this.masterPlaylistLoader_?this.mediaSource?this.mediaSource.duration:_.Playlist.duration(this.masterPlaylistLoader_.media()):0}},{key:"seekable",value:function(){var e=void 0,t=void 0,i=void 0;return this.masterPlaylistLoader_&&(e=this.masterPlaylistLoader_.media())?(t=_.Playlist.seekable(e,this.masterPlaylistLoader_.expired_),0===t.length?t:this.audioPlaylistLoader_&&(i=_.Playlist.seekable(this.audioPlaylistLoader_.media(),this.audioPlaylistLoader_.expired_),0===i.length)?i:i?m.default.createTimeRanges([[i.start(0)>t.start(0)?i.start(0):t.start(0),i.end(0)<t.end(0)?i.end(0):t.end(0)]]):t):m.default.createTimeRanges()}},{key:"updateDuration",value:function(){var e=this,t=this.mediaSource.duration,i=_.Playlist.duration(this.masterPlaylistLoader_.media()),r=this.tech_.buffered(),n=function t(){e.mediaSource.duration=i,e.tech_.trigger("durationchange"),e.mediaSource.removeEventListener("sourceopen",t)};r.length>0&&(i=Math.max(i,r.end(r.length-1))),t!==i&&("open"!==this.mediaSource.readyState?this.mediaSource.addEventListener("sourceopen",n):n())}},{key:"dispose",value:function(){this.masterPlaylistLoader_.dispose(),this.mainSegmentLoader_.dispose(),this.audioSegmentLoader_.dispose()}},{key:"master",value:function(){return this.masterPlaylistLoader_.master}},{key:"media",value:function(){return this.masterPlaylistLoader_.media()||this.initialMedia_}},{key:"setupSourceBuffers_",value:function(){var e=this.masterPlaylistLoader_.media(),t=void 0;if(e&&"open"===this.mediaSource.readyState){if(t=S(this.masterPlaylistLoader_.master,e),t.length<1)return this.error="No compatible SourceBuffer configuration for the variant stream:"+e.resolvedUri,this.mediaSource.endOfStream("decode");this.mainSegmentLoader_.mimeType(t[0]),t[1]&&this.audioSegmentLoader_.mimeType(t[1]),this.excludeIncompatibleVariants_(e)}}},{key:"excludeIncompatibleVariants_",value:function(e){var t=this.masterPlaylistLoader_.master,i=2,r=null,n=null,a=void 0;e.attributes&&e.attributes.CODECS&&(a=T(e.attributes.CODECS),r=a.videoCodec,n=a.audioProfile,i=a.codecCount),t.playlists.forEach(function(e){var t={codecCount:2,videoCodec:null,audioProfile:null};if(e.attributes&&e.attributes.CODECS){var a=e.attributes.CODECS;t=T(a),MediaSource.isTypeSupported('video/mp4; codecs="'+a+'"')||(e.excludeUntil=1/0)}t.codecCount!==i&&(e.excludeUntil=1/0),t.videoCodec!==r&&(e.excludeUntil=1/0),("5"===t.audioProfile&&"5"!==n||"5"===n&&"5"!==t.audioProfile)&&(e.excludeUntil=1/0)})}},{key:"updateAdCues_",value:function(e){var t=arguments.length<=1||void 0===arguments[1]?0:arguments[1];g.default.updateAdCues(e,this.cueTagsTrack_,t)}}]),t}(m.default.EventTarget);i.MasterPlaylistController=w}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],6:[function(e,t,i){(function(r){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(i,"__esModule",{value:!0});var a=e(10),s=n(a),o="undefined"!=typeof window?window.videojs:"undefined"!=typeof r?r.videojs:null,u=e(13),d=n(u),l=e(62),f=n(l),c=e(25),h=n(c),p=function(e,t,i){var r=t.slice(),n=void 0,a=void 0;for(i=i||0,n=Math.min(e.length,t.length+i),a=i;a<n;a++)r[a-i]=(0,o.mergeOptions)(e[a],r[a-i]);return r},m=function(e,t){for(var i=!1,r=(0,o.mergeOptions)(e,{}),n=e.playlists.length,a=void 0,u=void 0,d=void 0;n--;)if(a=r.playlists[n],a.uri===t.uri){if(a.segments&&t.segments&&a.segments.length===t.segments.length&&a.mediaSequence===t.mediaSequence)continue;for(r.playlists[n]=(0,o.mergeOptions)(a,t),r.playlists[t.uri]=r.playlists[n],a.segments&&(r.playlists[n].segments=p(a.segments,t.segments,t.mediaSequence-a.mediaSequence)),d=0,r.playlists[n].segments&&(d=r.playlists[n].segments.length);d--;)u=r.playlists[n].segments[d],u.resolvedUri||(u.resolvedUri=(0,s.default)(a.resolvedUri,u.uri)),u.key&&!u.key.resolvedUri&&(u.key.resolvedUri=(0,s.default)(a.resolvedUri,u.key.uri)),u.map&&!u.map.resolvedUri&&(u.map.resolvedUri=(0,s.default)(a.resolvedUri,u.map.uri));i=!0}return i?r:null},y=function e(t,i,r){var n=this,a=this,o=void 0,u=void 0,d=void 0,l=void 0,c=void 0;if(e.prototype.constructor.call(this),this.hls_=i,this.trackExpiredTime_=!1,!t)throw new Error("A non-empty playlist URL is required");l=function(e,t,i){a.setBandwidth(d||e),d=null,i&&(a.state=i),a.error={playlist:a.master.playlists[t],status:e.status,message:"HLS playlist request error at URL: "+t,responseText:e.responseText,code:e.status>=500?4:2},a.trigger("error")},c=function(e,t){var i=void 0,r=void 0,n=void 0;a.setBandwidth(d||e),d=null,a.state="HAVE_METADATA",i=new f.default.Parser,i.push(e.responseText),i.end(),i.manifest.uri=t,n=m(a.master,i.manifest),r=1e3*(i.manifest.targetDuration||10),a.targetDuration=i.manifest.targetDuration,n?(a.master=n,a.updateMediaPlaylist_(i.manifest)):r/=2,a.media().endList||(h.default.clearTimeout(u),u=h.default.setTimeout(function(){a.trigger("mediaupdatetimeout")},r)),a.trigger("loadedplaylist")},a.state="HAVE_NOTHING",this.expired_=0,o=this.dispose,a.dispose=function(){a.stopRequest(),h.default.clearTimeout(u),o.call(this)},a.stopRequest=function(){if(d){var e=d;d=null,e.onreadystatechange=null,e.abort()}},a.enabledPlaylists_=function(){return a.master.playlists.filter(function(e,t,i){return!e.excludeUntil||e.excludeUntil<=Date.now()}).length},a.isLowestEnabledRendition_=function(){var e=a.media();if(!e||!e.attributes)return!1;var t=a.media().attributes.BANDWIDTH||0;return!(a.master.playlists.filter(function(e,i,r){var n="undefined"==typeof e.excludeUntil||e.excludeUntil<=Date.now();if(!n)return!1;var a=e.attributes.BANDWIDTH;return a<=t}).length>1)},a.media=function(e){var t=a.state,i=void 0;if(!e)return a.media_;if("HAVE_NOTHING"===a.state)throw new Error("Cannot switch media playlist from "+a.state);if("string"==typeof e){if(!a.master.playlists[e])throw new Error("Unknown playlist URI: "+e);e=a.master.playlists[e]}if(i=!a.media_||e.uri!==a.media_.uri,a.master.playlists[e.uri].endList)return d&&(d.onreadystatechange=null,d.abort(),d=null),a.state="HAVE_METADATA",a.media_=e,void(i&&(a.trigger("mediachanging"),a.trigger("mediachange")));if(i){if(a.state="SWITCHING_MEDIA",d){if((0,s.default)(a.master.uri,e.uri)===d.url)return;d.onreadystatechange=null,d.abort(),d=null}this.media_&&this.trigger("mediachanging"),d=this.hls_.xhr({uri:(0,s.default)(a.master.uri,e.uri),withCredentials:r},function(i,r){if(d){if(i)return l(d,e.uri,t);c(r,e.uri),"HAVE_MASTER"===t?a.trigger("loadedmetadata"):a.trigger("mediachange")}})}},a.setBandwidth=function(e){a.bandwidth=e.bandwidth},a.on("firstplay",function(){this.trackExpiredTime_=!0}),a.on("mediaupdatetimeout",function(){"HAVE_METADATA"===a.state&&(a.state="HAVE_CURRENT_METADATA",d=this.hls_.xhr({uri:(0,s.default)(a.master.uri,a.media().uri),withCredentials:r},function(e,t){if(d)return e?l(d,a.media().uri):void c(d,a.media().uri)}))}),a.pause=function(){a.stopRequest(),h.default.clearTimeout(u)},a.load=function(){a.started?a.media().endList?a.trigger("loadedplaylist"):a.trigger("mediaupdatetimeout"):a.start()},a.start=function(){a.started=!0,d=n.hls_.xhr({uri:t,withCredentials:r},function(e,i){var r=void 0,n=void 0,o=void 0;if(d){if(d=null,e)return a.error={status:i.status,message:"HLS playlist request error at URL: "+t,responseText:i.responseText,code:2},a.trigger("error");if(r=new f.default.Parser,r.push(i.responseText),r.end(),a.state="HAVE_MASTER",r.manifest.uri=t,r.manifest.playlists){for(a.master=r.manifest,o=a.master.playlists.length;o--;)n=a.master.playlists[o],a.master.playlists[n.uri]=n,n.resolvedUri=(0,s.default)(a.master.uri,n.uri);for(var u in a.master.mediaGroups.AUDIO)for(var l in a.master.mediaGroups.AUDIO[u]){var p=a.master.mediaGroups.AUDIO[u][l];p.uri&&(p.resolvedUri=(0,s.default)(a.master.uri,p.uri))}return a.trigger("loadedplaylist"),void(d||a.media(r.manifest.playlists[0]))}return a.master={mediaGroups:{AUDIO:{},VIDEO:{},"CLOSED-CAPTIONS":{},SUBTITLES:{}},uri:h.default.location.href,playlists:[{uri:t}]},a.master.playlists[t]=a.master.playlists[0],a.master.playlists[0].resolvedUri=t,c(i,t),a.trigger("loadedmetadata")}})}};y.prototype=new d.default,y.prototype.updateMediaPlaylist_=function(e){var t=void 0,i=void 0,r=void 0;if(t=this.media_,this.media_=this.master.playlists[e.uri],t&&this.trackExpiredTime_&&e.uri===t.uri){if(e.segments.length){if("undefined"!=typeof e.segments[0].start)return void(this.expired_=e.segments[0].start);if("undefined"!=typeof e.segments[0].end)return void(this.expired_=e.segments[0].end-e.segments[0].duration)}for(i=e.mediaSequence-t.mediaSequence-1;i>=0;i--)if(r=t.segments[i]){if("undefined"!=typeof r.end)return void(this.expired_=r.end);if("undefined"!=typeof r.start)return void(this.expired_=r.start+r.duration);this.expired_+=r.duration}else this.expired_+=t.targetDuration||10}},i.default=y,t.exports=i.default}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],7:[function(e,t,i){(function(t){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(i,"__esModule",{value:!0});var n="undefined"!=typeof window?window.videojs:"undefined"!=typeof t?t.videojs:null,a=e(25),s=r(a),o={UNSAFE_LIVE_SEGMENTS:3},u=function(e,t){var i=0,r=t-e.mediaSequence,n=e.segments[r];if(n){if("undefined"!=typeof n.start)return{result:n.start,precise:!0};if("undefined"!=typeof n.end)return{result:n.end-n.duration,precise:!0}}for(;r--;){if(n=e.segments[r],"undefined"!=typeof n.end)return{result:i+n.end,precise:!0};if(i+=n.duration,"undefined"!=typeof n.start)return{result:i+n.start,precise:!0}}return{result:i,precise:!1}},d=function(e,t){for(var i=0,r=void 0,n=t-e.mediaSequence;n<e.segments.length;n++){if(r=e.segments[n],"undefined"!=typeof r.start)return{result:r.start-i,precise:!0};if(i+=r.duration,"undefined"!=typeof r.end)return{result:r.end-i,precise:!0}}return{result:-1,precise:!1}},l=function(e,t,i){var r=void 0,n=void 0;return"undefined"==typeof t&&(t=e.mediaSequence+e.segments.length),t<e.mediaSequence?0:(r=u(e,t),r.precise?r.result:(n=d(e,t),n.precise?n.result:r.result+i))},f=function(e,t,i){if(!e)return 0;if("number"!=typeof i&&(i=0),"undefined"==typeof t){if(e.totalDuration)return e.totalDuration;if(!e.endList)return s.default.Infinity}return l(e,t,i)};i.duration=f;var c=function(e,t){var i=void 0,r=void 0,a=void 0;return"number"!=typeof t&&(t=0),e&&e.segments?e.endList?(0,n.createTimeRange)(0,f(e)):(i=l(e,e.mediaSequence,t),a=Math.max(0,e.segments.length-o.UNSAFE_LIVE_SEGMENTS),r=l(e,e.mediaSequence+a,t),(0,n.createTimeRange)(i,r)):(0,n.createTimeRange)()};i.seekable=c;var h=function(e,t,i){var r=void 0,n=void 0,a=t,s=e.segments.length,o=s-1,u=void 0,d=void 0,l=void 0,f=void 0;if(!e)return 0;if(t<0)return 0;if(0===t&&!i)return 0;for(i=i||0,r=0;r<s;r++)if(n=e.segments[r],n.end){if(n.end>t){f=n.end,d=r;break}l=n.end,u=r+1}if(u===s)return s;if("undefined"!=typeof u){for(t-=l,r=u;r<(d||s);r++)if(n=e.segments[r],t-=n.duration,t<0)return r;return r>=d?u+Math.floor((a-l)/(f-l)*(d-u)):o}if("undefined"!=typeof d){for(t=f-t,r=d;r>=0;r--)if(n=e.segments[r],t-=n.duration,t<0)return r;return 0===t?0:-1}if(t-=i,t<0)return-1;for(r=0;r<s;r++)if(n=e.segments[r],t-=n.duration,t<0)return r;return o};i.getMediaIndexForTime_=h,o.duration=f,o.seekable=c,o.getMediaIndexForTime_=h,i.default=o}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],8:[function(e,t,i){(function(e){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(i,"__esModule",{value:!0});var n=function(){function e(e,t){var i=[],r=!0,n=!1,a=void 0;try{for(var s,o=e[Symbol.iterator]();!(r=(s=o.next()).done)&&(i.push(s.value),!t||i.length!==t);r=!0);}catch(e){n=!0,a=e}finally{try{!r&&o.return&&o.return()}finally{if(n)throw a}}return i}return function(t,i){if(Array.isArray(t))return t;if(Symbol.iterator in Object(t))return e(t,i);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}(),a="undefined"!=typeof window?window.videojs:"undefined"!=typeof e?e.videojs:null,s=r(a),o=1/30,u=function(e,t){var i=n(t,2),r=i[0],a=i[1];return Math.min(Math.max(r,e),a)},d=function(e,t){var i=[],r=void 0;if(e&&e.length)for(r=0;r<e.length;r++)t(e.start(r),e.end(r))&&i.push([e.start(r),e.end(r)]);return s.default.createTimeRanges(i)},l=function(e,t){return d(e,function(e,i){return e-o<=t&&i+o>=t})},f=function(e,t){return d(e,function(e){return e-o>=t})},c=function(e){if(e.length<2)return s.default.createTimeRanges();for(var t=[],i=1;i<e.length;i++){var r=e.end(i-1),n=e.start(i);t.push([r,n])}return s.default.createTimeRanges(t)},h=function(e,t){var i=void 0,r=void 0,n=void 0,a=[],s=[],o=function(e){return e[0]<=n&&e[1]>=n};if(e)for(i=0;i<e.length;i++)r=e.start(i),n=e.end(i),s.push([r,n]);if(t)for(i=0;i<t.length;i++)r=t.start(i),n=t.end(i),s.some(o)||a.push(n);return 1!==a.length?null:a[0]},p=function(e,t){var i=null,r=null,n=0,a=[],o=[];if(!(e&&e.length&&t&&t.length))return s.default.createTimeRange();for(var u=e.length;u--;)a.push({time:e.start(u),type:"start"}),a.push({time:e.end(u),type:"end"});for(u=t.length;u--;)a.push({time:t.start(u),type:"start"}),a.push({time:t.end(u),type:"end"});for(a.sort(function(e,t){return e.time-t.time}),u=0;u<a.length;u++)"start"===a[u].type?(n++,2===n&&(i=a[u].time)):"end"===a[u].type&&(n--,1===n&&(r=a[u].time)),null!==i&&null!==r&&(o.push([i,r]),i=null,r=null);return s.default.createTimeRanges(o)},m=function(e,t,i,r){for(var n=t.end(0)-t.start(0),a=e.end(0)-e.start(0),s=n-a,o=p(e,r),u=p(t,r),d=0,l=0,f=o.length;f--;)d+=o.end(f)-o.start(f),
o.start(f)===i&&(d+=s);for(f=u.length;f--;)l+=u.end(f)-u.start(f);return Math.max(d,l)/n*100},y=function(e,t,i,r){var n=e+t,a=s.default.createTimeRanges([[e,n]]),o=s.default.createTimeRanges([[u(e,[i,n]),n]]);if(o.start(0)===o.end(0))return 0;var d=m(o,a,i,r);return isNaN(d)||d===1/0||d===-(1/0)?0:d};i.default={findRange:l,findNextRange:f,findGaps:c,findSoleUncommonTimeRangesEnd:h,getSegmentBufferedPercent:y,TIME_FUDGE_FACTOR:o},t.exports=i.default}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],9:[function(e,t,i){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(i,"__esModule",{value:!0});var n=function(e,t,i){var r="undefined"==typeof e.excludeUntil||e.excludeUntil<=Date.now();return"undefined"==typeof i?r:(i!==r&&(i?delete e.excludeUntil:e.excludeUntil=1/0,t()),i)},a=function e(t,i,a){r(this,e);var s=t.masterPlaylistController_.fastQualityChange_.bind(t.masterPlaylistController_);if(i.attributes){var o=i.attributes;if(o.RESOLUTION){var u=o.RESOLUTION;this.width=u.width,this.height=u.height}this.bandwidth=o.BANDWIDTH}this.id=a,this.enabled=n.bind(this,i,s)},s=function(e){var t=e.playlists;e.representations=function(){return t.master.playlists.map(function(t,i){return new a(e,t,i)})}};i.default=s,t.exports=i.default},{}],10:[function(e,t,i){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(i,"__esModule",{value:!0});var n=e(24),a=r(n),s=function(e,t){var i=a.default.querySelector("base"),r=a.default.querySelector("head"),n=a.default.createElement("a"),s=i,o=void 0,u=void 0;return i?o=i.href:s=r.appendChild(a.default.createElement("base")),s.href=e,n.href=t,u=n.href,i?i.href=o:r.removeChild(s),u};i.default=s,t.exports=i.default},{}],11:[function(e,t,i){(function(r){"use strict";function n(e){return e&&e.__esModule?e:{default:e}}function a(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function s(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(i,"__esModule",{value:!0});var o=function(){function e(e,t){for(var i=0;i<t.length;i++){var r=t[i];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,i,r){return i&&e(t.prototype,i),r&&e(t,r),t}}(),u=function(e,t,i){for(var r=!0;r;){var n=e,a=t,s=i;r=!1,null===n&&(n=Function.prototype);var o=Object.getOwnPropertyDescriptor(n,a);if(void 0!==o){if("value"in o)return o.value;var u=o.get;if(void 0===u)return;return u.call(s)}var d=Object.getPrototypeOf(n);if(null===d)return;e=d,t=a,i=s,r=!0,o=d=void 0}},d=e(8),l=n(d),f=e(7),c="undefined"!=typeof window?window.videojs:"undefined"!=typeof r?r.videojs:null,h=n(c),p=e(12),m=n(p),y=e(18),g=e(67),v=n(g),_=e(3),b=n(_),T=e(25),S=n(T),w=500,k=function(e,t,i){if(!e)return!1;var r=e.segments[t],n=e.segments[t-1];return!(!i||!r)&&(r.end=i,n?n.end&&(r.duration=r.end-n.end):r.duration=r.end,!0)},O=function(e,t,i,r){if(!e)return!1;var n=e.segments,a=i===n.length-1,s=r.length&&n[n.length-1].end<=r.end(0);return e.endList&&"open"===t.readyState&&(a||s)},P=function(e){var t=void 0,i=void 0;return i=e.offset+e.length-1,t=e.offset,"bytes="+t+"-"+i},A=function(e){var t={};return"byterange"in e&&(t.Range=P(e.byterange)),t},x=function(e){var t=e.byterange||{length:1/0,offset:0};return[t.length,t.offset,e.resolvedUri].join(",")},E=function(e){function t(e){a(this,t),u(Object.getPrototypeOf(t.prototype),"constructor",this).call(this);var i=void 0;if(!e)throw new TypeError("Initialization options are required");if("function"!=typeof e.currentTime)throw new TypeError("No currentTime getter specified");if(!e.mediaSource)throw new TypeError("No MediaSource specified");i=h.default.mergeOptions(h.default.options.hls,e),this.state="INIT",this.bandwidth=i.bandwidth,this.roundTrip=NaN,this.resetStats_(),this.hasPlayed_=i.hasPlayed,this.currentTime_=i.currentTime,this.seekable_=i.seekable,this.seeking_=i.seeking,this.setCurrentTime_=i.setCurrentTime,this.mediaSource_=i.mediaSource,this.hls_=i.hls,this.checkBufferTimeout_=null,this.error_=void 0,this.expired_=0,this.timeCorrection_=0,this.currentTimeline_=-1,this.zeroOffset_=NaN,this.xhr_=null,this.pendingSegment_=null,this.mimeType_=null,this.sourceUpdater_=null,this.xhrOptions_=null,this.activeInitSegmentId_=null,this.initSegments_={}}return s(t,e),o(t,[{key:"resetStats_",value:function(){this.mediaBytesTransferred=0,this.mediaRequests=0,this.mediaTransferDuration=0}},{key:"dispose",value:function(){this.state="DISPOSED",this.abort_(),this.sourceUpdater_&&this.sourceUpdater_.dispose(),this.resetStats_()}},{key:"abort",value:function(){"WAITING"===this.state&&(this.abort_(),this.paused()||(this.state="READY",this.fillBuffer_()))}},{key:"error",value:function(e){return"undefined"!=typeof e&&(this.error_=e),this.pendingSegment_=null,this.error_}},{key:"load",value:function(){if(this.monitorBuffer_(),this.playlist_)return"INIT"===this.state&&this.mimeType_?this.init_():void(!this.sourceUpdater_||"READY"!==this.state&&"INIT"!==this.state||(this.state="READY",this.fillBuffer_()))}},{key:"playlist",value:function(e){var t=arguments.length<=1||void 0===arguments[1]?{}:arguments[1];if(e)return this.playlist_=e,this.xhrOptions_=t,this.mimeType_&&"INIT"===this.state&&!this.paused()?this.init_():void 0}},{key:"pause",value:function(){this.checkBufferTimeout_&&(S.default.clearTimeout(this.checkBufferTimeout_),this.checkBufferTimeout_=null)}},{key:"paused",value:function(){return null===this.checkBufferTimeout_}},{key:"expired",value:function(e){this.expired_=e}},{key:"mimeType",value:function(e){this.mimeType_||(this.mimeType_=e,this.playlist_&&"INIT"===this.state&&!this.paused()&&this.init_())}},{key:"monitorBuffer_",value:function(){"READY"===this.state&&this.fillBuffer_(),this.checkBufferTimeout_&&S.default.clearTimeout(this.checkBufferTimeout_),this.checkBufferTimeout_=S.default.setTimeout(this.monitorBuffer_.bind(this),w)}},{key:"checkBuffer_",value:function(e,t,i){var r=l.default.findRange(e,i);0===r.length&&0===i&&(r=l.default.findRange(e,i+l.default.TIME_FUDGE_FACTOR));var n=void 0,a=void 0,s=void 0,o=void 0;if(t.segments.length){if(0===r.length)o=(0,f.getMediaIndexForTime_)(t,i+this.timeCorrection_,this.expired_);else{if(a=r.end(0),n=Math.max(0,a-i),!this.hasPlayed_()&&n>=1)return null;if(this.hasPlayed_()&&n>=b.default.GOAL_BUFFER_LENGTH)return null;o=(0,f.getMediaIndexForTime_)(t,a+this.timeCorrection_,this.expired_)}return o<0||o===t.segments.length?null:(s=t.segments[o],{uri:s.resolvedUri,mediaIndex:o,playlist:t,bytes:null,encryptedBytes:null,buffered:null,timestampOffset:NaN,timeline:s.timeline,duration:s.duration})}}},{key:"abort_",value:function(){this.xhr_&&this.xhr_.abort(),this.pendingSegment_=null}},{key:"init_",value:function(){return this.state="READY",this.sourceUpdater_=new m.default(this.mediaSource_,this.mimeType_),this.clearBuffer(),this.fillBuffer_()}},{key:"fillBuffer_",value:function(){if(!this.sourceUpdater_.updating()){var e=this.checkBuffer_(this.sourceUpdater_.buffered(),this.playlist_,this.currentTime_());if(e&&(e.mediaIndex!==this.playlist_.segments.length-1||"ended"!==this.mediaSource_.readyState||this.seeking_())){var t=this.playlist_.segments[e.mediaIndex],i=(0,f.duration)(this.playlist_,this.playlist_.mediaSequence+e.mediaIndex,this.expired_);e.timestampOffset=this.sourceUpdater_.timestampOffset(),(t.timeline!==this.currentTimeline_||i<this.sourceUpdater_.timestampOffset())&&(e.timestampOffset=i);var r=l.default.getSegmentBufferedPercent(i,t.duration,this.currentTime_(),this.sourceUpdater_.buffered());if(r>=90){var n=this.incrementTimeCorrection_(this.playlist_.targetDuration/2,1);return void(n&&!this.paused()&&this.fillBuffer_())}this.loadSegment_(e)}}}},{key:"trimBuffer_",value:function(e){var t=this.seekable_(),i=this.currentTime_(),r=0;r=t.length&&t.start(0)>0&&t.start(0)<i?t.start(0):i-60;for(var n=0;n<=e.playlist.segments.length;n++){var a=(0,f.duration)(e.playlist,e.playlist.mediaSequence+n,this.expired_),s=(0,f.duration)(e.playlist,e.playlist.mediaSequence+(n-1),this.expired_);if(a>=r){r=s;break}}return r}},{key:"loadSegment_",value:function(e){var t=void 0,i=void 0,r=void 0,n=void 0,a=0;if(a=this.trimBuffer_(e),a>0&&this.sourceUpdater_.remove(0,a),t=e.playlist.segments[e.mediaIndex],t.key){var s=h.default.mergeOptions(this.xhrOptions_,{uri:t.key.resolvedUri,responseType:"arraybuffer"});i=this.hls_.xhr(s,this.handleResponse_.bind(this))}if(t.map&&!this.initSegments_[x(t.map)]){var o=h.default.mergeOptions(this.xhrOptions_,{uri:t.map.resolvedUri,responseType:"arraybuffer",headers:A(t.map)});r=this.hls_.xhr(o,this.handleResponse_.bind(this))}this.pendingSegment_=e;var u=h.default.mergeOptions(this.xhrOptions_,{uri:e.uri,responseType:"arraybuffer",headers:A(t)});n=this.hls_.xhr(u,this.handleResponse_.bind(this)),this.xhr_={keyXhr:i,initSegmentXhr:r,segmentXhr:n,abort:function(){this.segmentXhr&&(this.segmentXhr.onreadystatechange=null,this.segmentXhr.abort(),this.segmentXhr=null),this.initSegmentXhr&&(this.initSegmentXhr.onreadystatechange=null,this.initSegmentXhr.abort(),this.initSegmentXhr=null),this.keyXhr&&(this.keyXhr.onreadystatechange=null,this.keyXhr.abort(),this.keyXhr=null)}},this.state="WAITING"}},{key:"handleResponse_",value:function(e,t){var i=void 0,r=void 0,n=void 0,a=void 0;if(this.xhr_&&(t===this.xhr_.segmentXhr||t===this.xhr_.keyXhr||t===this.xhr_.initSegmentXhr)){if(i=this.pendingSegment_,r=i.playlist.segments[i.mediaIndex],t.timedout)return this.abort_(),this.bandwidth=1,this.roundTrip=NaN,this.state="READY",this.trigger("progress");if(!t.aborted&&e)return n=this.xhr_.keyXhr,this.abort_(),this.error({status:t.status,message:t===n?"HLS key request error at URL: "+r.key.uri:"HLS segment request error at URL: "+i.uri,code:2,xhr:t}),this.state="READY",this.pause(),this.trigger("error");if(!t.response)return void this.abort_();if(t===this.xhr_.segmentXhr&&(this.xhr_.segmentXhr=null,this.roundTrip=t.roundTripTime,this.bandwidth=t.bandwidth,this.mediaBytesTransferred+=t.bytesReceived||0,this.mediaRequests+=1,this.mediaTransferDuration+=t.roundTripTime||0,r.key?i.encryptedBytes=new Uint8Array(t.response):i.bytes=new Uint8Array(t.response)),t===this.xhr_.keyXhr){if(n=this.xhr_.segmentXhr,this.xhr_.keyXhr=null,16!==t.response.byteLength)return this.abort_(),this.error({status:t.status,message:"Invalid HLS key at URL: "+r.key.uri,code:2,xhr:t}),this.state="READY",this.pause(),this.trigger("error");a=new DataView(t.response),r.key.bytes=new Uint32Array([a.getUint32(0),a.getUint32(4),a.getUint32(8),a.getUint32(12)]),r.key.iv=r.key.iv||new Uint32Array([0,0,0,i.mediaIndex+i.playlist.mediaSequence])}t===this.xhr_.initSegmentXhr&&(this.xhr_.initSegmentXhr=null,r.map.bytes=new Uint8Array(t.response),this.initSegments_[x(r.map)]=r.map),this.xhr_.segmentXhr||this.xhr_.keyXhr||this.xhr_.initSegmentXhr||(this.xhr_=null,this.processResponse_())}}},{key:"clearBuffer",value:function(){this.sourceUpdater_&&this.sourceUpdater_.buffered().length&&this.sourceUpdater_.remove(0,1/0)}},{key:"processResponse_",value:function(){var e=void 0,t=void 0;if(this.state="DECRYPTING",e=this.pendingSegment_,t=e.playlist.segments[e.mediaIndex],t.map&&isNaN(this.zeroOffset_)){var i=v.default.timescale(t.map.bytes),r=v.default.startTime(i,e.bytes);this.zeroOffset_=r,e.timestampOffset-=r}t.key?new y.Decrypter(e.encryptedBytes,t.key.bytes,t.key.iv,function(t,i){e.bytes=i,this.handleSegment_()}.bind(this)):this.handleSegment_()}},{key:"handleSegment_",value:function(){var e=this,t=void 0,i=void 0;this.state="APPENDING",t=this.pendingSegment_,t.buffered=this.sourceUpdater_.buffered(),i=t.playlist.segments[t.mediaIndex],this.currentTimeline_=t.timeline,t.timestampOffset!==this.sourceUpdater_.timestampOffset()&&this.sourceUpdater_.timestampOffset(t.timestampOffset),i.map&&!function(){var t=x(i.map);if(!e.activeInitSegmentId_||e.activeInitSegmentId_!==t){var r=e.initSegments_[t];e.sourceUpdater_.appendBuffer(r.bytes,function(){e.activeInitSegmentId_=t})}}(),this.sourceUpdater_.appendBuffer(t.bytes,this.handleUpdateEnd_.bind(this))}},{key:"handleUpdateEnd_",value:function(){var e=this.pendingSegment_,t=this.currentTime_();this.pendingSegment_=null;var i=this.updateTimeline_(e);this.trigger("progress");var r=e.mediaIndex;r+=e.playlist.mediaSequence-this.playlist_.mediaSequence;var n=l.default.findRange(this.sourceUpdater_.buffered(),t),a=O(e.playlist,this.mediaSource_,r,n);a&&this.mediaSource_.endOfStream();var s=this.seekable_(),o=l.default.findNextRange(this.sourceUpdater_.buffered(),t);if(this.seeking_()&&0===n.length&&s.length&&t<s.start(0)&&o.length&&(h.default.log("tried seeking to",t,"but that was too early, retrying at",o.start(0)),this.setCurrentTime_(o.start(0)+l.default.TIME_FUDGE_FACTOR)),this.state="READY",i)return this.timeCorrection_=0,void(this.paused()||this.fillBuffer_());var u=this.incrementTimeCorrection_(e.duration,4);u&&!this.paused()&&this.fillBuffer_()}},{key:"updateTimeline_",value:function(e){var t=void 0,i=void 0,r=!1,n=e.playlist,a=e.mediaIndex;return a+=n.mediaSequence-this.playlist_.mediaSequence,t=n.segments[a],t&&e&&e.playlist.uri===this.playlist_.uri&&(i=l.default.findSoleUncommonTimeRangesEnd(e.buffered,this.sourceUpdater_.buffered()),r=k(n,a,i)),r}},{key:"incrementTimeCorrection_",value:function(e,t){return this.timeCorrection_>=this.playlist_.targetDuration*t?(this.timeCorrection_=0,!1):(this.timeCorrection_+=e,!0)}}]),t}(h.default.EventTarget);i.default=E,t.exports=i.default}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],12:[function(e,t,i){(function(e){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function n(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(i,"__esModule",{value:!0});var a=function(){function e(e,t){for(var i=0;i<t.length;i++){var r=t[i];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,i,r){return i&&e(t.prototype,i),r&&e(t,r),t}}(),s="undefined"!=typeof window?window.videojs:"undefined"!=typeof e?e.videojs:null,o=r(s),u=function(){function e(t,i){var r=this;n(this,e);var a=function(){r.sourceBuffer_=t.addSourceBuffer(i),r.onUpdateendCallback_=function(){var e=r.pendingCallback_;r.pendingCallback_=null,e&&e(),r.runCallback_()},r.sourceBuffer_.addEventListener("updateend",r.onUpdateendCallback_),r.runCallback_()};this.callbacks_=[],this.pendingCallback_=null,this.timestampOffset_=0,this.mediaSource=t,"closed"===t.readyState?t.addEventListener("sourceopen",a):a()}return a(e,[{key:"abort",value:function(e){var t=this;this.queueCallback_(function(){t.sourceBuffer_.abort()},e)}},{key:"appendBuffer",value:function(e,t){var i=this;this.queueCallback_(function(){i.sourceBuffer_.appendBuffer(e)},t)}},{key:"buffered",value:function(){return this.sourceBuffer_?this.sourceBuffer_.buffered:o.default.createTimeRanges()}},{key:"duration",value:function(e){var t=this;this.queueCallback_(function(){t.sourceBuffer_.duration=e})}},{key:"remove",value:function(e,t){var i=this;this.queueCallback_(function(){i.sourceBuffer_.remove(e,t)})}},{key:"updating",value:function(){return!this.sourceBuffer_||this.sourceBuffer_.updating}},{key:"timestampOffset",value:function(e){var t=this;return"undefined"!=typeof e&&(this.queueCallback_(function(){t.sourceBuffer_.timestampOffset=e}),this.timestampOffset_=e),this.timestampOffset_}},{key:"queueCallback_",value:function(e,t){this.callbacks_.push([e.bind(this),t]),this.runCallback_()}},{key:"runCallback_",value:function(){var e=void 0;this.sourceBuffer_&&!this.sourceBuffer_.updating&&this.callbacks_.length&&(e=this.callbacks_.shift(),this.pendingCallback_=e[1],e[0]())}},{key:"dispose",value:function(){this.sourceBuffer_.removeEventListener("updateend",this.onUpdateendCallback_),this.sourceBuffer_&&"open"===this.mediaSource.readyState&&this.sourceBuffer_.abort()}}]),e}();i.default=u,t.exports=i.default}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],13:[function(e,t,i){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(i,"__esModule",{value:!0});var n=function(){function e(e,t){for(var i=0;i<t.length;i++){var r=t[i];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,i,r){return i&&e(t.prototype,i),r&&e(t,r),t}}(),a=function(){function e(){r(this,e),this.listeners={}}return n(e,[{key:"on",value:function(e,t){this.listeners[e]||(this.listeners[e]=[]),this.listeners[e].push(t)}},{key:"off",value:function(e,t){var i=void 0;return!!this.listeners[e]&&(i=this.listeners[e].indexOf(t),this.listeners[e].splice(i,1),i>-1)}},{key:"trigger",value:function(e){var t=void 0,i=void 0,r=void 0,n=void 0;if(t=this.listeners[e])if(2===arguments.length)for(r=t.length,i=0;i<r;++i)t[i].call(this,arguments[1]);else for(n=Array.prototype.slice.call(arguments,1),r=t.length,i=0;i<r;++i)t[i].apply(this,n)}},{key:"dispose",value:function(){this.listeners={}}},{key:"pipe",value:function(e){this.on("data",function(t){e.push(t)})}}]),e}();i.default=a,t.exports=i.default},{}],14:[function(e,t,i){(function(e){"use strict";Object.defineProperty(i,"__esModule",{value:!0});var r="undefined"!=typeof window?window.videojs:"undefined"!=typeof e?e.videojs:null,n=function(){var e=function e(t,i){if(t=(0,r.mergeOptions)({timeout:45e3},t),e.beforeRequest&&"function"==typeof e.beforeRequest){var n=e.be