decord/source/4270__createForOfIteratorHelperLoose.js
2026-07-20 16:05:17 +00:00

305 lines
8.7 KiB
JavaScript

// Module ID: 4270
// Function ID: 37346
// Name: _createForOfIteratorHelperLoose
// Dependencies: []
// Module 4270 (_createForOfIteratorHelperLoose)
function _createForOfIteratorHelperLoose(@@iterator) {
let closure_0 = Symbol_iterator;
@@iterator = "undefined" !== typeof Symbol;
if (Symbol_iterator) {
const _Symbol = Symbol;
@@iterator = Symbol_iterator[Symbol.iterator];
}
if (!Symbol_iterator) {
@@iterator = Symbol_iterator[Symbol.iterator];
}
if (Symbol_iterator) {
const iter = Symbol_iterator.call(Symbol_iterator);
const next = iter.next;
return next.bind(iter);
} else {
const _Array = Array;
let tmp = Symbol_iterator;
if (!Array.isArray(Symbol_iterator)) {
let tmp2;
if (Symbol_iterator) {
if ("string" === typeof Symbol_iterator) {
tmp2 = _arrayLikeToArray(Symbol_iterator, undefined);
} else {
const toString = {}.toString;
const substr = toString.call(Symbol_iterator).slice(8, -1);
let name = substr;
if (tmp3) {
name = Symbol_iterator.constructor.name;
}
if ("Map" !== name) {
if ("Set" !== name) {
if ("Arguments" === name) {
let arr = _arrayLikeToArray(Symbol_iterator, undefined);
} else {
const obj = /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/;
}
}
tmp2 = arr;
}
const _Array2 = Array;
arr = Array.from(Symbol_iterator);
const callResult = toString.call(Symbol_iterator);
const tmp3 = "Object" === substr && Symbol_iterator.constructor;
}
}
tmp = tmp2;
if (!tmp2) {
const _TypeError = TypeError;
const typeError = new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
throw typeError;
}
}
if (tmp) {
closure_0 = tmp;
}
let closure_1 = 0;
return () => {
if (closure_1 >= tmp.length) {
let obj = { done: true };
} else {
obj = { done: false };
closure_1 = tmp3 + 1;
obj.value = tmp[+closure_1];
}
return obj;
};
}
}
function _arrayLikeToArray(arg0, arg1) {
let length;
if (tmp) {
length = arg0.length;
}
const ArrayResult = Array(length);
for (let num = 0; num < length; num = num + 1) {
ArrayResult[num] = arg0[num];
}
return ArrayResult;
}
let closure_0 = importDefault(dependencyMap[0]);
let closure_1 = importDefault(dependencyMap[1]);
({ defaultVideoQualityOptions: closure_2, VIDEO_QUALITY_FRAMERATE: closure_3, VIDEO_QUALITY_FRAMERATE_MUTED_2: closure_4, VIDEO_QUALITY_FRAMERATE_MUTED: closure_5 } = arg1(dependencyMap[2]));
const tmp2 = arg1(dependencyMap[2]);
const tmp3 = () => {
class MediaSinkWantsLadder {
constructor() {
tmp = arg0;
self = this;
if (arg0 === undefined) {
tmp = closure_2;
}
tmp2 = MediaSinkWantsLadder(self, MediaSinkWantsLadder);
({ width, height } = tmp.videoBudget);
if (width > 0) {
if (height > 0) {
self.pixelBudget = width * height;
tmp3 = MediaSinkWantsLadder;
self.ladder = MediaSinkWantsLadder.calculateLadder(self.pixelBudget);
self.orderedLadder = MediaSinkWantsLadder.calculateOrderedLadder(self.ladder);
return;
}
}
error = new Error("Invalid argument");
throw error;
}
}
let closure_0 = MediaSinkWantsLadder;
let obj = {
key: "getMaxSinkValue",
value(arg0) {
let pixelCount;
let wantValue;
let num = arg1;
const self = this;
if (arg1 === undefined) {
num = 0;
}
if (arg0 < 0) {
const _Error = Error;
const error = new Error("getMaxSinkValue: Requested " + arg0);
throw error;
} else {
const wantValue2 = self.orderedLadder[0].wantValue;
const tmp9 = callback(self.orderedLadder);
const iter3 = tmp9();
let iter2 = iter3;
let tmp2 = wantValue2;
let tmp = wantValue2;
if (!iter3.done) {
while (true) {
({ pixelCount, wantValue } = iter2.value);
if (num <= 0) {
tmp = tmp2;
if (pixelCount * arg0 > self.pixelBudget) {
break;
} else {
let iter = tmp9();
iter2 = iter;
tmp2 = wantValue;
tmp = wantValue;
if (iter.done) {
break;
}
}
} else {
tmp = wantValue;
if (num < pixelCount) {
break;
}
}
break;
}
}
return tmp;
}
}
};
const items = [obj, ];
obj = {
key: "getResolution",
value(arg0) {
const tmp = callback(this.orderedLadder);
const iter = tmp();
let iter2 = iter;
let tmp2 = null;
let first = null;
if (!iter.done) {
const value = iter2.value;
first = tmp2;
while (arg0 >= value.wantValue) {
let iter3 = tmp();
iter2 = iter3;
tmp2 = value;
first = value;
if (iter3.done) {
break;
}
}
}
const obj = {};
if (null == first) {
first = this.orderedLadder[0];
}
({ width: obj.width, height: obj.height, budgetPortion: obj.budgetPortion, mutedFramerate: obj.mutedFramerate, framerate: obj.framerate } = first);
return obj;
}
};
items[1] = obj;
obj = {
key: "calculateLadder",
value(arg0) {
let budgetPortion;
let height;
let width;
const set = new Set([]);
const items = [];
let num = 1;
let num2 = 1;
do {
let result = 16 * num2 / 9;
if (set.has(result % 16)) {
if (set.has(num2 % 16)) {
let result1 = result * num2;
let obj = { pixelCount: result1, width: result, height: num2, budgetPortion: result1 / arg0, wantValue: 0 };
let arr = items.push(obj);
}
}
num2 = num2 + 1;
} while (num2 < 4096);
obj = {};
let num3 = 100;
let num4 = 0;
do {
let tmp4 = closure_6;
let tmp5 = closure_6(items);
let iter = tmp5();
let iter2 = iter;
width = 0;
height = 0;
budgetPortion = 0;
let num5 = 0;
let num6 = 0;
let num7 = 0;
if (!iter.done) {
let value = iter2.value;
num5 = width;
num6 = height;
num7 = budgetPortion;
let tmp6 = value;
while (value.pixelCount * num <= arg0) {
({ width, height, budgetPortion } = value);
let iter3 = tmp5();
iter2 = iter3;
num5 = width;
num6 = height;
num7 = budgetPortion;
let tmp7 = value;
if (iter3.done) {
break;
}
}
}
let diff = num3;
if (num4 !== num5) {
let tmp9 = closure_0;
let obj1 = { width: num5, height: num6, budgetPortion: num7, mutedFramerate: closure_0.getMutedFramerate(num3) };
let tmp10 = closure_3;
obj1.framerate = closure_3;
obj[num3] = obj1;
diff = num3 - 10;
num4 = num5;
}
num = num + 1;
num3 = diff;
} while (num <= 25);
return obj;
}
};
const items1 = [
obj,
{
key: "getMutedFramerate",
value(arg0) {
return arg0 <= 20 ? closure_4 : closure_5;
}
},
{
key: "calculateOrderedLadder",
value(arg0) {
let iter2;
const items = [];
const keys = Object.keys(arg0);
const mapped = keys.map((arg0) => Number(arg0));
const tmp = callback(mapped.sort((arg0, arg1) => arg0 - arg1));
let iter = tmp();
if (!iter.done) {
do {
let value = iter.value;
if (0 !== value) {
let size = arg0[value];
let obj = { pixelCount: size.width * size.height, wantValue: value };
let tmp2 = obj;
let tmp3 = size;
let merged = Object.assign(size);
let arr = items.push(obj);
}
iter2 = tmp();
iter = iter2;
} while (!iter2.done);
}
return items;
}
}
];
return callback(MediaSinkWantsLadder, items, items1);
}();
const result = arg1(dependencyMap[3]).fileFinishedImporting("../discord_common/js/packages/media-engine/MediaSinkWantsLadder.tsx");
export const MediaSinkWantsLadder = tmp3;