decord/beta/source/modules/messages/MediaPlaybackFacts.tsx
2026-10-07 22:43:51 +00:00

137 lines
3.1 KiB
TypeScript

// Module ID: 9993
// Function ID: 9994
// Name: MediaPlaybackFacts
// Dependencies: [2]
// Exports: clearMediaPlaybackFactsForTest, getMediaPlaybackFacts, mediaItemIdFromSource, rememberMediaPlaybackFacts, resolveReportedMediaFacts
// Module 9993 (MediaPlaybackFacts)
import size_mod from "module_2" /* 2 */;
let set;
const map = new Map();
const re1 = /\/[^/?#]+\/\d+\/(\d+)\/[^/?#]+/;
let size = size_mod;
let result = size.fileFinishedImporting("modules/messages/MediaPlaybackFacts.tsx");
export const rememberMediaPlaybackFacts = function rememberMediaPlaybackFacts(id) {
let duration_secs;
id = id.id;
if (null != id) {
if ("" !== id) {
if (map.has(id)) {
map.delete(id);
} else if (map.size >= 512) {
const iter = map.keys();
const iter2 = iter.next();
if (!iter2.done) {
map.delete(iter2.value);
}
}
size = id.size;
set = map.set;
if (size == null) {
size = null;
}
const obj = { fileSize: size, fileDurationSec: duration_secs };
duration_secs = id.duration_secs;
if (duration_secs == null) {
duration_secs = null;
}
const result = set(id, obj);
}
}
};
export const mediaItemIdFromSource = function mediaItemIdFromSource(arg0) {
if (null != arg0) {
if ("" !== arg0) {
const match = re1.exec(arg0);
let tmp3;
if (match != null) {
tmp3 = match[1];
}
if (tmp3 == null) {
tmp3 = null;
}
return tmp3;
}
}
return null;
};
export const getMediaPlaybackFacts = function getMediaPlaybackFacts(arg0) {
let tmp = null;
if (null != arg0) {
tmp = null;
if ("" !== arg0) {
const match = re1.exec(arg0);
let tmp4;
if (match != null) {
tmp4 = match[1];
}
if (tmp4 == null) {
tmp4 = null;
}
tmp = tmp4;
}
}
let tmp5 = null;
if (null != tmp) {
let value = map.get(tmp);
if (value == null) {
value = null;
}
tmp5 = value;
}
return tmp5;
};
export const resolveReportedMediaFacts = function resolveReportedMediaFacts(mediaSource, fileDurationSec) {
let tmp = null;
if (null != mediaSource) {
tmp = null;
if ("" !== mediaSource) {
const match = re1.exec(mediaSource);
let tmp4;
if (match != null) {
tmp4 = match[1];
}
if (tmp4 == null) {
tmp4 = null;
}
tmp = tmp4;
}
}
let tmp5 = null;
if (null != tmp) {
let value = map.get(tmp);
if (value == null) {
value = null;
}
tmp5 = value;
}
let tmp8 = null;
if (null != fileDurationSec) {
tmp8 = null;
if (fileDurationSec > 0) {
tmp8 = fileDurationSec;
}
}
let fileSize;
if (tmp5 != null) {
fileSize = tmp5.fileSize;
}
if (fileSize == null) {
fileSize = null;
}
const obj = { fileSize, fileDurationSec };
fileDurationSec = undefined;
if (tmp5 != null) {
fileDurationSec = tmp5.fileDurationSec;
}
if (fileDurationSec == null) {
fileDurationSec = tmp8;
}
return obj;
};
export const clearMediaPlaybackFactsForTest = function clearMediaPlaybackFactsForTest() {
map.clear();
};