@100mslive/hls-stats
Advanced tools
Comparing version 0.4.19-alpha.9 to 0.4.19-alpha.10
@@ -1,2 +0,2 @@ | ||
"use strict";var H=Object.create;var n=Object.defineProperty,b=Object.defineProperties,g=Object.getOwnPropertyDescriptor,I=Object.getOwnPropertyDescriptors,L=Object.getOwnPropertyNames,v=Object.getOwnPropertySymbols,y=Object.getPrototypeOf,f=Object.prototype.hasOwnProperty,G=Object.prototype.propertyIsEnumerable;var p=(s,t,e)=>t in s?n(s,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):s[t]=e,o=(s,t)=>{for(var e in t||(t={}))f.call(t,e)&&p(s,e,t[e]);if(v)for(var e of v(t))G.call(t,e)&&p(s,e,t[e]);return s},d=(s,t)=>b(s,I(t));var A=(s,t)=>{for(var e in t)n(s,e,{get:t[e],enumerable:!0})},u=(s,t,e,a)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of L(t))!f.call(s,i)&&i!==e&&n(s,i,{get:()=>t[i],enumerable:!(a=g(t,i))||a.enumerable});return s};var F=(s,t,e)=>(e=s!=null?H(y(s)):{},u(t||!s||!s.__esModule?n(e,"default",{value:s,enumerable:!0}):e,s)),x=s=>u(n({},"__esModule",{value:!0}),s);var P={};A(P,{HlsStats:()=>m});module.exports=x(P);var l=F(require("hls.js"));var h=class{constructor(t,e){this.hlsStatsState={};this.hlsInstance=t,this.videoEl=e}getState(){return this.hlsStatsState}};var c=class extends h{constructor(){super(...arguments);this.timeUpdateHandler=()=>{let e=this.videoEl.buffered.length>0?this.videoEl.buffered.end(0)-this.videoEl.buffered.start(0):0,a=(this.hlsInstance.liveSyncPosition?this.hlsInstance.liveSyncPosition-this.videoEl.currentTime:0)*1e3,r=this.videoEl.getVideoPlaybackQuality().droppedVideoFrames;this.hlsStatsState=d(o({},this.hlsStatsState),{distanceFromLive:a>0?a:0,bufferedDuration:e,droppedFrames:r})};this.levelLoadedHandler=(e,{level:a})=>{let i=this.hlsInstance.levels[a],{bitrate:r,height:S,width:E}=i;this.hlsStatsState=d(o({},this.hlsStatsState),{bitrate:r,videoSize:{height:S,width:E}})};this.fragChangedHandler=(e,{frag:a})=>{let{stats:i,baseurl:r}=a,{bwEstimate:S}=i;this.hlsStatsState=d(o({},this.hlsStatsState),{bandwidthEstimate:S,url:r})}}startGatheringStats(){this.hlsInstance.on(l.default.Events.FRAG_CHANGED,this.fragChangedHandler),this.hlsInstance.on(l.default.Events.LEVEL_LOADED,this.levelLoadedHandler),this.videoEl.addEventListener("timeupdate",this.timeUpdateHandler)}finishGatheringStats(){this.videoEl.removeEventListener("timeupdate",this.timeUpdateHandler),this.hlsInstance.off(l.default.Events.FRAG_CHANGED,this.fragChangedHandler),this.hlsInstance.off(l.default.Events.LEVEL_LOADED,this.levelLoadedHandler)}};var m=class{constructor(t,e){this.intervalFunctionId=-1;this.subscribe=(t,e=2e3)=>(this.adapter.startGatheringStats(),this.intervalFunctionId=setInterval(()=>{t(this.getState())},e),this.unsubscribe);this.unsubscribe=()=>{clearInterval(this.intervalFunctionId),this.adapter.finishGatheringStats()};this.getState=()=>this.adapter.getState();let a=new c(t,e);this.adapter=a}}; | ||
"use strict";var H=Object.create;var n=Object.defineProperty,b=Object.defineProperties,g=Object.getOwnPropertyDescriptor,I=Object.getOwnPropertyDescriptors,L=Object.getOwnPropertyNames,v=Object.getOwnPropertySymbols,y=Object.getPrototypeOf,f=Object.prototype.hasOwnProperty,G=Object.prototype.propertyIsEnumerable;var p=(s,t,e)=>t in s?n(s,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):s[t]=e,o=(s,t)=>{for(var e in t||(t={}))f.call(t,e)&&p(s,e,t[e]);if(v)for(var e of v(t))G.call(t,e)&&p(s,e,t[e]);return s},h=(s,t)=>b(s,I(t));var A=(s,t)=>{for(var e in t)n(s,e,{get:t[e],enumerable:!0})},u=(s,t,e,a)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of L(t))!f.call(s,i)&&i!==e&&n(s,i,{get:()=>t[i],enumerable:!(a=g(t,i))||a.enumerable});return s};var F=(s,t,e)=>(e=s!=null?H(y(s)):{},u(t||!s||!s.__esModule?n(e,"default",{value:s,enumerable:!0}):e,s)),x=s=>u(n({},"__esModule",{value:!0}),s);var P={};A(P,{HlsStats:()=>m});module.exports=x(P);var l=F(require("hls.js"));var d=class{constructor(t,e){this.hlsInstance=t,this.videoEl=e,this.hlsStatsState={}}getState(){return this.hlsStatsState}};var c=class extends d{constructor(){super(...arguments);this.timeUpdateHandler=()=>{let e=this.videoEl.buffered.length>0?this.videoEl.buffered.end(0)-this.videoEl.buffered.start(0):0,a=(this.hlsInstance.liveSyncPosition?this.hlsInstance.liveSyncPosition-this.videoEl.currentTime:0)*1e3,r=this.videoEl.getVideoPlaybackQuality().droppedVideoFrames;this.hlsStatsState=h(o({},this.hlsStatsState),{distanceFromLive:a>0?a:0,bufferedDuration:e,droppedFrames:r})};this.levelLoadedHandler=(e,{level:a})=>{let i=this.hlsInstance.levels[a],{bitrate:r,height:S,width:E}=i;this.hlsStatsState=h(o({},this.hlsStatsState),{bitrate:r,videoSize:{height:S,width:E}})};this.fragChangedHandler=(e,{frag:a})=>{let{stats:i,baseurl:r}=a,{bwEstimate:S}=i;this.hlsStatsState=h(o({},this.hlsStatsState),{bandwidthEstimate:S,url:r})}}startGatheringStats(){this.hlsInstance.on(l.default.Events.FRAG_CHANGED,this.fragChangedHandler),this.hlsInstance.on(l.default.Events.LEVEL_LOADED,this.levelLoadedHandler),this.videoEl.addEventListener("timeupdate",this.timeUpdateHandler)}finishGatheringStats(){this.videoEl.removeEventListener("timeupdate",this.timeUpdateHandler),this.hlsInstance.off(l.default.Events.FRAG_CHANGED,this.fragChangedHandler),this.hlsInstance.off(l.default.Events.LEVEL_LOADED,this.levelLoadedHandler)}};var m=class{constructor(t,e){this.intervalFunctionId=-1;this.subscribe=(t,e=2e3)=>(this.adapter.startGatheringStats(),this.intervalFunctionId=setInterval(()=>{t(this.getState())},e),this.unsubscribe);this.unsubscribe=()=>{clearInterval(this.intervalFunctionId),this.adapter.finishGatheringStats()};this.getState=()=>this.adapter.getState();let a=new c(t,e);this.adapter=a}}; | ||
//# sourceMappingURL=index.cjs.js.map |
@@ -1,2 +0,2 @@ | ||
var f=Object.defineProperty,u=Object.defineProperties;var E=Object.getOwnPropertyDescriptors;var S=Object.getOwnPropertySymbols;var H=Object.prototype.hasOwnProperty,b=Object.prototype.propertyIsEnumerable;var v=(s,e,t)=>e in s?f(s,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):s[e]=t,n=(s,e)=>{for(var t in e||(e={}))H.call(e,t)&&v(s,t,e[t]);if(S)for(var t of S(e))b.call(e,t)&&v(s,t,e[t]);return s},l=(s,e)=>u(s,E(e));import d from"hls.js";var o=class{constructor(e,t){this.hlsStatsState={};this.hlsInstance=e,this.videoEl=t}getState(){return this.hlsStatsState}};var h=class extends o{constructor(){super(...arguments);this.timeUpdateHandler=()=>{let t=this.videoEl.buffered.length>0?this.videoEl.buffered.end(0)-this.videoEl.buffered.start(0):0,a=(this.hlsInstance.liveSyncPosition?this.hlsInstance.liveSyncPosition-this.videoEl.currentTime:0)*1e3,i=this.videoEl.getVideoPlaybackQuality().droppedVideoFrames;this.hlsStatsState=l(n({},this.hlsStatsState),{distanceFromLive:a>0?a:0,bufferedDuration:t,droppedFrames:i})};this.levelLoadedHandler=(t,{level:a})=>{let r=this.hlsInstance.levels[a],{bitrate:i,height:c,width:p}=r;this.hlsStatsState=l(n({},this.hlsStatsState),{bitrate:i,videoSize:{height:c,width:p}})};this.fragChangedHandler=(t,{frag:a})=>{let{stats:r,baseurl:i}=a,{bwEstimate:c}=r;this.hlsStatsState=l(n({},this.hlsStatsState),{bandwidthEstimate:c,url:i})}}startGatheringStats(){this.hlsInstance.on(d.Events.FRAG_CHANGED,this.fragChangedHandler),this.hlsInstance.on(d.Events.LEVEL_LOADED,this.levelLoadedHandler),this.videoEl.addEventListener("timeupdate",this.timeUpdateHandler)}finishGatheringStats(){this.videoEl.removeEventListener("timeupdate",this.timeUpdateHandler),this.hlsInstance.off(d.Events.FRAG_CHANGED,this.fragChangedHandler),this.hlsInstance.off(d.Events.LEVEL_LOADED,this.levelLoadedHandler)}};var m=class{constructor(e,t){this.intervalFunctionId=-1;this.subscribe=(e,t=2e3)=>(this.adapter.startGatheringStats(),this.intervalFunctionId=setInterval(()=>{e(this.getState())},t),this.unsubscribe);this.unsubscribe=()=>{clearInterval(this.intervalFunctionId),this.adapter.finishGatheringStats()};this.getState=()=>this.adapter.getState();let a=new h(e,t);this.adapter=a}};export{m as HlsStats}; | ||
var f=Object.defineProperty,u=Object.defineProperties;var E=Object.getOwnPropertyDescriptors;var S=Object.getOwnPropertySymbols;var H=Object.prototype.hasOwnProperty,b=Object.prototype.propertyIsEnumerable;var v=(s,e,t)=>e in s?f(s,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):s[e]=t,n=(s,e)=>{for(var t in e||(e={}))H.call(e,t)&&v(s,t,e[t]);if(S)for(var t of S(e))b.call(e,t)&&v(s,t,e[t]);return s},l=(s,e)=>u(s,E(e));import h from"hls.js";var o=class{constructor(e,t){this.hlsInstance=e,this.videoEl=t,this.hlsStatsState={}}getState(){return this.hlsStatsState}};var d=class extends o{constructor(){super(...arguments);this.timeUpdateHandler=()=>{let t=this.videoEl.buffered.length>0?this.videoEl.buffered.end(0)-this.videoEl.buffered.start(0):0,a=(this.hlsInstance.liveSyncPosition?this.hlsInstance.liveSyncPosition-this.videoEl.currentTime:0)*1e3,i=this.videoEl.getVideoPlaybackQuality().droppedVideoFrames;this.hlsStatsState=l(n({},this.hlsStatsState),{distanceFromLive:a>0?a:0,bufferedDuration:t,droppedFrames:i})};this.levelLoadedHandler=(t,{level:a})=>{let r=this.hlsInstance.levels[a],{bitrate:i,height:c,width:p}=r;this.hlsStatsState=l(n({},this.hlsStatsState),{bitrate:i,videoSize:{height:c,width:p}})};this.fragChangedHandler=(t,{frag:a})=>{let{stats:r,baseurl:i}=a,{bwEstimate:c}=r;this.hlsStatsState=l(n({},this.hlsStatsState),{bandwidthEstimate:c,url:i})}}startGatheringStats(){this.hlsInstance.on(h.Events.FRAG_CHANGED,this.fragChangedHandler),this.hlsInstance.on(h.Events.LEVEL_LOADED,this.levelLoadedHandler),this.videoEl.addEventListener("timeupdate",this.timeUpdateHandler)}finishGatheringStats(){this.videoEl.removeEventListener("timeupdate",this.timeUpdateHandler),this.hlsInstance.off(h.Events.FRAG_CHANGED,this.fragChangedHandler),this.hlsInstance.off(h.Events.LEVEL_LOADED,this.levelLoadedHandler)}};var m=class{constructor(e,t){this.intervalFunctionId=-1;this.subscribe=(e,t=2e3)=>(this.adapter.startGatheringStats(),this.intervalFunctionId=setInterval(()=>{e(this.getState())},t),this.unsubscribe);this.unsubscribe=()=>{clearInterval(this.intervalFunctionId),this.adapter.finishGatheringStats()};this.getState=()=>this.adapter.getState();let a=new d(e,t);this.adapter=a}};export{m as HlsStats}; | ||
//# sourceMappingURL=index.js.map |
{ | ||
"name": "@100mslive/hls-stats", | ||
"version": "0.4.19-alpha.9", | ||
"version": "0.4.19-alpha.10", | ||
"description": "A simple library that provides stats for your hls stream", | ||
@@ -44,3 +44,3 @@ "main": "dist/index.cjs.js", | ||
}, | ||
"gitHead": "06c3bff006916b7591f7132e14fcf78d45411c9a" | ||
"gitHead": "ff1d543414b72cd0acb3f4caf867bacb5ba806d5" | ||
} |
@@ -6,6 +6,7 @@ import Hls from 'hls.js'; | ||
videoEl: HTMLVideoElement; | ||
hlsStatsState: HlsPlayerStats = {}; | ||
hlsStatsState: HlsPlayerStats; | ||
constructor(hlsInstance: Hls, videoEl: HTMLVideoElement) { | ||
this.hlsInstance = hlsInstance; | ||
this.videoEl = videoEl; | ||
this.hlsStatsState = {}; | ||
} | ||
@@ -12,0 +13,0 @@ abstract startGatheringStats(): void; |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
29218
219