feat: complete Ancestor quote bot with production-ready Docker support

This commit is contained in:
unfunny
2026-09-13 14:14:38 -04:00
parent f2016da05a
commit fe7351a7dc
1145 changed files with 30890 additions and 97684 deletions

View File

@@ -1 +1 @@
{"version":3,"file":"mediaSsrcHandler.d.ts","sourceRoot":"","sources":["../../../../src/webrtc/stats/media/mediaSsrcHandler.ts"],"names":[],"mappings":"AAkBA,MAAM,MAAM,GAAG,GAAG,MAAM,CAAC;AACzB,MAAM,MAAM,IAAI,GAAG,MAAM,CAAC;AAC1B,MAAM,MAAM,OAAO,GAAG,OAAO,GAAG,QAAQ,CAAC;AAEzC,qBAAa,gBAAgB;IACzB,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAqE;IAExF,aAAa,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,GAAG,QAAQ,GAAG,GAAG,GAAG,SAAS,CAS1E;IAEM,KAAK,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,IAAI,CAerD;IAEM,eAAe,CAAC,IAAI,EAAE,OAAO,GAAG,GAAG,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAEtD;CACJ"}
{"version":3,"file":"mediaSsrcHandler.d.ts","sourceRoot":"","sources":["../../../../src/webrtc/stats/media/mediaSsrcHandler.ts"],"names":[],"mappings":"AAkBA,MAAM,MAAM,GAAG,GAAG,MAAM,CAAC;AACzB,MAAM,MAAM,IAAI,GAAG,MAAM,CAAC;AAC1B,MAAM,MAAM,OAAO,GAAG,OAAO,GAAG,QAAQ,CAAC;AAEzC,qBAAa,gBAAgB;IACzB,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAqE;IAExF,aAAa,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,GAAG,QAAQ,GAAG,GAAG,GAAG,SAAS;IAWpE,KAAK,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,IAAI;IAiB/C,eAAe,CAAC,IAAI,EAAE,OAAO,GAAG,GAAG,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC;CAG1D"}

View File

