mirror of
https://github.com/spacebarchat/server.git
synced 2024-11-10 04:32:35 +01:00
Forgot the webrtc client plugin
This commit is contained in:
parent
2779233117
commit
ab107ca4e8
74
api/assets/preload-plugins/webrtc.js
Normal file
74
api/assets/preload-plugins/webrtc.js
Normal file
@ -0,0 +1,74 @@
|
||||
(this.webpackChunkdiscord_app = this.webpackChunkdiscord_app || []).push([
|
||||
[[228974]],
|
||||
{
|
||||
632540: (module, exports, req) => {
|
||||
window.find = (filter, options = {}) => {
|
||||
const { cacheOnly = false } = options;
|
||||
for (let i in req.c) {
|
||||
if (req.c.hasOwnProperty(i)) {
|
||||
let m = req.c[i].exports;
|
||||
if (m && m.__esModule && m.default && filter(m.default)) return m.default;
|
||||
if (m && filter(m)) return m;
|
||||
}
|
||||
}
|
||||
if (cacheOnly) {
|
||||
console.warn("Cannot find loaded module in cache");
|
||||
return null;
|
||||
}
|
||||
console.warn("Cannot find loaded module in cache. Loading all modules may have unexpected side effects");
|
||||
for (let i = 0; i < req.m.length; ++i) {
|
||||
let m = req(i);
|
||||
if (m && m.__esModule && m.default && filter(m.default)) return m.default;
|
||||
if (m && filter(m)) return m;
|
||||
}
|
||||
console.warn("Cannot find module");
|
||||
return null;
|
||||
};
|
||||
window.findByUniqueProperties = (propNames, options) =>
|
||||
find((module) => propNames.every((prop) => module[prop] !== undefined), options);
|
||||
window.findByDisplayName = (displayName, options) => find((module) => module.displayName === displayName, options);
|
||||
window.req = req;
|
||||
|
||||
init();
|
||||
}
|
||||
},
|
||||
(t) => t(632540)
|
||||
]);
|
||||
|
||||
function retry(callback) {
|
||||
return new Promise((resolve) => {
|
||||
const interval = setInterval(() => {
|
||||
const mod = callback();
|
||||
if (!mod) return;
|
||||
|
||||
clearInterval(interval);
|
||||
resolve(mod);
|
||||
}, 50);
|
||||
});
|
||||
}
|
||||
|
||||
async function init() {
|
||||
const SDP = await retry(() => findByUniqueProperties(["truncateSDP"]));
|
||||
const StringManipulator = findByUniqueProperties(["uniq"]);
|
||||
|
||||
const truncateSDP = SDP.truncateSDP;
|
||||
SDP.truncateSDP = (e) => {
|
||||
const result = truncateSDP(e);
|
||||
const i = result.codecs.find((x) => x.name === "VP8");
|
||||
const a = new RegExp("^a=ice|a=extmap|opus|VP8|fingerprint|" + i?.rtxPayloadType + " rtx", "i");
|
||||
return {
|
||||
sdp: StringManipulator(e)
|
||||
.split(/\r\n/)
|
||||
.filter(function (e) {
|
||||
return a.test(e);
|
||||
})
|
||||
.uniq()
|
||||
.join("\n"),
|
||||
codecs: result.codecs
|
||||
};
|
||||
};
|
||||
// SDP.generateUnifiedSessionDescription = (e) => {
|
||||
// console.log(e);
|
||||
// return new RTCSessionDescription({ sdp: e.baseSDP.replace(/sendonly/g, "recvonly"), type: "answer" });
|
||||
// };
|
||||
}
|
Loading…
Reference in New Issue
Block a user