Build 533169stable
Module 624694
2,885 characters · in no known chunkDependencies
Source Raw
function(e,t,n){"use strict";n.d(t,{A:()=>y}),n(321073);var r=n(311907),i=n(73153),s=n(652896),a=n(961350),o=n(162605);let l=30,u=15,c={},d={},_={};function f(e){return"packetsSent"in e}function p(e,t,n,r,i){let s=r.find(e=>"video"===e.type);if(null==n&&(n={packetsSentOrReceived:0,packetsLost:0,packetLossRate:0,frameRate:0,resolution:0,entropy:0,numDatapoints:0,frameRateAggregated:0,resolutionAggregated:0,entropyAggregated:0,minVersion:e}),null==s)return n;let a=f(s)?s.packetsSent??0:s.packetsReceived??0,o=(f(s),s.packetsLost??0),l=f(s)?s.frameRateEncode??0:s.frameRateDecode??0,u=s.resolution?.height??0,c=f(s)?s.videoEntropy??0:0;n.numDatapoints+=1,n.frameRateAggregated+=l,n.resolutionAggregated+=u,n.entropyAggregated+=c;let d=i?.find(e=>"video"===e.type);if(null!=d&&t>=n.minVersion){n.numDatapoints-=1;let e=f(d)?d.packetsSent??0:d.packetsReceived??0,t=(f(d),d.packetsLost??0),r=f(d)?d.frameRateEncode??0:d.frameRateDecode??0,i=f(d)?d.videoEntropy??0:0,s=d.resolution?.height??0;n.frameRateAggregated-=r,n.resolutionAggregated-=s,n.entropyAggregated-=i,n.packetsSentOrReceived=a-e,n.packetsLost=o-t}else n.packetsSentOrReceived=a,n.packetsLost=o;return n.frameRate=n.frameRateAggregated/n.numDatapoints,n.resolution=n.resolutionAggregated/n.numDatapoints,n.entropy=n.entropyAggregated/n.numDatapoints,n.packetLossRate=n.packetsLost/(n.packetsSentOrReceived+n.packetsLost),n}function h(e,t,n,r){null==e[t]&&(e[t]={});let i=a.default.getId();for(let s of(e[t][i]=p(n.version,r?.version??0,e[t][i],n.stats.rtp.outbound,r?.stats.rtp.outbound),Object.keys(n.stats.rtp.inbound)))e[t][s]=p(n.version,r?.version??0,e[t][s],n.stats.rtp.inbound[s],r?.stats.rtp.inbound[s])}function m(e){let{connectionStats:t}=e,n={};for(let e of t){let t,{mediaEngineConnectionId:r}=e;0!==r.length&&(n[r]=e,r in c||(c[r]=[]),c[r].push(e),c[r].length>l&&(t=c[r].shift()),h(_,r,e,T(r,u)??void 0),h(d,r,e,t))}}function E(e,t){d[e]?.[t]!=null&&delete d[e][t],_[e]?.[t]!=null&&delete _[e][t]}function g(e){let{mediaEngineConnectionId:t}=e;null!=t&&(delete c[t],delete d[t],delete _[t])}function A(e){let{userId:t,mediaEngineConnectionId:n}=e;if(null==n)return!1;E(n,t)}function I(e){let{streamKey:t,paused:n}=e;if(n)return!1;let r=o.A.getRTCConnection(t)?.getMediaEngineConnectionId();if(null==r)return!1;E(r,(0,s.Iy)(t).ownerId)}function T(e,t){if(null==e)return null;let n=c[e];return null==n||n.length<=t?null:n[n.length-t-1]}class S extends r.Ay.Store{initialize(){this.waitFor(a.default,o.A)}static displayName="MediaEngineStatsStore";getConnectionStats(e){return T(e,0)}getLastConnectionStats(e){return T(e,1)}getStatsHistory(e){return null==e?[]:c[e]??[]}getAccumulatedPerformanceStats(e,t,n){if(null==e)return null;let r="long"===n?d:_;return r[e]?.[t]??null}}let y=new S(i.h,{MEDIA_ENGINE_CONNECTION_STATS:m,MEDIA_ENGINE_CONNECTION_STATS_HISTORY_RESET:g,STREAM_UPDATE:I,RTC_CONNECTION_VIDEO:A})}