@@ -1,4 +1,12 @@
import _defineProperty from "@babel/runtime/helpers/defineProperty";
"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.MediaSsrcHandler = void 0;
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
var _sdpTransform = require("sdp-transform");
/*
Copyright 2023 The Matrix.org Foundation C.I.C.
@@ -15,10 +23,9 @@ See the License for the specific language governing permissions and
limitations under the License.
*/
import { parse as parseSdp } from "sdp-transform";
export class MediaSsrcHandler {
class MediaSsrcHandler {
constructor() {
_defineProperty(this, "ssrcToMid", {
(0, _defineProperty2.default)(this, "ssrcToMid", {
local: new Map(),
remote: new Map()
});
@@ -34,12 +41,13 @@ export class MediaSsrcHandler {
return mid;
}
parse(description, type) {
const sdp = parseSdp(description);
const sdp = (0, _sdpTransform.parse)(description);
const ssrcToMid = new Map();
sdp.media.forEach(m => {
if (!!m.mid && m.type === "video" || m.type === "audio") {
var _m$ssrcs;
const ssrcs = [];
m.ssrcs?.forEach(ssrc => {
(_m$ssrcs = m.ssrcs) === null || _m$ssrcs === void 0 ? void 0 : _m$ssrcs.forEach(ssrc => {
if (ssrc.attribute === "cname") {
ssrcs.push(`${ssrc.id}`);
}
@@ -53,4 +61,5 @@ export class MediaSsrcHandler {
return this.ssrcToMid[type];
}
}
exports.MediaSsrcHandler = MediaSsrcHandler;
//# sourceMappingURL=mediaSsrcHandler.js.map

View File

@@ -1 +1 @@
{"version":3,"file":"mediaSsrcHandler.js","names":[],"sources":["../../../../src/webrtc/stats/media/mediaSsrcHandler.ts"],"sourcesContent":["/*\nCopyright 2023 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport { parse as parseSdp } from \"sdp-transform\";\n\nexport type Mid = string;\nexport type Ssrc = string;\nexport type MapType = \"local\" | \"remote\";\n\nexport class MediaSsrcHandler {\n private readonly ssrcToMid = { local: new Map<Mid, Ssrc[]>(), remote: new Map<Mid, Ssrc[]>() };\n\n public findMidBySsrc(ssrc: Ssrc, type: \"local\" | \"remote\"): Mid | undefined {\n let mid: Mid | undefined;\n this.ssrcToMid[type].forEach((ssrcs, m) => {\n if (ssrcs.find((s) => s == ssrc)) {\n mid = m;\n return;\n }\n });\n return mid;\n }\n\n public parse(description: string, type: MapType): void {\n const sdp = parseSdp(description);\n const ssrcToMid = new Map<Mid, Ssrc[]>();\n sdp.media.forEach((m) => {\n if ((!!m.mid && m.type === \"video\") || m.type === \"audio\") {\n const ssrcs: Ssrc[] = [];\n m.ssrcs?.forEach((ssrc) => {\n if (ssrc.attribute === \"cname\") {\n ssrcs.push(`${ssrc.id}`);\n }\n });\n ssrcToMid.set(`${m.mid}`, ssrcs);\n }\n });\n this.ssrcToMid[type] = ssrcToMid;\n }\n\n public getSsrcToMidMap(type: MapType): Map<Mid, Ssrc[]> {\n return this.ssrcToMid[type];\n }\n}\n"],"mappings":";AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,SAAS,KAAK,IAAI,QAAQ,QAAQ,eAAe;AAMjD,OAAO,MAAM,gBAAgB,CAAC;EAAA;IAAA,mCACG;MAAE,KAAK,EAAE,IAAI,GAAG,CAAc,CAAC;MAAE,MAAM,EAAE,IAAI,GAAG,CAAc;IAAE,CAAC;EAAA;EAEvF,aAAa,CAAC,IAAU,EAAE,IAAwB,EAAmB;IACxE,IAAI,GAAoB;IACxB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,CAAC,KAAK;MACvC,IAAI,KAAK,CAAC,IAAI,CAAE,CAAC,IAAK,CAAC,IAAI,IAAI,CAAC,EAAE;QAC9B,GAAG,GAAG,CAAC;QACP;MACJ;IACJ,CAAC,CAAC;IACF,OAAO,GAAG;EACd;EAEO,KAAK,CAAC,WAAmB,EAAE,IAAa,EAAQ;IACnD,MAAM,GAAG,GAAG,QAAQ,CAAC,WAAW,CAAC;IACjC,MAAM,SAAS,GAAG,IAAI,GAAG,CAAc,CAAC;IACxC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAE,CAAC,IAAK;MACrB,IAAK,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,IAAI,KAAK,OAAO,IAAK,CAAC,CAAC,IAAI,KAAK,OAAO,EAAE;QACvD,MAAM,KAAa,GAAG,EAAE;QACxB,CAAC,CAAC,KAAK,EAAE,OAAO,CAAE,IAAI,IAAK;UACvB,IAAI,IAAI,CAAC,SAAS,KAAK,OAAO,EAAE;YAC5B,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;UAC5B;QACJ,CAAC,CAAC;QACF,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,KAAK,CAAC;MACpC;IACJ,CAAC,CAAC;IACF,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,SAAS;EACpC;EAEO,eAAe,CAAC,IAAa,EAAoB;IACpD,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;EAC/B;AACJ","ignoreList":[]}
{"version":3,"file":"mediaSsrcHandler.js","names":["_sdpTransform","require","MediaSsrcHandler","constructor","_defineProperty2","default","local","Map","remote","findMidBySsrc","ssrc","type","mid","ssrcToMid","forEach","ssrcs","m","find","s","parse","description","sdp","parseSdp","media","_m$ssrcs","attribute","push","id","set","getSsrcToMidMap","exports"],"sources":["../../../../src/webrtc/stats/media/mediaSsrcHandler.ts"],"sourcesContent":["/*\nCopyright 2023 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport { parse as parseSdp } from \"sdp-transform\";\n\nexport type Mid = string;\nexport type Ssrc = string;\nexport type MapType = \"local\" | \"remote\";\n\nexport class MediaSsrcHandler {\n private readonly ssrcToMid = { local: new Map<Mid, Ssrc[]>(), remote: new Map<Mid, Ssrc[]>() };\n\n public findMidBySsrc(ssrc: Ssrc, type: \"local\" | \"remote\"): Mid | undefined {\n let mid: Mid | undefined;\n this.ssrcToMid[type].forEach((ssrcs, m) => {\n if (ssrcs.find((s) => s == ssrc)) {\n mid = m;\n return;\n }\n });\n return mid;\n }\n\n public parse(description: string, type: MapType): void {\n const sdp = parseSdp(description);\n const ssrcToMid = new Map<Mid, Ssrc[]>();\n sdp.media.forEach((m) => {\n if ((!!m.mid && m.type === \"video\") || m.type === \"audio\") {\n const ssrcs: Ssrc[] = [];\n m.ssrcs?.forEach((ssrc) => {\n if (ssrc.attribute === \"cname\") {\n ssrcs.push(`${ssrc.id}`);\n }\n });\n ssrcToMid.set(`${m.mid}`, ssrcs);\n }\n });\n this.ssrcToMid[type] = ssrcToMid;\n }\n\n public getSsrcToMidMap(type: MapType): Map<Mid, Ssrc[]> {\n return this.ssrcToMid[type];\n }\n}\n"],"mappings":";;;;;;;;AAgBA,IAAAA,aAAA,GAAAC,OAAA;AAhBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAQO,MAAMC,gBAAgB,CAAC;EAAAC,YAAA;IAAA,IAAAC,gBAAA,CAAAC,OAAA,qBACG;MAAEC,KAAK,EAAE,IAAIC,GAAG,CAAc,CAAC;MAAEC,MAAM,EAAE,IAAID,GAAG,CAAc;IAAE,CAAC;EAAA;EAEvFE,aAAaA,CAACC,IAAU,EAAEC,IAAwB,EAAmB;IACxE,IAAIC,GAAoB;IACxB,IAAI,CAACC,SAAS,CAACF,IAAI,CAAC,CAACG,OAAO,CAAC,CAACC,KAAK,EAAEC,CAAC,KAAK;MACvC,IAAID,KAAK,CAACE,IAAI,CAAEC,CAAC,IAAKA,CAAC,IAAIR,IAAI,CAAC,EAAE;QAC9BE,GAAG,GAAGI,CAAC;QACP;MACJ;IACJ,CAAC,CAAC;IACF,OAAOJ,GAAG;EACd;EAEOO,KAAKA,CAACC,WAAmB,EAAET,IAAa,EAAQ;IACnD,MAAMU,GAAG,GAAG,IAAAC,mBAAQ,EAACF,WAAW,CAAC;IACjC,MAAMP,SAAS,GAAG,IAAIN,GAAG,CAAc,CAAC;IACxCc,GAAG,CAACE,KAAK,CAACT,OAAO,CAAEE,CAAC,IAAK;MACrB,IAAK,CAAC,CAACA,CAAC,CAACJ,GAAG,IAAII,CAAC,CAACL,IAAI,KAAK,OAAO,IAAKK,CAAC,CAACL,IAAI,KAAK,OAAO,EAAE;QAAA,IAAAa,QAAA;QACvD,MAAMT,KAAa,GAAG,EAAE;QACxB,CAAAS,QAAA,GAAAR,CAAC,CAACD,KAAK,cAAAS,QAAA,uBAAPA,QAAA,CAASV,OAAO,CAAEJ,IAAI,IAAK;UACvB,IAAIA,IAAI,CAACe,SAAS,KAAK,OAAO,EAAE;YAC5BV,KAAK,CAACW,IAAI,CAAE,GAAEhB,IAAI,CAACiB,EAAG,EAAC,CAAC;UAC5B;QACJ,CAAC,CAAC;QACFd,SAAS,CAACe,GAAG,CAAE,GAAEZ,CAAC,CAACJ,GAAI,EAAC,EAAEG,KAAK,CAAC;MACpC;IACJ,CAAC,CAAC;IACF,IAAI,CAACF,SAAS,CAACF,IAAI,CAAC,GAAGE,SAAS;EACpC;EAEOgB,eAAeA,CAAClB,IAAa,EAAoB;IACpD,OAAO,IAAI,CAACE,SAAS,CAACF,IAAI,CAAC;EAC/B;AACJ;AAACmB,OAAA,CAAA5B,gBAAA,GAAAA,gBAAA"}

View File

@@ -1 +1 @@
{"version":3,"file":"mediaTrackHandler.d.ts","sourceRoot":"","sources":["../../../../src/webrtc/stats/media/mediaTrackHandler.ts"],"names":[],"mappings":"AAgBA,MAAM,MAAM,OAAO,GAAG,MAAM,CAAC;AAE7B,qBAAa,iBAAiB;IACP,OAAO,CAAC,QAAQ,CAAC,EAAE;IAAtC,YAAoC,EAAE,EAAE,iBAAiB,EAAI;IAEtD,cAAc,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,GAAG,gBAAgB,EAAE,CAWjE;IAEM,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,gBAAgB,GAAG,SAAS,CAahE;IAEM,oBAAoB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAG3D;IAEM,qBAAqB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAG5D;IAEM,yBAAyB,IAAI,MAAM,CAGzC;IAEM,uBAAuB,CAAC,OAAO,EAAE,OAAO,GAAG,iBAAiB,GAAG,SAAS,CAI9E;CACJ"}
{"version":3,"file":"mediaTrackHandler.d.ts","sourceRoot":"","sources":["../../../../src/webrtc/stats/media/mediaTrackHandler.ts"],"names":[],"mappings":"AAgBA,MAAM,MAAM,OAAO,GAAG,MAAM,CAAC;AAE7B,qBAAa,iBAAiB;IACP,OAAO,CAAC,QAAQ,CAAC,EAAE;gBAAF,EAAE,EAAE,iBAAiB;IAElD,cAAc,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,GAAG,gBAAgB,EAAE;IAa3D,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,gBAAgB,GAAG,SAAS;IAe1D,oBAAoB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAQrD,qBAAqB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAQtD,yBAAyB,IAAI,MAAM;IAKnC,uBAAuB,CAAC,OAAO,EAAE,OAAO,GAAG,iBAAiB,GAAG,SAAS;CAKlF"}

View File

@@ -1,3 +1,9 @@
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.MediaTrackHandler = void 0;
/*
Copyright 2023 The Matrix.org Foundation C.I.C.
@@ -14,7 +20,7 @@ See the License for the specific language governing permissions and
limitations under the License.
*/
export class MediaTrackHandler {
class MediaTrackHandler {
constructor(pc) {
this.pc = pc;
}
@@ -26,10 +32,10 @@ export class MediaTrackHandler {
}
getTackById(trackId) {
return this.pc.getTransceivers().map(t => {
if (t?.sender.track !== null && t.sender.track.id === trackId) {
if ((t === null || t === void 0 ? void 0 : t.sender.track) !== null && t.sender.track.id === trackId) {
return t.sender.track;
}
if (t?.receiver.track !== null && t.receiver.track.id === trackId) {
if ((t === null || t === void 0 ? void 0 : t.receiver.track) !== null && t.receiver.track.id === trackId) {
return t.receiver.track;
}
return undefined;
@@ -37,11 +43,17 @@ export class MediaTrackHandler {
}
getLocalTrackIdByMid(mid) {
const transceiver = this.pc.getTransceivers().find(t => t.mid === mid);
return transceiver?.sender?.track?.id;
if (transceiver !== undefined && !!transceiver.sender && !!transceiver.sender.track) {
return transceiver.sender.track.id;
}
return undefined;
}
getRemoteTrackIdByMid(mid) {
const transceiver = this.pc.getTransceivers().find(t => t.mid === mid);
return transceiver?.receiver?.track?.id;
if (transceiver !== undefined && !!transceiver.receiver && !!transceiver.receiver.track) {
return transceiver.receiver.track.id;
}
return undefined;
}
getActiveSimulcastStreams() {
//@TODO implement this right.. Check how many layer configured
@@ -53,4 +65,5 @@ export class MediaTrackHandler {
});
}
}
exports.MediaTrackHandler = MediaTrackHandler;
//# sourceMappingURL=mediaTrackHandler.js.map

File diff suppressed because one or more lines are too long

View File

@@ -1,5 +1,5 @@
import { type AudioConcealment } from "../statsReport.ts";
import { type TrackId } from "./mediaTrackHandler.ts";
import { AudioConcealment } from "../statsReport";
import { TrackId } from "./mediaTrackHandler";
export interface PacketLoss {
packetsTotal: number;
packetsLost: number;

View File

@@ -1 +1 @@
{"version":3,"file":"mediaTrackStats.d.ts","sourceRoot":"","sources":["../../../../src/webrtc/stats/media/mediaTrackStats.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAEtD,MAAM,WAAW,UAAU;IACvB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,gBAAgB,EAAE,OAAO,CAAC;CAC7B;AAED,MAAM,WAAW,OAAO;IACpB;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IACjB;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;CAClB;AACD,MAAM,WAAW,cAAc;IAC3B;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IAEjB,KAAK,EAAE,MAAM,CAAC;CACjB;AACD,MAAM,WAAW,UAAU;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,MAAM,cAAc,GAAG,OAAO,GAAG,QAAQ,CAAC;AAEhD,qBAAa,eAAe;aAaJ,OAAO,EAAE,OAAO;aAChB,IAAI,EAAE,cAAc;aACpB,IAAI,EAAE,OAAO,GAAG,OAAO;IAd3C,OAAO,CAAC,IAAI,CAA4E;IACxF,OAAO,CAAC,OAAO,CAAuC;IACtD,OAAO,CAAC,UAAU,CAAyC;IAC3D,OAAO,CAAC,gBAAgB,CAAkE;IAC1F,OAAO,CAAC,SAAS,CAAK;IACtB,OAAO,CAAC,MAAM,CAAK;IACnB,OAAO,CAAC,KAAK,CAAM;IACnB,OAAO,CAAC,OAAO,CAAQ;IACvB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,SAAS,CAAQ;IAEzB,YACoB,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,cAAc,EACpB,IAAI,EAAE,OAAO,GAAG,OAAO,EACvC;IAEG,OAAO,IAAI,cAAc,CAE/B;IAEM,OAAO,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI,CAErC;IAEM,OAAO,IAAI,UAAU,CAE3B;IAEM,aAAa,CAAC,UAAU,EAAE,UAAU,GAAG,IAAI,CAEjD;IAEM,aAAa,IAAI,UAAU,CAEjC;IAEM,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAE3C;IAEM,YAAY,IAAI,MAAM,CAE5B;IAEM,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAExC;IAEM,UAAU,IAAI,OAAO,CAE3B;IAEM,QAAQ,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAG/C;IAEM,QAAQ,IAAI,MAAM,CAExB;IAEM,YAAY,IAAI,IAAI,CAE1B;IAED,IAAW,KAAK,CAAC,OAAO,EAAE,OAAO,EAEhC;IAED;;;OAGG;IACH,IAAW,KAAK,IAAI,OAAO,CAE1B;IAED,IAAW,KAAK,CAAC,OAAO,EAAE,OAAO,EAEhC;IAED;;;OAGG;IACH,IAAW,KAAK,IAAI,OAAO,CAE1B;IAED,IAAW,OAAO,CAAC,SAAS,EAAE,OAAO,EAEpC;IAED;;;OAGG;IACH,IAAW,OAAO,IAAI,OAAO,CAE5B;IAEM,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAErC;IAED;;OAEG;IACI,SAAS,IAAI,MAAM,CAEzB;IAED;;OAEG;IACI,mBAAmB,CAAC,sBAAsB,EAAE,MAAM,EAAE,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAG3F;IAEM,mBAAmB,IAAI,gBAAgB,CAE7C;CACJ"}
{"version":3,"file":"mediaTrackStats.d.ts","sourceRoot":"","sources":["../../../../src/webrtc/stats/media/mediaTrackStats.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAE9C,MAAM,WAAW,UAAU;IACvB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,gBAAgB,EAAE,OAAO,CAAC;CAC7B;AAED,MAAM,WAAW,OAAO;IACpB;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IACjB;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;CAClB;AACD,MAAM,WAAW,cAAc;IAC3B;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IAEjB,KAAK,EAAE,MAAM,CAAC;CACjB;AACD,MAAM,WAAW,UAAU;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,MAAM,cAAc,GAAG,OAAO,GAAG,QAAQ,CAAC;AAEhD,qBAAa,eAAe;aAaJ,OAAO,EAAE,OAAO;aAChB,IAAI,EAAE,cAAc;aACpB,IAAI,EAAE,OAAO,GAAG,OAAO;IAd3C,OAAO,CAAC,IAAI,CAA4E;IACxF,OAAO,CAAC,OAAO,CAAuC;IACtD,OAAO,CAAC,UAAU,CAAyC;IAC3D,OAAO,CAAC,gBAAgB,CAAkE;IAC1F,OAAO,CAAC,SAAS,CAAK;IACtB,OAAO,CAAC,MAAM,CAAK;IACnB,OAAO,CAAC,KAAK,CAAM;IACnB,OAAO,CAAC,OAAO,CAAQ;IACvB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,SAAS,CAAQ;gBAGL,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,cAAc,EACpB,IAAI,EAAE,OAAO,GAAG,OAAO;IAGpC,OAAO,IAAI,cAAc;IAIzB,OAAO,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI;IAI/B,OAAO,IAAI,UAAU;IAIrB,aAAa,CAAC,UAAU,EAAE,UAAU,GAAG,IAAI;IAI3C,aAAa,IAAI,UAAU;IAI3B,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAIrC,YAAY,IAAI,MAAM;IAItB,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAIlC,UAAU,IAAI,OAAO;IAIrB,QAAQ,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO;IAKzC,QAAQ,IAAI,MAAM;IAIlB,YAAY,IAAI,IAAI;IAI3B,IAAW,KAAK,CAAC,OAAO,EAAE,OAAO,EAEhC;IAED;;;OAGG;IACH,IAAW,KAAK,IAAI,OAAO,CAE1B;IAED,IAAW,KAAK,CAAC,OAAO,EAAE,OAAO,EAEhC;IAED;;;OAGG;IACH,IAAW,KAAK,IAAI,OAAO,CAE1B;IAED,IAAW,OAAO,CAAC,SAAS,EAAE,OAAO,EAEpC;IAED;;;OAGG;IACH,IAAW,OAAO,IAAI,OAAO,CAE5B;IAEM,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAItC;;OAEG;IACI,SAAS,IAAI,MAAM;IAI1B;;OAEG;IACI,mBAAmB,CAAC,sBAAsB,EAAE,MAAM,EAAE,kBAAkB,EAAE,MAAM,GAAG,IAAI;IAKrF,mBAAmB,IAAI,gBAAgB;CAGjD"}

View File

@@ -1,4 +1,11 @@
import _defineProperty from "@babel/runtime/helpers/defineProperty";
"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.MediaTrackStats = void 0;
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
/*
Copyright 2023 The Matrix.org Foundation C.I.C.
@@ -15,34 +22,34 @@ See the License for the specific language governing permissions and
limitations under the License.
*/
export class MediaTrackStats {
class MediaTrackStats {
constructor(trackId, type, kind) {
_defineProperty(this, "loss", {
this.trackId = trackId;
this.type = type;
this.kind = kind;
(0, _defineProperty2.default)(this, "loss", {
packetsTotal: 0,
packetsLost: 0,
isDownloadStream: false
});
_defineProperty(this, "bitrate", {
(0, _defineProperty2.default)(this, "bitrate", {
download: 0,
upload: 0
});
_defineProperty(this, "resolution", {
(0, _defineProperty2.default)(this, "resolution", {
width: -1,
height: -1
});
_defineProperty(this, "audioConcealment", {
(0, _defineProperty2.default)(this, "audioConcealment", {
concealedAudio: 0,
totalAudioDuration: 0
});
_defineProperty(this, "framerate", 0);
_defineProperty(this, "jitter", 0);
_defineProperty(this, "codec", "");
_defineProperty(this, "isAlive", true);
_defineProperty(this, "isMuted", false);
_defineProperty(this, "isEnabled", true);
this.trackId = trackId;
this.type = type;
this.kind = kind;
(0, _defineProperty2.default)(this, "framerate", 0);
(0, _defineProperty2.default)(this, "jitter", 0);
(0, _defineProperty2.default)(this, "codec", "");
(0, _defineProperty2.default)(this, "isAlive", true);
(0, _defineProperty2.default)(this, "isMuted", false);
(0, _defineProperty2.default)(this, "isEnabled", true);
}
getType() {
return this.type;
@@ -139,4 +146,5 @@ export class MediaTrackStats {
return this.audioConcealment;
}
}
exports.MediaTrackStats = MediaTrackStats;
//# sourceMappingURL=mediaTrackStats.js.map

File diff suppressed because one or more lines are too long

View File

@@ -1,7 +1,7 @@
import { type TrackID } from "../statsReport.ts";
import { MediaTrackStats } from "./mediaTrackStats.ts";
import { type MediaTrackHandler, type TrackId } from "./mediaTrackHandler.ts";
import { type MediaSsrcHandler } from "./mediaSsrcHandler.ts";
import { TrackID } from "../statsReport";
import { MediaTrackStats } from "./mediaTrackStats";
import { MediaTrackHandler, TrackId } from "./mediaTrackHandler";
import { MediaSsrcHandler } from "./mediaSsrcHandler";
export declare class MediaTrackStatsHandler {
readonly mediaSsrcHandler: MediaSsrcHandler;
readonly mediaTrackHandler: MediaTrackHandler;

View File

@@ -1 +1 @@
{"version":3,"file":"mediaTrackStatsHandler.d.ts","sourceRoot":"","sources":["../../../../src/webrtc/stats/media/mediaTrackStatsHandler.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,KAAK,iBAAiB,EAAE,KAAK,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAC9E,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAE9D,qBAAa,sBAAsB;aAIX,gBAAgB,EAAE,gBAAgB;aAClC,iBAAiB,EAAE,iBAAiB;IAJxD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAuC;IAEnE,YACoB,gBAAgB,EAAE,gBAAgB,EAClC,iBAAiB,EAAE,iBAAiB,EACpD;IAEJ;;;;;;OAMG;IACI,eAAe,CAAC,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,QAAQ,GAAG,OAAO,GAAG,eAAe,GAAG,SAAS,CAqCzF;IAEM,wBAAwB,CAAC,MAAM,EAAE,GAAG,GAAG,eAAe,GAAG,SAAS,CAMxE;IAEM,cAAc,IAAI,GAAG,CAAC,OAAO,EAAE,eAAe,CAAC,CAErD;IAEM,wBAAwB,CAAC,OAAO,EAAE,OAAO,GAAG,SAAS,GAAG,iBAAiB,CAE/E;CACJ"}
{"version":3,"file":"mediaTrackStatsHandler.d.ts","sourceRoot":"","sources":["../../../../src/webrtc/stats/media/mediaTrackStatsHandler.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AACzC,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AACjE,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD,qBAAa,sBAAsB;aAIX,gBAAgB,EAAE,gBAAgB;aAClC,iBAAiB,EAAE,iBAAiB;IAJxD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAuC;gBAG/C,gBAAgB,EAAE,gBAAgB,EAClC,iBAAiB,EAAE,iBAAiB;IAGxD;;;;;;OAMG;IACI,eAAe,CAAC,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,QAAQ,GAAG,OAAO,GAAG,eAAe,GAAG,SAAS;IAuCnF,wBAAwB,CAAC,MAAM,EAAE,GAAG,GAAG,eAAe,GAAG,SAAS;IAQlE,cAAc,IAAI,GAAG,CAAC,OAAO,EAAE,eAAe,CAAC;IAI/C,wBAAwB,CAAC,OAAO,EAAE,OAAO,GAAG,SAAS,GAAG,iBAAiB;CAGnF"}

View File

@@ -1,4 +1,12 @@
import _defineProperty from "@babel/runtime/helpers/defineProperty";
"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.MediaTrackStatsHandler = void 0;
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
var _mediaTrackStats = require("./mediaTrackStats");
/*
Copyright 2023 The Matrix.org Foundation C.I.C.
@@ -15,12 +23,11 @@ See the License for the specific language governing permissions and
limitations under the License.
*/
import { MediaTrackStats } from "./mediaTrackStats.js";
export class MediaTrackStatsHandler {
class MediaTrackStatsHandler {
constructor(mediaSsrcHandler, mediaTrackHandler) {
_defineProperty(this, "track2stats", new Map());
this.mediaSsrcHandler = mediaSsrcHandler;
this.mediaTrackHandler = mediaTrackHandler;
(0, _defineProperty2.default)(this, "track2stats", new Map());
}
/**
@@ -51,7 +58,7 @@ export class MediaTrackStatsHandler {
const track = this.mediaTrackHandler.getTackById(trackID);
if (track !== undefined) {
const kind = track.kind === "audio" ? track.kind : "video";
trackStats = new MediaTrackStats(trackID, type, kind);
trackStats = new _mediaTrackStats.MediaTrackStats(trackID, type, kind);
this.track2stats.set(trackID, trackStats);
} else {
return undefined;
@@ -73,4 +80,5 @@ export class MediaTrackStatsHandler {
return this.mediaTrackHandler.getTransceiverByTrackId(trackID);
}
}
exports.MediaTrackStatsHandler = MediaTrackStatsHandler;
//# sourceMappingURL=mediaTrackStatsHandler.js.map

File diff suppressed because one or more lines are too long