Initial commit

This commit is contained in:
janisslsm committed 2026-07-27 16:20:00 +03:00
commit af3b49f756
16065 files changed
+2938410

No files matched your search

@@ -0,0 +1,25 @@
/* Metro module 12417; source: modules/media_engine/AGC2Experiment.tsx; dependencies: [1854, 2] */
function _fun94713(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#94713, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12603:6, offset: 0x02124636, size: 318 bytes, params: 8, frame: 24
var object2;
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
object2 = {'useAGC2': true, 'enableAnalog': false, 'enableDigital': true, 'headroom_db': 5, 'max_gain_db': 50,
'initial_gain_db': 15, 'max_gain_change_db_per_second': 6, 'max_output_noise_level_dbfs': -50,
'fixed_gain_db': 0};
const env0_0 = (require(1854) /* metro dependency 1854: apex */).createApexExperiment({'kind': 'user',
'name': '2025-09-agc2-v2', defaultConfig: {noiseCancellationDuringProcessing: false,
noiseCancellationConfig: {useAGC2: false}}, variations: {[1]: {noiseCancellationDuringProcessing: true,
noiseCancellationConfig: {useAGC2: false}}, [2]: {'noiseCancellationDuringProcessing': true,
'noiseCancellationConfig': null, 'vadKrispActivationThreshold': 0.5, noiseCancellationConfig: object2},
[3]: {'noiseCancellationDuringProcessing': true, 'noiseCancellationConfig': null,
'vadKrispActivationThreshold': 0.55, noiseCancellationConfig: object2},
[4]: {'noiseCancellationDuringProcessing': true, 'noiseCancellationConfig': null,
'vadKrispActivationThreshold': 0.6, noiseCancellationConfig: object2},
[5]: {'noiseCancellationDuringProcessing': true, 'noiseCancellationConfig': null,
'vadKrispActivationThreshold': 0.65, noiseCancellationConfig: object2},
[6]: {'noiseCancellationDuringProcessing': true, 'noiseCancellationConfig': null,
'vadKrispActivationThreshold': 0.7, noiseCancellationConfig: object2}}});
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/media_engine/AGC2Experiment.tsx');
exports.getAGC2ExperimentConfig = getAGC2ExperimentConfig;
}
@@ -0,0 +1,11 @@
/* Metro module 12400; source: modules/media_engine/AV1BitrateTuningExperiment.tsx; dependencies: [1854, 2] */
function _fun94505(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#94505, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12586:6, offset: 0x0211aa48, size: 174 bytes, params: 8, frame: 20
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
let value = require(1854) /* metro dependency 1854: apex */;
value = value.createApexExperiment({'name': '2026-05-av1-bitrate-tuning', 'kind': 'user',
defaultConfig: {bitrate: 3500000}, variations: {[1]: {bitrate: 3000000}, [2]: {bitrate: 2500000}}});
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/media_engine/AV1BitrateTuningExperiment.tsx');
exports.AV1StreamBitrateReductionExperiment = value;
}
@@ -0,0 +1,10 @@
/* Metro module 12472; source: modules/media_engine/AV1DecodeExperimentAndroid.tsx; dependencies: [1854, 2] */
function _fun94895(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#94895, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12658:6, offset: 0x0212b668, size: 158 bytes, params: 8, frame: 21
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
const env0_0 = (require(1854) /* metro dependency 1854: apex */).createApexExperiment({'name': '2026-04-av1-decode-android',
'kind': 'user', defaultConfig: {enabled: false}, variations: {[1]: {enabled: true}}});
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/media_engine/AV1DecodeExperimentAndroid.tsx');
exports.getAV1DecodeExperimentAndroidConfig = getAV1DecodeExperimentAndroidConfig;
}
@@ -0,0 +1,19 @@
/* Metro module 12482; source: modules/media_engine/AudioEffectsExperiment.tsx; dependencies: [1854, 2] */
function _fun95018(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#95018, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12672:6, offset: 0x0212edc6, size: 161 bytes, params: 8, frame: 21
var object3;
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
object3 = {probeAudioEffects: false};
let value = require(1854) /* metro dependency 1854: apex */;
const createApexExperiment = value.createApexExperiment;
const object5 = {'name': '2026-03-audio-effects-probe', 'kind': 'user'};
object5.defaultConfig = object3;
const object6 = {};
copyDataProperties(object6, object3, undefined);
object6['probeAudioEffects'] = true;
object5.variations = {[1]: object6};
value = Reflect.apply(createApexExperiment, value, [object5]);
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/media_engine/AudioEffectsExperiment.tsx');
exports.default = value;
}
@@ -0,0 +1,195 @@
/* Metro module 12409; source: modules/media_engine/BandwidthEstimationExperiment.tsx; dependencies: [4620, 2] */
function _fun94676(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#94676, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12595:6, offset: 0x021234db, size: 431 bytes, params: 8, frame: 22
var object2;
const _arrayLikeToArray_94679 = function(a0, a1) {
var r0;
var r1;
var r2;
var value3;
var length;
var value5;
var value = undefined;
var value2 = value == null;
reducibleJoin2: while (true) {
if (value2) {
r0 = value2;
break reducibleJoin2;
}
value3 = value > a0.length;
r0 = value3;
break reducibleJoin2;
}
reducibleJoin4: while (true) {
if (r0) {
length = a0.length;
r1 = length;
break reducibleJoin4;
}
r1 = value;
break reducibleJoin4;
}
value = (0, global.Array)(r1);
var value4 = 0;
if (value4 < r1) {
r2 = value4;
reducibleLoop5: while (true) {
value[r2] = a0[r2];
value5 = typeof r2 === 'bigint' ? r2 + 1n : +r2 + 1;
if (value5 < r1) {
r2 = value5;
continue reducibleLoop5;
}
break reducibleLoop5;
}
}
return value;
};
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
const env0_0 = (require(4620) /* metro dependency 4620: experiments */).createExperiment({'kind': 'user',
'id': '2024-06_rtc_pacer__simulcast', 'label': 'RTC Pacer & Golive Simulcast', defaultConfig: {'enabled': true,
'fullname': 'bandwidth_estimation/trendline-window-duration-3750,robust-estimator/', 'simulcastEnabled': false},
treatments: [{'id': 1, 'label': 'Golive Simulcast without prober 720p@500k', config: {'enabled': true,
'fullname': 'bandwidth_estimation/trendline-window-duration-3750,robust-estimator/', 'simulcastEnabled': true}},
{'id': 2, 'label': 'Golive Simulcast 720p@500k', config: {'enabled': true,
'fullname': 'bandwidth_estimation/trendline-window-duration-3750,robust-estimator/worker-pacer,worker-pacer-probe',
'simulcastEnabled': true}}, {'id': 3, 'label': 'Golive with pacing', config: {'enabled': true,
'fullname': 'bandwidth_estimation/trendline-window-duration-3750,robust-estimator/worker-pacer',
'simulcastEnabled': false}}, {'id': 4, 'label': 'Golive with pacing and probing', config: {'enabled': true,
'fullname': 'bandwidth_estimation/trendline-window-duration-3750,robust-estimator/worker-pacer,worker-pacer-probe',
'simulcastEnabled': false}}, {'id': 5, 'label': 'Golive Simulcast 720p@750k', config: {'enabled': true,
'fullname': 'bandwidth_estimation/trendline-window-duration-3750,robust-estimator/worker-pacer-probe,worker-lq-floor-750k',
'simulcastEnabled': true}}, {'id': 6, 'label': 'Golive Simulcast 720p@1000k', config: {'enabled': true,
'fullname': 'bandwidth_estimation/trendline-window-duration-3750,robust-estimator/worker-pacer-probe,worker-lq-floor-1000k',
'simulcastEnabled': true}}]});
object2 = {getConfig: getConfig_94680, supportsBandwidthEstimationExperimentFullname: function(a0, a1) {
var value4;
var value5;
var value = this.getMediaEngineExperiments(a0);
if (value !== null) {
value = _createForOfIteratorHelperLoose_94677(value);
var value3 = value();
if (value3.done) {
return true;
}
var r1 = value3;
loopExit2: while (true) {
value4 = r1.value;
if (a1.includes(value4)) {
value5 = value();
if (value5.done) {
return true;
}
r1 = value5;
continue;
}
break loopExit2;
}
}
return false;
}, getMediaEngineExperiments: function(a0) {
var r0;
var value = a0.split('/');
var value2 = null;
if (value.length !== 3) {
r0 = value2;
} else if (value[0] !== 'bandwidth_estimation') {
r0 = value2;
} else {
value = value[1].split(',');
value = value.filter(_fun94683);
r0 = value;
}
return r0;
}};
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/media_engine/BandwidthEstimationExperiment.tsx');
exports.default = object2;
}
function _createForOfIteratorHelperLoose_94677(a0, a1) { // fn#94677, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12595:46, offset: 0x0212368a, size: 372 bytes, params: 3, frame: 20
var r6;
var r9;
var r5;
var value3;
var regexp;
const env0_0 = a0;
const Symbol = global.Symbol;
let value = typeof Symbol !== 'undefined';
let r1 = value && a0[global.Symbol.iterator];
r1 = !r1 ? a0['@@iterator'] : r1;
if (r1) {
value = r1.call(a0);
return value.next.bind(value);
}
const Array = global.Array;
if (Array.isArray(a0)) {
if (r1) {
}
return _fun94678;
}
value = undefined;
if (a0) {
if (typeof a0 === 'string') {
value = _arrayLikeToArray_94679(a0, value);
r5 = value;
} else {
value3 = ({}).toString.call(a0).slice(8, -1);
r6 = value3 === 'Object' && a0.constructor;
r9 = r6 ? a0.constructor.name : value3;
if (r9 === 'Map') {
r6 = global.Array.from(a0);
} else if (r9 === 'Set') {
r6 = global.Array.from(a0);
} else if (r9 === 'Arguments') {
value = _arrayLikeToArray_94679(a0, value);
r6 = value;
} else {
regexp = RegExp('^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$', '');
if (regexp.test(r9)) {
value = _arrayLikeToArray_94679(a0, value);
r6 = value;
} else {
r6 = value;
}
}
r5 = r6;
}
} else {
r5 = value;
}
if (r5) {
if (r5) {
}
return _fun94678;
}
const TypeError = global.TypeError;
throw new TypeError('Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.');
}
function getConfig_94680(a0, a1) { // fn#94680, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12595:2411, offset: 0x021237fe, size: 78 bytes, params: 3, frame: 15
const currentConfig = env0_0.getCurrentConfig({location: 'e1c55b_1'}, {autoTrackExposure: a0});
if (!this.supportsBandwidthEstimationExperimentFullname(currentConfig.fullname, a1)) {
currentConfig.enabled = false;
}
return currentConfig;
}
function getMediaEngineExperiments(a0) { // fn#94682, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12595:2813, offset: 0x021238ad, size: 91 bytes, params: 2, frame: 13
var r0;
let value = a0.split('/');
const length = value.length;
const value2 = null;
if (length !== 3) {
r0 = value2;
} else if (value[0] !== 'bandwidth_estimation') {
r0 = value2;
} else {
value = value[1].split(',');
value = value.filter(function(a0) {
return a0.length !== 0;
});
r0 = value;
}
return r0;
}
@@ -0,0 +1,11 @@
/* Metro module 12473; source: modules/media_engine/BrowserHevcExperiment.tsx; dependencies: [1854, 2] */
function _fun94897(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#94897, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12659:6, offset: 0x0212b706, size: 145 bytes, params: 8, frame: 20
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
let value = require(1854) /* metro dependency 1854: apex */;
value = value.createApexExperiment({'name': '2025-08-browser-hevc', 'kind': 'user', defaultConfig: {enabled: false},
variations: {[1]: {enabled: true}}});
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/media_engine/BrowserHevcExperiment.tsx');
exports.default = value;
}
@@ -0,0 +1,30 @@
/* Metro module 12390; source: modules/media_engine/BrowserInvertedWantsExperiment.tsx; dependencies: [1854, 478, 2] */
function _fun94409(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#94409, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12576:6, offset: 0x0211702d, size: 168 bytes, params: 8, frame: 21
const env0_0 = require;
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
const env0_2 = (require(1854) /* metro dependency 1854: apex */).createApexExperiment({'kind': 'user',
'name': '2026-03-browser-inverted-wants', defaultConfig: {invertWants: false},
variations: {[1]: {invertWants: true}}});
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/media_engine/BrowserInvertedWantsExperiment.tsx');
exports.getBrowserInvertedWantsConfig = getBrowserInvertedWantsConfig;
}
function getBrowserInvertedWantsConfig(a0) { // fn#94410, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12576:364, offset: 0x021170d5, size: 76 bytes, params: 2, frame: 12
var r0;
var binding;
var getConfig;
const isDesktop2 = (require(478) /* metro dependency 478: PlatformUtils */).isDesktop();
const object2 = {};
if (isDesktop2) {
object2.invertWants = false;
r0 = object2;
} else {
binding = env0_2;
getConfig = binding.getConfig;
object2.location = a0;
r0 = Reflect.apply(getConfig, binding, [object2]);
}
return r0;
}
@@ -0,0 +1,11 @@
/* Metro module 12393; source: modules/media_engine/BrowserTransceiverPaddingRemovalExperiment.tsx; dependencies: [1854, 2] */
function _fun94495(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#94495, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12579:6, offset: 0x0211a61b, size: 145 bytes, params: 8, frame: 20
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
let value = require(1854) /* metro dependency 1854: apex */;
value = value.createApexExperiment({'name': '2026-04-browser-transceiver-padding-removal', 'kind': 'user',
defaultConfig: {enabled: false}, variations: {[1]: {enabled: true}}});
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/media_engine/BrowserTransceiverPaddingRemovalExperiment.tsx');
exports.BrowserTransceiverPaddingRemovalExperiment = value;
}
@@ -0,0 +1,445 @@
/* Metro module 4302; source: modules/media_engine/DeviceFrecencyStore.tsx; dependencies: [6, 7, 15, 17, 18, 4259, 1878, 4291, 4303, 4393, 566, 22, 694, 2] */
function _fun36830(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#36830, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4474:6, offset: 0x01098db8, size: 852 bytes, params: 8, frame: 23
var object5;
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
const env0_2 = importDefault(6) /* metro dependency 6 */;
const env0_3 = importDefault(7) /* metro dependency 7 */;
const env0_4 = importDefault(15) /* metro dependency 15 */;
const env0_5 = importDefault(17) /* metro dependency 17 */;
const env0_6 = importDefault(18) /* metro dependency 18 */;
const mediaEngineStore = importDefault(4259) /* metro dependency 4259: MediaEngineStore */;
const userStore = importDefault(1878) /* metro dependency 1878: UserStore */;
const constantsModule = require(4291) /* metro dependency 4291: Constants */;
const DeviceTypes = constantsModule.DeviceTypes;
const env0_10 = constantsModule.MediaEngineContextTypes;
const env0_11 = constantsModule.SpeakingFlags;
object5 = {};
let AUDIO_INPUT = DeviceTypes.AUDIO_INPUT;
object5.inputDeviceFrecency = AUDIO_INPUT;
let AUDIO_OUTPUT = DeviceTypes.AUDIO_OUTPUT;
object5.outputDeviceFrecency = AUDIO_OUTPUT;
let VIDEO_INPUT = DeviceTypes.VIDEO_INPUT;
object5.videoDeviceFrecency = VIDEO_INPUT;
object5 = {afterCompute: function() {
}, computeBonus: function() {
return 100;
}, lookupKey: function(a0) {
return a0;
}, maxSamples: 256, numFrequentlyItems: Infinity};
const object6 = {};
AUDIO_INPUT = DeviceTypes.AUDIO_INPUT;
const StopWatch = (require(4303) /* metro dependency 4303: TimeUtils */).StopWatch;
let stopWatch = new StopWatch();
object6[AUDIO_INPUT] = stopWatch;
AUDIO_OUTPUT = DeviceTypes.AUDIO_OUTPUT;
object6[AUDIO_OUTPUT] = new StopWatch();
VIDEO_INPUT = DeviceTypes.VIDEO_INPUT;
object6[VIDEO_INPUT] = new StopWatch();
const object7 = {};
AUDIO_INPUT = DeviceTypes.AUDIO_INPUT;
object7[AUDIO_INPUT] = {};
AUDIO_OUTPUT = DeviceTypes.AUDIO_OUTPUT;
object7[AUDIO_OUTPUT] = {};
VIDEO_INPUT = DeviceTypes.VIDEO_INPUT;
object7[VIDEO_INPUT] = {};
const object8 = {};
AUDIO_INPUT = DeviceTypes.AUDIO_INPUT;
stopWatch = importDefault(4393) /* metro dependency 4393: Frecency */;
stopWatch = new stopWatch(object5);
object8[AUDIO_INPUT] = stopWatch;
AUDIO_OUTPUT = DeviceTypes.AUDIO_OUTPUT;
stopWatch = importDefault(4393) /* metro dependency 4393: Frecency */;
stopWatch = new stopWatch(object5);
object8[AUDIO_OUTPUT] = stopWatch;
VIDEO_INPUT = DeviceTypes.VIDEO_INPUT;
stopWatch = importDefault(4393) /* metro dependency 4393: Frecency */;
stopWatch = new stopWatch(object5);
object8[VIDEO_INPUT] = stopWatch;
const PersistedStore = (importDefault(566) /* metro dependency 566: flux */).PersistedStore;
stopWatch = _fun36838(PersistedStore);
stopWatch.displayName = 'DeviceFrecencyStore';
stopWatch.persistKey = 'DeviceFrecencyStore';
stopWatch.migrations = [_fun36860];
stopWatch = new stopWatch(importDefault(694) /* metro dependency 694: Dispatcher */,
{AUDIO_SET_INPUT_DEVICE: function(a0) {
return handleSetDevice(DeviceTypes.AUDIO_INPUT, a0);
}, AUDIO_SET_OUTPUT_DEVICE: function(a0) {
return handleSetDevice(DeviceTypes.AUDIO_OUTPUT, a0);
}, MEDIA_ENGINE_SET_VIDEO_DEVICE: function(a0) {
return handleSetDevice(DeviceTypes.VIDEO_INPUT, a0);
}, SPEAKING: SPEAKING, RTC_CONNECTION_CLIENT_CONNECT: RTC_CONNECTION_CLIENT_CONNECT_36866});
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/media_engine/DeviceFrecencyStore.tsx');
exports.default = stopWatch;
}
function _isNativeReflectConstruct_36831() { // fn#36831, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4474:240, offset: 0x0109910c, size: 94 bytes, params: 1, frame: 18
var Boolean;
var prototype;
var valueOf;
var call;
var Reflect;
var construct;
var closure;
var value;
var error;
try {
Boolean = global.Boolean;
prototype = Boolean.prototype;
valueOf = prototype.valueOf;
call = valueOf.call;
Reflect = global.Reflect;
construct = Reflect.construct;
Boolean = global.Boolean;
closure = function() {
};
value = Reflect.apply(construct, Reflect, [Boolean, [], closure]);
value = Reflect.apply(call, valueOf, [value]);
var result = !value;
} catch (error) {
}
return (_isNativeReflectConstruct_36831_isNativeReflectConstruct = function() {
return !!result;
})();
}
function handleSetDevice(a0, {oldId}) { // fn#36834, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4474:643, offset: 0x0109916a, size: 72 bytes, params: 3, frame: 14
let binding = env0_16;
if (binding.isSampling(a0)) {
binding = env0_16;
binding.stopSampling(a0, oldId);
binding = env0_16;
binding.startSampling(a0);
return undefined;
}
return false;
}
function _fun36838(a0) { // fn#36838, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4474:1040, offset: 0x010991b7, size: 256 bytes, params: 2, frame: 16
const closure = DeviceFrecencyStore;
env0_6(closure, a0);
return env0_3(closure, [{key: 'initialize', value: function(a0) {
var env0_0 = a0;
this.waitFor(MediaEngineStore, UserStore);
var AUDIO_INPUT = DeviceTypes.AUDIO_INPUT;
[AUDIO_INPUT, DeviceTypes.AUDIO_OUTPUT, DeviceTypes.VIDEO_INPUT].forEach(_fun36841);
}}, {key: 'reset', value: function() {
var AUDIO_INPUT = DeviceTypes.AUDIO_INPUT;
[AUDIO_INPUT, DeviceTypes.AUDIO_OUTPUT, DeviceTypes.VIDEO_INPUT].forEach(_fun36843);
}}, {key: 'track', value: value_36844}, {key: 'isSampling', value: value_36845}, {key: 'startSampling',
value: value_36846}, {key: 'stopSampling', value: value_36847}, {key: 'getState', value: value_36852},
{key: 'getDeviceIdsSortedByFrecency', value: value_36853}, {key: 'getUsageStats', value: value_36854}]);
}
function _fun36860(a0) { // fn#36860, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4474:3169, offset: 0x010997f8, size: 49 bytes, params: 2, frame: 13
return (importDefault(22) /* metro dependency 22 */).mapKeys(a0, _fun36861);
}
function SPEAKING({context, userId, speakingFlags}) { // fn#36865, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4474:3424, offset: 0x01099893, size: 213 bytes, params: 2, frame: 16
var binding;
const DEFAULT = MediaEngineContextTypes.DEFAULT;
if (context !== DEFAULT) {
return false;
}
const id = UserStore.getCurrentUser()?.id;
if (id == null) {
return false;
}
const r3 = userId === id ? DeviceTypes.AUDIO_INPUT : DeviceTypes.AUDIO_OUTPUT;
const NONE = SpeakingFlags.NONE;
if (speakingFlags !== NONE) {
if (speakingFlags === SpeakingFlags.NONE) {
return false;
}
binding = env0_16;
if (binding.isSampling(r3)) {
return false;
}
binding = env0_16;
binding.startSampling(r3);
} else {
binding = env0_16;
if (binding.isSampling(r3)) {
env0_16.stopSampling(r3);
return undefined;
}
if (speakingFlags === SpeakingFlags.NONE) {
return false;
}
binding = env0_16;
if (binding.isSampling(r3)) {
return false;
}
env0_16.startSampling(r3);
}
}
function RTC_CONNECTION_CLIENT_CONNECT_36866() { // fn#36866, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4474:3771, offset: 0x01099968, size: 21 bytes, params: 1, frame: 9
env0_16.reset();
}
function value_36840(a0) { // fn#36840, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4474:1365, offset: 0x01099328, size: 92 bytes, params: 2, frame: 15
const env0_0 = a0;
this.waitFor(MediaEngineStore, UserStore);
const AUDIO_INPUT = DeviceTypes.AUDIO_INPUT;
const AUDIO_OUTPUT = DeviceTypes.AUDIO_OUTPUT;
const VIDEO_INPUT = DeviceTypes.VIDEO_INPUT;
[AUDIO_INPUT, AUDIO_OUTPUT, VIDEO_INPUT].forEach(_fun36841);
}
function value_36842() { // fn#36842, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4474:1547, offset: 0x010993dc, size: 62 bytes, params: 1, frame: 11
const AUDIO_INPUT = DeviceTypes.AUDIO_INPUT;
const AUDIO_OUTPUT = DeviceTypes.AUDIO_OUTPUT;
const VIDEO_INPUT = DeviceTypes.VIDEO_INPUT;
[AUDIO_INPUT, AUDIO_OUTPUT, VIDEO_INPUT].forEach(_fun36843);
}
function value_36844(a0, a1, a2) { // fn#36844, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4474:1661, offset: 0x01099440, size: 94 bytes, params: 4, frame: 15
if (env1_14[a0][a1] == null) {
env1_14[a0][a1] = 0;
}
env1_14[a0][a1] += a2;
env1_15[a0].track(a1, {usesSinceLastTrack: a2});
}
function value_36845(a0) { // fn#36845, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4474:1778, offset: 0x0109949e, size: 26 bytes, params: 2, frame: 9
return env1_13[a0].isRunning();
}
function value_36846(a0) { // fn#36846, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4474:1843, offset: 0x010994b8, size: 27 bytes, params: 2, frame: 9
env1_13[a0].start();
}
function value_36847(a0, a1) { // fn#36847, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4474:1896, offset: 0x010994d3, size: 117 bytes, params: 3, frame: 18
var r4;
let value = a1;
const property = env1_13[a0];
property.stop();
const value4 = property.elapsed().asMilliseconds();
if (value4 > 0) {
if (value != null) {
r4 = value;
} else {
value = ((a0) => ({[DeviceTypes.AUDIO_INPUT]: {getCurrentDeviceId: _fun36849},
[DeviceTypes.AUDIO_OUTPUT]: {getCurrentDeviceId: _fun36850},
[DeviceTypes.VIDEO_INPUT]: {getCurrentDeviceId: _fun36851}})[a0])(a0);
value = value.getCurrentDeviceId(MediaEngineStore);
r4 = value;
}
this.track(a0, r4, value4);
}
property.reset();
}
function value_36852() { // fn#36852, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4474:2298, offset: 0x010995ce, size: 96 bytes, params: 1, frame: 5
const AUDIO_INPUT = DeviceTypes.AUDIO_INPUT;
const binding = env1_15;
const AUDIO_INPUT2 = DeviceTypes.AUDIO_INPUT;
const AUDIO_OUTPUT = DeviceTypes.AUDIO_OUTPUT;
const AUDIO_OUTPUT2 = DeviceTypes.AUDIO_OUTPUT;
const VIDEO_INPUT = DeviceTypes.VIDEO_INPUT;
const VIDEO_INPUT2 = DeviceTypes.VIDEO_INPUT;
return {[AUDIO_INPUT]: binding[AUDIO_INPUT2].usageHistory, [AUDIO_OUTPUT]: binding[AUDIO_OUTPUT2].usageHistory,
[VIDEO_INPUT]: binding[VIDEO_INPUT2].usageHistory};
}
function value_36853(a0) { // fn#36853, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4474:2501, offset: 0x0109962e, size: 22 bytes, params: 2, frame: 2
return env1_15[a0].frequently;
}
function value_36854() { // fn#36854, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4474:2565, offset: 0x01099644, size: 238 bytes, params: 1, frame: 15
var environment;
const object3 = {};
let value = environment.__proto__;
let AUDIO_INPUT = DeviceTypes.AUDIO_INPUT;
object3[AUDIO_INPUT] = [];
let AUDIO_OUTPUT = DeviceTypes.AUDIO_OUTPUT;
object3[AUDIO_OUTPUT] = [];
const VIDEO_INPUT = DeviceTypes.VIDEO_INPUT;
object3[VIDEO_INPUT] = [];
AUDIO_INPUT = DeviceTypes.AUDIO_INPUT;
AUDIO_OUTPUT = DeviceTypes.AUDIO_OUTPUT;
[AUDIO_INPUT, AUDIO_OUTPUT].forEach(_fun36855);
const object4 = {};
AUDIO_INPUT = DeviceTypes.AUDIO_INPUT;
object4.duration_input_device_used_ids = object3[AUDIO_INPUT].map(function(a0) {
var r1;
var r2;
var item3;
var iterator = a0[Symbol.iterator]();
var iterator2 = iterator.next;
var item2 = Reflect.apply(iterator2, iterator, []);
var item = item2.value;
item2 = item2.done ? undefined : iterator;
var value = undefined;
var value2 = item2 === value;
var r0 = value2 ? value : item;
if (value2) {
r1 = item2;
r2 = value2;
} else {
item3 = Reflect.apply(iterator2, item2, []);
item = item3.value;
item3 = item3.done ? undefined : item2;
value = item3 === value;
r1 = item3;
r2 = value;
}
if (!r2) {
r1.return();
}
return r0;
});
AUDIO_INPUT = DeviceTypes.AUDIO_INPUT;
object4.duration_input_device_used_ms = object3[AUDIO_INPUT].map(function(a0) {
var r0;
var r1;
var r2;
var item3;
var value3;
var iterator = a0[Symbol.iterator]();
var iterator2 = iterator.next;
var item2 = Reflect.apply(iterator2, iterator, []);
var item = item2.value;
item2 = item2.done ? undefined : iterator;
var value = undefined;
var value2 = item2 === value;
if (value2) {
r0 = value;
r1 = item2;
r2 = value2;
} else {
item3 = Reflect.apply(iterator2, item2, []);
item = item3.value;
item3 = item3.done ? undefined : item2;
value3 = item3 === value;
if (value3) {
r0 = value;
r1 = item3;
r2 = value3;
} else {
r0 = item;
r1 = item3;
r2 = value3;
}
}
if (!r2) {
r1.return();
}
return r0;
});
AUDIO_OUTPUT = DeviceTypes.AUDIO_OUTPUT;
object4.duration_output_device_used_ids = object3[AUDIO_OUTPUT].map(function(a0) {
var r1;
var r2;
var item3;
var iterator = a0[Symbol.iterator]();
var iterator2 = iterator.next;
var item2 = Reflect.apply(iterator2, iterator, []);
var item = item2.value;
item2 = item2.done ? undefined : iterator;
var value = undefined;
var value2 = item2 === value;
var r0 = value2 ? value : item;
if (value2) {
r1 = item2;
r2 = value2;
} else {
item3 = Reflect.apply(iterator2, item2, []);
item = item3.value;
item3 = item3.done ? undefined : item2;
value = item3 === value;
r1 = item3;
r2 = value;
}
if (!r2) {
r1.return();
}
return r0;
});
AUDIO_OUTPUT = DeviceTypes.AUDIO_OUTPUT;
object4.duration_output_device_used_ms = object3[AUDIO_OUTPUT].map(function(a0) {
var r0;
var r1;
var r2;
var item3;
var value3;
var iterator = a0[Symbol.iterator]();
var iterator2 = iterator.next;
var item2 = Reflect.apply(iterator2, iterator, []);
var item = item2.value;
item2 = item2.done ? undefined : iterator;
var value = undefined;
var value2 = item2 === value;
if (value2) {
r0 = value;
r1 = item2;
r2 = value2;
} else {
item3 = Reflect.apply(iterator2, item2, []);
item = item3.value;
item3 = item3.done ? undefined : item2;
value3 = item3 === value;
if (value3) {
r0 = value;
r1 = item3;
r2 = value3;
} else {
r0 = item;
r1 = item3;
r2 = value3;
}
}
if (!r2) {
r1.return();
}
return r0;
});
return object4;
}
function _fun36861(a0, a1) { // fn#36861, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4474:3192, offset: 0x01099829, size: 16 bytes, params: 3, frame: 2
return env1_12[a1];
}
function _fun36841(a0) { // fn#36841, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4474:1449, offset: 0x01099384, size: 88 bytes, params: 2, frame: 14
var value3;
const value2 = undefined;
if ((env0_0 == null ? value2 : env0_0[a0]) != null) {
value3 = environment.__proto__.__proto__;
env2_15[a0].overwriteHistory(env0_0[a0]);
}
env2_13[a0].reset();
return value2;
}
function _fun36843(a0) { // fn#36843, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4474:1612, offset: 0x0109941a, size: 38 bytes, params: 2, frame: 11
env2_13[a0].reset();
env2_14[a0] = {};
}
function getConfigForDeviceType(a0) { // fn#36848, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4474:1989, owner: value_36847.getConfigForDeviceType, offset: 0x01099548, size: 89 bytes, params: 2, frame: 6
const AUDIO_INPUT = DeviceTypes.AUDIO_INPUT;
const AUDIO_OUTPUT = DeviceTypes.AUDIO_OUTPUT;
const VIDEO_INPUT = DeviceTypes.VIDEO_INPUT;
return ({[AUDIO_INPUT]: {getCurrentDeviceId: function(a0) {
return a0.getInputDeviceId();
}}, [AUDIO_OUTPUT]: {getCurrentDeviceId: function(a0) {
return a0.getOutputDeviceId();
}}, [VIDEO_INPUT]: {getCurrentDeviceId: function(a0) {
return a0.getVideoDeviceId();
}}})[a0];
}
function _fun36855(a0) { // fn#36855, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4474:2688, offset: 0x01099732, size: 92 bytes, params: 2, frame: 13
let binding = env0_0;
if (binding.isSampling(a0)) {
binding = env0_0;
binding.stopSampling(a0);
binding.startSampling(a0);
}
binding = env0_1;
const Object = global.Object;
binding[a0] = Object.entries(env2_14[a0]);
}
@@ -0,0 +1,11 @@
/* Metro module 12488; source: modules/media_engine/DisableCameraSimulcastExperiment.tsx; dependencies: [1854, 2] */
function _fun95034(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#95034, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12678:6, offset: 0x0212f468, size: 147 bytes, params: 8, frame: 20
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
let value = require(1854) /* metro dependency 1854: apex */;
value = value.createApexExperiment({'name': '2026-05-disable-camera-simulcast', 'kind': 'user',
defaultConfig: {enableSimulcast: true}, variations: {[1]: {enableSimulcast: false}}});
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/media_engine/DisableCameraSimulcastExperiment.tsx');
exports.DisableCameraSimulcastExperiment = value;
}
@@ -0,0 +1,11 @@
/* Metro module 12422; source: modules/media_engine/DisableHookFramePacerExperiment.tsx; dependencies: [1854, 2] */
function _fun94723(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#94723, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12608:6, offset: 0x021249ef, size: 145 bytes, params: 8, frame: 20
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
let value = require(1854) /* metro dependency 1854: apex */;
value = value.createApexExperiment({'name': '2026-04-disable-hook-frame-pacer', 'kind': 'user',
defaultConfig: {enabled: false}, variations: {[1]: {enabled: true}}});
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/media_engine/DisableHookFramePacerExperiment.tsx');
exports.DisableHookFramePacerExperiment = value;
}
@@ -0,0 +1,10 @@
/* Metro module 12424; source: modules/media_engine/GlobalFramePoolLockExperiment.tsx; dependencies: [1358, 2] */
function _fun94725(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#94725, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12610:6, offset: 0x02124b11, size: 155 bytes, params: 8, frame: 19
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
const env0_0 = (importDefault(1358) /* metro dependency 1358: ApexExperiment */)({'kind': 'user',
'name': '2025-11-global-frame-pool-lock', defaultConfig: {enabled: false}, variations: {[1]: {enabled: true}}});
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/media_engine/GlobalFramePoolLockExperiment.tsx');
exports.getGlobalFramePoolLockExperimentConfig = getGlobalFramePoolLockExperimentConfig;
}
@@ -0,0 +1,19 @@
/* Metro module 12415; source: modules/media_engine/GoLiveHdrExperiment.tsx; dependencies: [1854, 2] */
function _fun94709(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#94709, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12601:6, offset: 0x02124473, size: 231 bytes, params: 8, frame: 22
var object2;
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
object2 = {Never: 'never', Always: 'always', PermittedDevicesOnly: 'permittedDevicesOnly'};
const apexModule = require(1854) /* metro dependency 1854: apex */;
const createApexExperiment = apexModule.createApexExperiment;
const Never = object2.Never;
const Always = object2.Always;
const PermittedDevicesOnly = object2.PermittedDevicesOnly;
const env0_0 = Reflect.apply(createApexExperiment, apexModule, [{'name': '2026-02-go-live-hdr', 'kind': 'user',
defaultConfig: {hdrCaptureMode: Never}, variations: {[1]: {hdrCaptureMode: Always},
[2]: {hdrCaptureMode: PermittedDevicesOnly}}}]);
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/media_engine/GoLiveHdrExperiment.tsx');
exports.HdrCaptureMode = object2;
exports.getGoLiveHdrConfig = getGoLiveHdrConfig;
}
@@ -0,0 +1,10 @@
/* Metro module 12485; source: modules/media_engine/IOSAudioInterruptExperiment.tsx; dependencies: [1854, 2] */
function _fun95030(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#95030, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12675:6, offset: 0x0212f256, size: 158 bytes, params: 8, frame: 21
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
const env0_0 = (require(1854) /* metro dependency 1854: apex */).createApexExperiment({'name': '2026-03-ios-audio-interrupt-handling',
'kind': 'user', defaultConfig: {enabled: false}, variations: {[1]: {enabled: true}}});
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/media_engine/IOSAudioInterruptExperiment.tsx');
exports.getIOSAudioInterruptExperimentConfig = getIOSAudioInterruptExperimentConfig;
}
@@ -0,0 +1,449 @@
/* Metro module 12489; source: modules/media_engine/InputWatcher.tsx; dependencies: [57, 5, 6, 7, 4286, 4, 4041, 478, 12427, 3767, 6731, 694, 4406, 2] */
function _fun95035(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#95035, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12679:6, offset: 0x0212f4fb, size: 240 bytes, params: 8, frame: 19
const env0_0 = require;
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
const env0_3 = importDefault(57) /* metro dependency 57 */;
const env0_4 = importDefault(5) /* metro dependency 5 */;
const env0_5 = importDefault(6) /* metro dependency 6 */;
const env0_6 = importDefault(7) /* metro dependency 7 */;
const env0_7 = (require(4286) /* metro dependency 4286: Constants */).WINDOWS_SETTINGS_SOUND_DEVICE_DEEPLINK_SEMVER;
const Logger = (require(4) /* metro dependency 4: Logger */).Logger;
let logger = new Logger('InputWatcher');
logger = _fun95036();
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/media_engine/InputWatcher.tsx');
exports.default = logger;
}
function _fun95036() { // fn#95036, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12679:232, offset: 0x0212f5eb, size: 59 bytes, params: 1, frame: 14
return env0_6(InputWatcher, [{key: 'reset', value: function() {
this.stateChangeTimeout.stop();
if (this.inputDetected != null) {
this.handleSilence(!this.inputDetected);
}
this.inputDetected = undefined;
}}]);
}
function InputWatcher(a0, a1) { // fn#95037, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12679:253, offset: 0x0212f626, size: 219 bytes, params: 3, frame: 17
env1_5(this, InputWatcher);
this.mediaEngine = a0;
this.mediaEngineStore = a1;
const Timeout = (require(4041) /* metro dependency 4041: Timers */).Timeout;
const value3 = Object.create(Timeout.prototype, {constructor: {value: Timeout}});
const timeout = new Timeout();
this.stateChangeTimeout = timeout instanceof Object ? timeout : value3;
this.inputDetected = undefined;
const performance = global.performance;
this.lastUpdateTime = performance.now();
this.fetchInputDeviceOSConfig = env1_4(_fun95039);
this.handleSilence = handleSilence;
const mediaEngine = this.mediaEngine;
const on = mediaEngine.on;
const MediaEngineEvent = (require(4406) /* metro dependency 4406: mediaEngine */).MediaEngineEvent;
const Silence = MediaEngineEvent.Silence;
var handleSilence = this.handleSilence;
Reflect.apply(on, mediaEngine, [Silence, handleSilence]);
}
function* _fun95039() { // fn#95039, original name: ?anon_0_, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12679:497, offset: 0x0212f70c, size: 500 bytes, params: 1, frame: 21
var release;
var guid;
var value3;
var binding;
var value4;
var isWindows;
var binding2;
var value5;
var satisfies;
var value6;
var os;
var value7;
var mediaEngineStore;
var getInputDeviceId;
var value8;
var getInputDevices;
var value9;
var property;
var value10;
var value11;
var value12;
var binding3;
var value13;
var ensureModule;
var value14;
var value15;
var value16;
var Promise;
var all;
var mediaEngine;
var getDeviceOSVolume;
var value17;
var object;
var getDeviceOSMuted;
var value18;
var value19;
var value20;
var value21;
var value22;
var property2;
var binding4;
var property3;
var value23;
var dispatch;
var error;
var warn;
var HermesInternal;
var concat;
let value = undefined;
if (true) {
reduciblePort73: while (true) {
exceptionLanding72: while (true) {
value = undefined;
value3 = environment.__proto__.__proto__.__proto__;
binding = env3_0;
value4 = binding(env3_2[7]);
isWindows = value4.isWindows;
if (Reflect.apply(isWindows, value4, [])) {
binding = env3_1;
binding2 = env3_2;
value5 = binding(binding2[8]);
satisfies = value5.satisfies;
value6 = binding(binding2[9]);
reducibleJoin4: while (true) {
if (value6 == null) {
release = value;
break reducibleJoin4;
}
binding = env3_1;
os = binding(env3_2[9]).os;
release = os.release;
break reducibleJoin4;
}
if (Reflect.apply(satisfies, value5, [release, env3_7])) {
value7 = environment.__proto__;
try {
binding = env1_1;
} catch (error) {
break exceptionLanding72;
}
try {
mediaEngineStore = binding.mediaEngineStore;
} catch (error) {
break exceptionLanding72;
}
try {
getInputDeviceId = mediaEngineStore.getInputDeviceId;
} catch (error) {
break exceptionLanding72;
}
try {
value8 = Reflect.apply(getInputDeviceId, mediaEngineStore, []);
} catch (error) {
break exceptionLanding72;
}
try {
mediaEngineStore = binding.mediaEngineStore;
} catch (error) {
break exceptionLanding72;
}
try {
getInputDevices = mediaEngineStore.getInputDevices;
} catch (error) {
break exceptionLanding72;
}
try {
value9 = Reflect.apply(getInputDevices, mediaEngineStore, []);
} catch (error) {
break exceptionLanding72;
}
try {
property = value9[value8];
} catch (error) {
break exceptionLanding72;
}
try {
value10 = property == null;
} catch (error) {
break exceptionLanding72;
}
reducibleJoin18: while (true) {
if (value10) {
guid = value;
break reducibleJoin18;
}
try {
guid = property.guid;
} catch (error) {
break exceptionLanding72;
}
break reducibleJoin18;
}
try {
value11 = guid == null;
} catch (error) {
break exceptionLanding72;
}
if (value11) {
break reduciblePort73;
}
try {
value12 = guid === '';
} catch (error) {
break exceptionLanding72;
}
if (value12) {
break reduciblePort73;
}
try {
binding = env3_0;
} catch (error) {
break exceptionLanding72;
}
try {
binding3 = env3_2;
} catch (error) {
break exceptionLanding72;
}
try {
property = binding3[10];
} catch (error) {
break exceptionLanding72;
}
try {
value13 = binding(property);
} catch (error) {
break exceptionLanding72;
}
try {
property = value13.default;
} catch (error) {
break exceptionLanding72;
}
try {
ensureModule = property.ensureModule;
} catch (error) {
break exceptionLanding72;
}
try {
value14 = Reflect.apply(ensureModule, property, ['discord_voice']);
} catch (error) {
break exceptionLanding72;
}
yield value14;
try {
value15 = undefined;
value16 = false;
} catch (error) {
break exceptionLanding72;
}
if (value16) {
return value15;
}
try {
Promise = global.Promise;
} catch (error) {
break exceptionLanding72;
}
try {
all = Promise.all;
} catch (error) {
break exceptionLanding72;
}
try {
binding = env1_1;
} catch (error) {
break exceptionLanding72;
}
try {
mediaEngine = binding.mediaEngine;
} catch (error) {
break exceptionLanding72;
}
try {
getDeviceOSVolume = mediaEngine.getDeviceOSVolume;
} catch (error) {
break exceptionLanding72;
}
try {
value17 = Reflect.apply(getDeviceOSVolume, mediaEngine, [guid]);
} catch (error) {
break exceptionLanding72;
}
try {
object = [];
} catch (error) {
break exceptionLanding72;
}
try {
object[0] = value17;
} catch (error) {
break exceptionLanding72;
}
try {
mediaEngine = binding.mediaEngine;
} catch (error) {
break exceptionLanding72;
}
try {
getDeviceOSMuted = mediaEngine.getDeviceOSMuted;
} catch (error) {
break exceptionLanding72;
}
try {
value18 = Reflect.apply(getDeviceOSMuted, mediaEngine, [guid]);
} catch (error) {
break exceptionLanding72;
}
try {
object[1] = value18;
} catch (error) {
break exceptionLanding72;
}
try {
value19 = Reflect.apply(all, Promise, [object]);
} catch (error) {
break exceptionLanding72;
}
yield value19;
try {
value20 = undefined;
value21 = false;
} catch (error) {
break exceptionLanding72;
}
if (value21) {
return value20;
}
try {
binding = env3_3;
} catch (error) {
break exceptionLanding72;
}
try {
value22 = binding(value20, 2);
} catch (error) {
break exceptionLanding72;
}
try {
property = value22[0];
} catch (error) {
break exceptionLanding72;
}
try {
property2 = value22[1];
} catch (error) {
break exceptionLanding72;
}
try {
binding = env3_1;
} catch (error) {
break exceptionLanding72;
}
try {
binding4 = env3_2;
} catch (error) {
break exceptionLanding72;
}
try {
property3 = binding4[11];
} catch (error) {
break exceptionLanding72;
}
try {
value23 = binding(property3);
} catch (error) {
break exceptionLanding72;
}
try {
dispatch = value23.dispatch;
} catch (error) {
break exceptionLanding72;
}
try {
object = {};
} catch (error) {
break exceptionLanding72;
}
try {
object.type = 'AUDIO_INPUT_DEVICE_OS_CONFIG_FETCHED';
} catch (error) {
break exceptionLanding72;
}
try {
object.osVolume = property;
} catch (error) {
break exceptionLanding72;
}
try {
object.osMuted = property2;
} catch (error) {
break exceptionLanding72;
}
try {
Reflect.apply(dispatch, value23, [object]);
} catch (error) {
break exceptionLanding72;
}
break reduciblePort73;
}
break reduciblePort73;
}
break reduciblePort73;
}
binding = env3_8;
warn = binding.warn;
HermesInternal = global.HermesInternal;
concat = HermesInternal.concat;
Reflect.apply(warn, binding, ['Failed to get device OS volume and/or mute state: ' + error]);
break reduciblePort73;
}
}
return value;
}
function handleSilence(a0) { // fn#95040, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12679:1094, owner: InputWatcher.handleSilence, offset: 0x0212f900, size: 78 bytes, params: 2, frame: 15
var environment;
const env0_0 = a0;
const result = !a0;
const stateChangeTimeout = env0_0.stateChangeTimeout;
const start = stateChangeTimeout.start;
const r2 = a0 ? 5000 : 1500;
const value = environment.__proto__.__proto__;
Reflect.apply(start, stateChangeTimeout, [r2, env2_4(_fun95042)]);
}
function* _fun95042() { // fn#95042, original name: ?anon_0_, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12679:1151, offset: 0x0212f959, size: 186 bytes, params: 1, frame: 17
var dispatch;
if (true) {
value = environment.__proto__.__proto__.__proto__.__proto__;
var binding = env4_8;
var info = binding.info;
var binding2 = env1_0;
Reflect.apply(info, binding, ['Silence:', binding2]);
binding = env2_1;
binding.inputDetected = env1_1;
binding.lastUpdateTime = global.performance.now();
if (binding2) {
binding = env2_1;
yield binding.fetchInputDeviceOSConfig();
if (false) {
return undefined;
}
binding = env4_1;
value = binding(env4_2[11]);
dispatch = value.dispatch;
binding = env2_1;
Reflect.apply(dispatch, value, [{type: 'AUDIO_INPUT_DETECTED', inputDetected: binding.inputDetected,
lastUpdateTime: binding.lastUpdateTime}]);
} else {
binding = env4_1;
value = binding(env4_2[11]);
dispatch = value.dispatch;
binding = env2_1;
Reflect.apply(dispatch, value, [{type: 'AUDIO_INPUT_DETECTED', inputDetected: binding.inputDetected,
lastUpdateTime: binding.lastUpdateTime}]);
}
}
}
@@ -0,0 +1,11 @@
/* Metro module 12426; source: modules/media_engine/LowLatencyRateControlExperiment.tsx; dependencies: [1358, 2] */
function _fun94729(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#94729, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12612:6, offset: 0x02124c52, size: 155 bytes, params: 8, frame: 19
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
const env0_0 = (importDefault(1358) /* metro dependency 1358: ApexExperiment */)({'kind': 'user',
'name': '2025-10-low-latency-rate-control', defaultConfig: {enabled: false},
variations: {[1]: {enabled: true}}});
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/media_engine/LowLatencyRateControlExperiment.tsx');
exports.getLowLatencyRateControlExperimentConfig = getLowLatencyRateControlExperimentConfig;
}
@@ -0,0 +1,26 @@
/* Metro module 10750; source: modules/media_engine/MediaEngineActionCreators.tsx; dependencies: [4259, 4291, 694, 2] */
function _fun82660(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#82660, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10936:6, offset: 0x01efda81, size: 136 bytes, params: 8, frame: 19
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
const mediaEngineStore = importDefault(4259) /* metro dependency 4259: MediaEngineStore */;
const env0_3 = (require(4291) /* metro dependency 4291: Constants */).MediaEngineContextTypes;
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/media_engine/MediaEngineActionCreators.tsx');
exports.setPushToTalkState = setPushToTalkState;
}
function setPushToTalkState(a0) { // fn#82661, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10936:245, offset: 0x01efdb09, size: 124 bytes, params: 2, frame: 18
const value = a1;
const env0_0 = a0;
const r6 = value !== undefined ? value : false;
const defaultImport = importDefault(694) /* metro dependency 694: Dispatcher */;
defaultImport.dispatch({type: 'PUSH_TO_TALK_STATE_CHANGE', isActive: a0, isPriority: r6});
const mediaEngine = MediaEngineStore.getMediaEngine();
const eachConnection = mediaEngine.eachConnection;
const DEFAULT = MediaEngineContextTypes.DEFAULT;
Reflect.apply(eachConnection, mediaEngine, [_fun82662, DEFAULT]);
}
function _fun82662(a0) { // fn#82662, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10936:393, offset: 0x01efdb85, size: 33 bytes, params: 2, frame: 15
return a0.setForceAudioInput(env0_0, env0_1, false);
}
@@ -0,0 +1,449 @@
/* Metro module 4394; source: modules/media_engine/MediaEngineStatsStore.tsx; dependencies: [6, 7, 15, 17, 18, 1226, 4395, 4285, 566, 694, 2] */
function _fun37183(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#37183, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4566:6, offset: 0x0109dde1, size: 412 bytes, params: 8, frame: 19
const env0_0 = require;
const _arrayLikeToArray_37189 = function(a0, a1) {
var r0;
var r1;
var r2;
var value3;
var length;
var value5;
var value = undefined;
var value2 = value == null;
reducibleJoin2: while (true) {
if (value2) {
r0 = value2;
break reducibleJoin2;
}
value3 = value > a0.length;
r0 = value3;
break reducibleJoin2;
}
reducibleJoin4: while (true) {
if (r0) {
length = a0.length;
r1 = length;
break reducibleJoin4;
}
r1 = value;
break reducibleJoin4;
}
value = (0, global.Array)(r1);
var value4 = 0;
if (value4 < r1) {
r2 = value4;
reducibleLoop5: while (true) {
value[r2] = a0[r2];
value5 = typeof r2 === 'bigint' ? r2 + 1n : +r2 + 1;
if (value5 < r1) {
r2 = value5;
continue reducibleLoop5;
}
break reducibleLoop5;
}
}
return value;
};
const isStatsOutbound = function(a0) {
return 'packetsSent' in a0;
};
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
const env0_2 = importDefault(6) /* metro dependency 6 */;
const env0_3 = importDefault(7) /* metro dependency 7 */;
const env0_4 = importDefault(15) /* metro dependency 15 */;
const env0_5 = importDefault(17) /* metro dependency 17 */;
const env0_6 = importDefault(18) /* metro dependency 18 */;
const authenticationStore = importDefault(1226) /* metro dependency 1226: AuthenticationStore */;
const streamRTCConnectionStore = importDefault(4395) /* metro dependency 4395: StreamRTCConnectionStore */;
const env0_9 = {};
const env0_10 = {};
const env0_11 = {};
const Store = (importDefault(566) /* metro dependency 566: flux */).Store;
let value = _fun37197(Store);
value.displayName = 'MediaEngineStatsStore';
value = new value(importDefault(694) /* metro dependency 694: Dispatcher */,
{MEDIA_ENGINE_CONNECTION_STATS: MEDIA_ENGINE_CONNECTION_STATS,
MEDIA_ENGINE_CONNECTION_STATS_HISTORY_RESET: MEDIA_ENGINE_CONNECTION_STATS_HISTORY_RESET,
STREAM_UPDATE: STREAM_UPDATE, RTC_CONNECTION_VIDEO: function({userId, mediaEngineConnectionId}) {
if (mediaEngineConnectionId == null) {
return false;
}
resetAccumulatedStats(mediaEngineConnectionId, userId);
}});
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/media_engine/MediaEngineStatsStore.tsx');
exports.default = value;
}
function _isNativeReflectConstruct_37184() { // fn#37184, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4566:170, offset: 0x0109df7d, size: 94 bytes, params: 1, frame: 18
var Boolean;
var prototype;
var valueOf;
var call;
var Reflect;
var construct;
var closure;
var value;
var error;
try {
Boolean = global.Boolean;
prototype = Boolean.prototype;
valueOf = prototype.valueOf;
call = valueOf.call;
Reflect = global.Reflect;
construct = Reflect.construct;
Boolean = global.Boolean;
closure = function() {
};
value = Reflect.apply(construct, Reflect, [Boolean, [], closure]);
value = Reflect.apply(call, valueOf, [value]);
var result = !value;
} catch (error) {
}
return (_isNativeReflectConstruct_37184_isNativeReflectConstruct = function() {
return !!result;
})();
}
function _createForOfIteratorHelperLoose_37187(a0, a1) { // fn#37187, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4566:363, offset: 0x0109dfdb, size: 370 bytes, params: 3, frame: 20
var r6;
var r9;
var r5;
var value3;
var regexp;
const env0_0 = a0;
const Symbol = global.Symbol;
let value = typeof Symbol !== 'undefined';
let r1 = value && a0[global.Symbol.iterator];
r1 = !r1 ? a0['@@iterator'] : r1;
if (r1) {
value = r1.call(a0);
return value.next.bind(value);
}
const Array = global.Array;
if (Array.isArray(a0)) {
if (r1) {
}
return _fun37188;
}
value = undefined;
if (a0) {
if (typeof a0 === 'string') {
value = _arrayLikeToArray_37189(a0, value);
r5 = value;
} else {
value3 = ({}).toString.call(a0).slice(8, -1);
r6 = value3 === 'Object' && a0.constructor;
r9 = r6 ? a0.constructor.name : value3;
if (r9 === 'Map') {
r6 = global.Array.from(a0);
} else if (r9 === 'Set') {
r6 = global.Array.from(a0);
} else if (r9 === 'Arguments') {
value = _arrayLikeToArray_37189(a0, value);
r6 = value;
} else {
regexp = RegExp('^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$', '');
if (regexp.test(r9)) {
value = _arrayLikeToArray_37189(a0, value);
r6 = value;
} else {
r6 = value;
}
}
r5 = r6;
}
} else {
r5 = value;
}
if (r5) {
if (r5) {
}
return _fun37188;
}
const TypeError = global.TypeError;
throw new TypeError('Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.');
}
function updateAveragedStatsHelper(a0, a1, a2, a3, a4) { // fn#37191, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4566:1344, offset: 0x0109e15a, size: 808 bytes, params: 6, frame: 22
var r2;
var r8;
var r13;
var r3;
var r1;
var r6;
var r7;
var isStatsOutbound3;
var value13;
const value = a2;
const value2 = a3.find(function(a0) {
return a0.type === 'video';
});
const r0 = value ?? ({'packetsSentOrReceived': 0, 'packetsLost': 0, 'packetLossRate': 0, 'frameRate': 0,
'resolution': 0, 'entropy': 0, 'numDatapoints': 0, 'frameRateAggregated': 0, 'resolutionAggregated': 0,
'entropyAggregated': 0, minVersion: a0});
if (value2 != null) {
var isStatsOutboundBinding = isStatsOutbound;
var value3 = undefined;
var r4 = isStatsOutboundBinding(value2) ? value2.packetsSent ?? 0 : value2.packetsReceived ?? 0;
var isStatsOutbound2 = isStatsOutbound(value2);
var packetsLost = value2.packetsLost;
var value6 = packetsLost != null;
r2 = isStatsOutbound2 ? value6 ? packetsLost : 0 : value6 ? packetsLost : 0;
r13 = isStatsOutbound(value2) ? value2.frameRateEncode ?? 0 : value2.frameRateDecode ?? 0;
var resolution = value2.resolution;
var height = resolution == null ? value3 : resolution.height;
var value11 = 0;
var r12 = height ?? value11;
var r10 = isStatsOutbound(value2) && value2.videoEntropy != null ? value2.videoEntropy : value11;
r0.numDatapoints = r0.numDatapoints + 1;
r0.frameRateAggregated = r0.frameRateAggregated + r13;
r0.resolutionAggregated = r0.resolutionAggregated + r12;
r0.entropyAggregated = r0.entropyAggregated + r10;
r10 = a4 == null ? value3 : a4.find(function(a0) {
return a0.type === 'video';
});
if (r10 == null) {
r0.packetsSentOrReceived = r4;
r0.packetsLost = r2;
} else if (a1 >= r0.minVersion) {
r0.numDatapoints = r0.numDatapoints - 1;
r3 = isStatsOutbound(r10) ? r10.packetsSent ?? value11 : r10.packetsReceived ?? value11;
isStatsOutbound3 = isStatsOutbound(r10);
packetsLost = r10.packetsLost;
value13 = packetsLost != null;
r1 = isStatsOutbound3 ? value13 ? packetsLost : value11 : value13 ? packetsLost : value11;
r8 = isStatsOutbound(r10) ? r10.frameRateEncode ?? value11 : r10.frameRateDecode ?? value11;
r6 = isStatsOutbound(r10) && r10.videoEntropy != null ? r10.videoEntropy : value11;
resolution = r10.resolution;
r7 = (resolution == null ? value3 : resolution.height) ?? value11;
r0.frameRateAggregated = r0.frameRateAggregated - r8;
r0.resolutionAggregated = r0.resolutionAggregated - r7;
r0.entropyAggregated = r0.entropyAggregated - r6;
r0.packetsSentOrReceived = r4 - r3;
r0.packetsLost = r2 - r1;
} else {
r0.packetsSentOrReceived = r4;
r0.packetsLost = r2;
}
r0.frameRate = r0.frameRateAggregated / r0.numDatapoints;
r0.resolution = r0.resolutionAggregated / r0.numDatapoints;
r0.entropy = r0.entropyAggregated / r0.numDatapoints;
r0.packetLossRate = r0.packetsLost / (r0.packetsSentOrReceived + r0.packetsLost);
}
return r0;
}
function updateAveragedStats(a0, a1, a2, a3) { // fn#37194, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4566:2978, offset: 0x0109e482, size: 369 bytes, params: 5, frame: 31
var r2;
var r15;
var r1;
var property3;
var version3;
var property4;
var property5;
var property6;
var value6;
if (a0[a1] == null) {
a0[a1] = {};
}
const id = AuthenticationStore.getId();
let property = a0[a1];
let updateAveragedStatsHelperBinding = updateAveragedStatsHelper;
const version2 = a2.version;
const value3 = undefined;
let version = a3 == null ? value3 : a3.version;
const value4 = 0;
const r13 = version ?? value4;
const property2 = a0[a1][id];
let stats = a2.stats;
let rtp = stats.rtp;
property[id] = updateAveragedStatsHelperBinding(version2, r13, property2, rtp.outbound,
a3 == null ? value3 : a3.stats.rtp.outbound);
const Object = global.Object;
const keys = Object.keys;
let inbound = a2.stats.rtp.inbound;
const value5 = Reflect.apply(keys, Object, [inbound]);
let length = value5.length;
if (value4 < length) {
r2 = value4;
while (true) {
property = value5[r2];
property3 = a0[a1];
updateAveragedStatsHelperBinding = updateAveragedStatsHelper;
version3 = a2.version;
version = a3 == null ? value3 : a3.version;
if (version != null) {
r15 = version;
continue;
}
r15 = value4;
continue;
property4 = a0[a1][property];
stats = a2.stats;
rtp = stats.rtp;
inbound = rtp.inbound;
property5 = inbound[property];
if (a3 == null) {
r1 = value3;
continue;
}
stats = a3.stats;
rtp = stats.rtp;
inbound = rtp.inbound;
property6 = inbound[property];
r1 = property6;
property3[property] = updateAveragedStatsHelperBinding(version3, r15, property4, property5, r1);
value6 = typeof r2 === 'bigint' ? r2 + 1n : +r2 + 1;
length = value5.length;
if (value6 < length) {
r2 = value6;
continue;
}
break;
}
}
return value3;
}
function resetAccumulatedStats(a0, a1) { // fn#37195, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4566:3439, offset: 0x0109e5f3, size: 89 bytes, params: 3, frame: 8
let property = env0_10[a0];
const value2 = undefined;
if ((property == null ? value2 : property[a1]) != null) {
delete env0_10[a0][a1];
}
property = env0_11[a0];
if ((property == null ? value2 : property[a1]) != null) {
delete env0_11[a0][a1];
}
return value2;
}
function getStatsHistoryAtIndex(a0, a1) { // fn#37196, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4566:3585, offset: 0x0109e64c, size: 70 bytes, params: 3, frame: 5
const value = null;
if (value == a0) {
return value;
}
const property = env0_9[a0];
return value == property || property.length <= a1 ? value : property[property.length - a1 - 1];
}
function _fun37197(a0) { // fn#37197, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4566:3711, offset: 0x0109e692, size: 164 bytes, params: 2, frame: 16
const closure = MediaEngineStatsStore;
env0_6(closure, a0);
return env0_3(closure, [{key: 'initialize', value: function() {
this.waitFor(AuthenticationStore, StreamRTCConnectionStore);
}}, {key: 'getConnectionStats', value: function(a0) {
return getStatsHistoryAtIndex(a0, 0);
}}, {key: 'getLastConnectionStats', value: function(a0) {
return getStatsHistoryAtIndex(a0, 1);
}}, {key: 'getStatsHistory', value: value_37202}, {key: 'getAccumulatedPerformanceStats', value: value_37203}]);
}
function MEDIA_ENGINE_CONNECTION_STATS({connectionStats}) { // fn#37204, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4566:4586, offset: 0x0109e7d5, size: 260 bytes, params: 2, frame: 30
var r4;
var r1;
var r13;
var value5;
var mediaEngineConnectionId;
var length;
var binding;
var property;
var value6;
var updateAveragedStatsBinding;
var statsHistoryAtIndex;
var value8;
const object2 = {};
const value3 = _createForOfIteratorHelperLoose_37187(connectionStats);
const value4 = value3();
let done = value4.done;
if (!done) {
r4 = value4;
while (true) {
value5 = r4.value;
mediaEngineConnectionId = value5.mediaEngineConnectionId;
length = mediaEngineConnectionId.length;
if (length !== 0) {
object2[mediaEngineConnectionId] = value5;
if (mediaEngineConnectionId in env0_9) {
continue;
}
env0_9[mediaEngineConnectionId] = [];
property = env0_9[mediaEngineConnectionId];
property.push(value5);
length = env0_9[mediaEngineConnectionId].length;
if (!(length > 30)) {
r1 = undefined;
continue;
}
property = env0_9[mediaEngineConnectionId];
value6 = property.shift();
r1 = value6;
updateAveragedStatsBinding = updateAveragedStats;
binding = env0_11;
statsHistoryAtIndex = getStatsHistoryAtIndex(mediaEngineConnectionId, 15);
if (statsHistoryAtIndex != null) {
r13 = statsHistoryAtIndex;
continue;
}
r13 = undefined;
continue;
updateAveragedStatsBinding(binding, mediaEngineConnectionId, value5, r13);
updateAveragedStats(env0_10, mediaEngineConnectionId, value5, r1);
}
value8 = value3();
done = value8.done;
if (done) {
break;
}
r4 = value8;
continue;
}
}
}
function MEDIA_ENGINE_CONNECTION_STATS_HISTORY_RESET({mediaEngineConnectionId}) { // fn#37205, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4566:5013, offset: 0x0109e8d9, size: 46 bytes, params: 2, frame: 3
if (mediaEngineConnectionId != null) {
delete env0_9[mediaEngineConnectionId];
delete env0_10[mediaEngineConnectionId];
delete env0_11[mediaEngineConnectionId];
}
}
function STREAM_UPDATE(a0) { // fn#37206, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4566:5130, offset: 0x0109e907, size: 120 bytes, params: 2, frame: 16
const streamKey = a0.streamKey;
if (a0.paused) {
return false;
}
const rTCConnection = StreamRTCConnectionStore.getRTCConnection(streamKey);
const value3 = undefined;
const r3 = rTCConnection == null ? value3 : rTCConnection.getMediaEngineConnectionId();
if (r3 == null) {
return false;
}
const resetAccumulatedStatsBinding = resetAccumulatedStats;
const value = require(4285) /* metro dependency 4285: StreamKeyUtils */;
resetAccumulatedStatsBinding(r3, value.decodeStreamKey(streamKey).ownerId);
return value3;
}
function value_37202(a0) { // fn#37202, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4566:4272, offset: 0x0109e763, size: 36 bytes, params: 2, frame: 3
return a0 == null ? [] : env1_9[a0] ?? [];
}
function value_37203(a0, a1, a2) { // fn#37203, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4566:4374, offset: 0x0109e787, size: 78 bytes, params: 4, frame: 5
var r2;
var r0;
var property;
const value = null;
if (value == a0) {
r0 = value;
} else {
r2 = a2 === 'long' ? env1_10 : env1_11;
property = r2[a0];
r2 = value == property ? undefined : property[a1];
r0 = value != r2 ? r2 : value;
}
return r0;
}
@@ -0,0 +1,13 @@
/* Metro module 10269; source: modules/media_engine/MobileAudioOutputExperiment.tsx; dependencies: [1854, 2] */
function _fun79703(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#79703, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10455:6, offset: 0x01e5e6f1, size: 159 bytes, params: 8, frame: 19
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
let value = require(1854) /* metro dependency 1854: apex */;
value = value.createApexExperiment({'name': '2026-02-mobile-volume-output-slider-removal', 'kind': 'user',
defaultConfig: {'audioOutputPresent': true, 'nonContextualStreamOutputPresent': true,
'showTileVolumeIndicator': false}, variations: {[1]: {'audioOutputPresent': false,
'nonContextualStreamOutputPresent': false, 'showTileVolumeIndicator': true}}});
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/media_engine/MobileAudioOutputExperiment.tsx');
exports.default = value;
}
@@ -0,0 +1,26 @@
/* Metro module 12398; source: modules/media_engine/ProcessBoostExperiment.tsx; dependencies: [4291, 1854, 2] */
function _fun94503(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#94503, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12584:6, offset: 0x0211a8ab, size: 254 bytes, params: 8, frame: 23
var object2;
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
const ProcessPriority = (require(4291) /* metro dependency 4291: Constants */).ProcessPriority;
let value = require(1854) /* metro dependency 1854: apex */;
const createApexExperiment = value.createApexExperiment;
object2 = {'name': '2026-02-process-boost-on-voice', 'kind': 'user'};
const HIGH = ProcessPriority.HIGH;
object2.defaultConfig = {processPriority: HIGH, threadPriorityConfiguration: 0};
const object4 = {};
let NORMAL = ProcessPriority.NORMAL;
object4[1] = {processPriority: NORMAL, threadPriorityConfiguration: 0};
NORMAL = ProcessPriority.NORMAL;
object4[2] = {processPriority: NORMAL, threadPriorityConfiguration: 1};
NORMAL = ProcessPriority.NORMAL;
object4[3] = {processPriority: NORMAL, threadPriorityConfiguration: 2};
NORMAL = ProcessPriority.NORMAL;
object4[4] = {processPriority: NORMAL, threadPriorityConfiguration: 3};
object2.variations = object4;
value = Reflect.apply(createApexExperiment, value, [object2]);
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/media_engine/ProcessBoostExperiment.tsx');
exports.ProcessBoostExperiment = value;
}
@@ -0,0 +1,12 @@
/* Metro module 12399; source: modules/media_engine/ServerLadderExperiment.tsx; dependencies: [1854, 2] */
function _fun94504(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#94504, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12585:6, offset: 0x0211a9a9, size: 159 bytes, params: 8, frame: 19
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
let value = require(1854) /* metro dependency 1854: apex */;
value = value.createApexExperiment({'name': '2026-06-server-ladder', 'kind': 'user',
defaultConfig: {'bitrate': 9000000, 'enabled': false}, variations: {[1]: {'bitrate': 3500000,
'enabled': true}}});
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/media_engine/ServerLadderExperiment.tsx');
exports.ServerLadderExperiment = value;
}
@@ -0,0 +1,31 @@
/* Metro module 12486; source: modules/media_engine/SilenceWarningExperiment.tsx; dependencies: [1854, 2] */
function _fun95032(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#95032, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12676:6, offset: 0x0212f2f4, size: 225 bytes, params: 8, frame: 23
var object7;
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
object7 = {'resetSilenceWarningOnDeviceChange': false, 'resetSilenceWarningAfterNMinutes': null,
'enableHardwareSilenceWarning': false};
object7.resetSilenceWarningAfterNMinutes = undefined;
let value = require(1854) /* metro dependency 1854: apex */;
const createApexExperiment = value.createApexExperiment;
const object8 = {'name': '2026-02-silence-warning-aggression', 'kind': 'user'};
object8.defaultConfig = object7;
const object9 = {};
const object10 = {};
copyDataProperties(object10, object7, undefined);
object10['resetSilenceWarningOnDeviceChange'] = true;
object9[1] = object10;
const object11 = {};
copyDataProperties(object11, object7, undefined);
object11['resetSilenceWarningAfterNMinutes'] = 10;
object9[2] = object11;
const object12 = {};
copyDataProperties(object12, object7, undefined);
object12['enableHardwareSilenceWarning'] = true;
object9[3] = object12;
object8.variations = object9;
value = Reflect.apply(createApexExperiment, value, [object8]);
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/media_engine/SilenceWarningExperiment.tsx');
exports.default = value;
}
@@ -0,0 +1,11 @@
/* Metro module 12425; source: modules/media_engine/SystemwideEchoCancellationExperiment.tsx; dependencies: [1854, 2] */
function _fun94727(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#94727, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12611:6, offset: 0x02124bac, size: 166 bytes, params: 8, frame: 21
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
const env0_0 = (require(1854) /* metro dependency 1854: apex */).createApexExperiment({'kind': 'user',
'name': '2026-06-systemwide-echo-cancellation-for-people-who-refuse-to-wear-headphones',
defaultConfig: {echoReferenceMode: 'mix'}, variations: {[1]: {echoReferenceMode: 'auto'}}});
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/media_engine/SystemwideEchoCancellationExperiment.tsx');
exports.getSystemwideEchoCancellationExperimentConfig = getSystemwideEchoCancellationExperimentConfig;
}
@@ -0,0 +1,10 @@
/* Metro module 12416; source: modules/media_engine/VADBeforeProcessingExperiment.tsx; dependencies: [1358, 2] */
function _fun94711(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#94711, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12602:6, offset: 0x0212455a, size: 155 bytes, params: 8, frame: 19
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
const env0_0 = (importDefault(1358) /* metro dependency 1358: ApexExperiment */)({'kind': 'user',
'name': '2025-10-vad-before-processing', defaultConfig: {enabled: false}, variations: {[1]: {enabled: true}}});
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/media_engine/VADBeforeProcessingExperiment.tsx');
exports.getVADBeforeProcessingExperimentConfig = getVADBeforeProcessingExperimentConfig;
}
@@ -0,0 +1,11 @@
/* Metro module 12487; source: modules/media_engine/VideoCaptureDeviceNoReuse.tsx; dependencies: [1854, 2] */
function _fun95033(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#95033, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12677:6, offset: 0x0212f3d5, size: 147 bytes, params: 8, frame: 20
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
let value = require(1854) /* metro dependency 1854: apex */;
value = value.createApexExperiment({'name': '2026-03-video-capture-device-no-reuse', 'kind': 'user',
defaultConfig: {overrideDeviceReuse: false}, variations: {[1]: {overrideDeviceReuse: true}}});
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/media_engine/VideoCaptureDeviceNoReuse.tsx');
exports.VideoCaptureDeviceNoReuseExperiment = value;
}
@@ -0,0 +1,11 @@
/* Metro module 12423; source: modules/media_engine/VideoHookDX12Experiment.tsx; dependencies: [1854, 2] */
function _fun94724(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#94724, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12609:6, offset: 0x02124a80, size: 145 bytes, params: 8, frame: 20
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
let value = require(1854) /* metro dependency 1854: apex */;
value = value.createApexExperiment({'name': '2026-04-video-hook-dx12', 'kind': 'user',
defaultConfig: {enabled: false}, variations: {[1]: {enabled: true}}});
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/media_engine/VideoHookDX12Experiment.tsx');
exports.VideoHookDX12Experiment = value;
}
@@ -0,0 +1,11 @@
/* Metro module 16157; source: modules/media_engine/VideoStutterMitigationExperiment.tsx; dependencies: [1854, 2] */
function _fun124897(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#124897, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:16365:6, offset: 0x025c6b3a, size: 155 bytes, params: 8, frame: 21
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
let value = require(1854) /* metro dependency 1854: apex */;
value = value.createApexExperiment({'name': '2026-03-video-stutter-mitigation', 'kind': 'user',
defaultConfig: {enabled: false}, variations: {[0]: {enabled: false}, [1]: {enabled: true}}});
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/media_engine/VideoStutterMitigationExperiment.tsx');
exports.default = value;
}
@@ -0,0 +1,11 @@
/* Metro module 12421; source: modules/media_engine/WGCDirtyRegionsAllExperiment.tsx; dependencies: [1854, 2] */
function _fun94722(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#94722, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12607:6, offset: 0x0212495e, size: 145 bytes, params: 8, frame: 20
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
let value = require(1854) /* metro dependency 1854: apex */;
value = value.createApexExperiment({'name': '2026-02-wgc-dirty-regions-all', 'kind': 'user',
defaultConfig: {enabled: false}, variations: {[1]: {enabled: true}}});
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/media_engine/WGCDirtyRegionsAllExperiment.tsx');
exports.WGCDirtyRegionsAllExperiment = value;
}
@@ -0,0 +1,11 @@
/* Metro module 12420; source: modules/media_engine/WGCDirtyRegionsExperiment.tsx; dependencies: [1854, 2] */
function _fun94721(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#94721, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12606:6, offset: 0x021248cd, size: 145 bytes, params: 8, frame: 20
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
let value = require(1854) /* metro dependency 1854: apex */;
value = value.createApexExperiment({'name': '2026-02-wgc-dirty-regions', 'kind': 'user',
defaultConfig: {enabled: false}, variations: {[1]: {enabled: true}}});
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/media_engine/WGCDirtyRegionsExperiment.tsx');
exports.WGCDirtyRegionsExperiment = value;
}
@@ -0,0 +1,10 @@
/* Metro module 12476; source: modules/media_engine/WindowsMediaFoundationCpuEncodeIntel.tsx; dependencies: [1854, 2] */
function _fun94902(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#94902, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12662:6, offset: 0x0212b8d3, size: 158 bytes, params: 8, frame: 21
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
const env0_0 = (require(1854) /* metro dependency 1854: apex */).createApexExperiment({'name': '2026-06-wmf-cpu-encode-intel',
'kind': 'user', defaultConfig: {enabled: false}, variations: {[1]: {enabled: true}}});
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/media_engine/WindowsMediaFoundationCpuEncodeIntel.tsx');
exports.getWmfCpuEncodeIntel = getWmfCpuEncodeIntel;
}
@@ -0,0 +1,10 @@
/* Metro module 12474; source: modules/media_engine/WindowsMediaFoundationGpuEncode.tsx; dependencies: [1854, 2] */
function _fun94898(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#94898, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12660:6, offset: 0x0212b797, size: 158 bytes, params: 8, frame: 21
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
const env0_0 = (require(1854) /* metro dependency 1854: apex */).createApexExperiment({'name': '2025-12-wmf-gpu-encode',
'kind': 'user', defaultConfig: {enabled: false}, variations: {[1]: {enabled: true}}});
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/media_engine/WindowsMediaFoundationGpuEncode.tsx');
exports.getWmfGpuEncode = getWmfGpuEncode;
}
@@ -0,0 +1,10 @@
/* Metro module 12475; source: modules/media_engine/WindowsMediaFoundationGpuEncodeIntel.tsx; dependencies: [1854, 2] */
function _fun94900(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#94900, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12661:6, offset: 0x0212b835, size: 158 bytes, params: 8, frame: 21
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
const env0_0 = (require(1854) /* metro dependency 1854: apex */).createApexExperiment({'name': '2026-01-wmf-gpu-encode-intel',
'kind': 'user', defaultConfig: {enabled: false}, variations: {[1]: {enabled: true}}});
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/media_engine/WindowsMediaFoundationGpuEncodeIntel.tsx');
exports.getWmfGpuEncodeIntel = getWmfGpuEncodeIntel;
}
@@ -0,0 +1,24 @@
/* Metro module 12408; source: modules/media_engine/dispatchAutoDisableVideo.tsx; dependencies: [4291, 694, 2] */
function _fun94673(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#94673, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12594:6, offset: 0x021233cc, size: 120 bytes, params: 8, frame: 18
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
const env0_2 = (require(4291) /* metro dependency 4291: Constants */).MediaEngineContextTypes;
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/media_engine/dispatchAutoDisableVideo.tsx');
exports.default = dispatchAutoDisableVideo;
}
function dispatchAutoDisableVideo(a0, a1) { // fn#94674, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12594:223, offset: 0x02123444, size: 61 bytes, params: 3, frame: 12
const env0_0 = a0;
const env0_1 = a1;
(importDefault(694) /* metro dependency 694: Dispatcher */).wait(_fun94675);
}
function _fun94675() { // fn#94675, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12594:276, offset: 0x02123481, size: 90 bytes, params: 1, frame: 14
const defaultImport = importDefault(694) /* metro dependency 694: Dispatcher */;
const dispatch = defaultImport.dispatch;
const DEFAULT = MediaEngineContextTypes.DEFAULT;
Reflect.apply(dispatch, defaultImport, [{'type': 'AUDIO_SET_LOCAL_VIDEO_DISABLED', 'context': null, 'userId': null,
'videoToggleState': null, 'persist': false, 'isAutomatic': true, context: DEFAULT, userId: env0_0,
videoToggleState: require}]);
}
@@ -0,0 +1,97 @@
/* Metro module 15844; source: modules/media_engine/native/VoiceProcessingErrorManager.tsx; dependencies: [7, 6, 15, 17, 18, 3856, 4860, 2] */
function _fun121826(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#121826, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:16052:6, offset: 0x02552312, size: 226 bytes, params: 8, frame: 19
const env0_0 = require;
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
const env0_2 = importDefault(7) /* metro dependency 7 */;
const env0_3 = importDefault(6) /* metro dependency 6 */;
const env0_4 = importDefault(15) /* metro dependency 15 */;
const env0_5 = importDefault(17) /* metro dependency 17 */;
const env0_6 = importDefault(18) /* metro dependency 18 */;
let value = importDefault(4860) /* metro dependency 4860: AutomaticLifecycleManager */;
value = _fun121830(value);
value = new value();
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/media_engine/native/VoiceProcessingErrorManager.tsx');
exports.default = value;
}
function _isNativeReflectConstruct_121827() { // fn#121827, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:16052:148, offset: 0x025523f4, size: 98 bytes, params: 1, frame: 18
var Boolean;
var prototype;
var valueOf;
var call;
var Reflect;
var construct;
var closure;
var value;
var error;
try {
Boolean = global.Boolean;
prototype = Boolean.prototype;
valueOf = prototype.valueOf;
call = valueOf.call;
Reflect = global.Reflect;
construct = Reflect.construct;
Boolean = global.Boolean;
closure = function() {
};
value = Reflect.apply(construct, Reflect, [Boolean, [], closure]);
value = Reflect.apply(call, valueOf, [value]);
var result = !value;
} catch (error) {
}
return (_isNativeReflectConstruct_121827_isNativeReflectConstruct = function() {
return !!result;
})();
}
function _fun121830(a0) { // fn#121830, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:16052:351, offset: 0x02552456, size: 42 bytes, params: 2, frame: 14
const closure = VoiceProcessingErrorManager;
env0_6(closure, a0);
return env0_2(closure);
}
function VoiceProcessingErrorManager(a0) { // fn#121831, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:16052:363, offset: 0x02552480, size: 190 bytes, params: 2, frame: 20
var r0;
var Reflect;
let value = copyRestArgs(0, undefined);
let binding = env1_3;
binding(this, VoiceProcessingErrorManager);
const items = [];
arraySpread(items, value, 0, items);
value = env1_5(VoiceProcessingErrorManager);
binding = env1_4;
if (_isNativeReflectConstruct_121827()) {
Reflect = global.Reflect;
value = Reflect.construct(value, items, env1_5(this).constructor);
r0 = value;
} else {
value = value.apply(this, items);
r0 = value;
}
value = binding(this, r0);
value.actions = {MEDIA_ENGINE_NOISE_CANCELLATION_ERROR: MEDIA_ENGINE_NOISE_CANCELLATION_ERROR_121832,
MEDIA_ENGINE_VOICE_ACTIVITY_DETECTION_ERROR: MEDIA_ENGINE_VOICE_ACTIVITY_DETECTION_ERROR_121833};
value.handleNoiseCancellationError = handleNoiseCancellationError;
value.handleVoiceActivityDetectionError = handleVoiceActivityDetectionError;
return value;
}
function VoiceProcessingErrorManagerMEDIA_ENGINE_NOISE_CANCELLATION_ERROR() { // fn#121832, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:16052:679, owner: VoiceProcessingErrorManager.MEDIA_ENGINE_NOISE_CANCELLATION_ERROR, offset: 0x0255253e, size: 19 bytes, params: 1, frame: 9
return env0_0.handleNoiseCancellationError();
}
function VoiceProcessingErrorManagerMEDIA_ENGINE_VOICE_ACTIVITY_DETECTION_ERROR() { // fn#121833, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:16052:760, owner: VoiceProcessingErrorManager.MEDIA_ENGINE_VOICE_ACTIVITY_DETECTION_ERROR, offset: 0x02552551, size: 19 bytes, params: 1, frame: 9
return env0_0.handleVoiceActivityDetectionError();
}
function handleNoiseCancellationError() { // fn#121834, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:16052:834, owner: VoiceProcessingErrorManager.handleNoiseCancellationError, offset: 0x02552564, size: 37 bytes, params: 1, frame: 11
const value = environment.__proto__.__proto__;
(require(3856) /* metro dependency 3856: ToastUtils */).presentNoiseCancellationError();
}
function handleVoiceActivityDetectionError() { // fn#121835, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:16052:916, owner: VoiceProcessingErrorManager.handleVoiceActivityDetectionError, offset: 0x02552589, size: 37 bytes, params: 1, frame: 11
const value = environment.__proto__.__proto__;
(require(3856) /* metro dependency 3856: ToastUtils */).presentVoiceActivityDetectionError();
}
@@ -0,0 +1,35 @@
/* Metro module 12411; source: modules/media_engine/trackVideoToggle.tsx; dependencies: [661, 12407, 683, 2] */
function _fun94696(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#94696, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12597:6, offset: 0x0212402d, size: 137 bytes, params: 8, frame: 18
const env0_0 = require;
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
const env0_5 = (require(661) /* metro dependency 661: Constants */).AnalyticEvents;
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/media_engine/trackVideoToggle.tsx');
exports.default = trackVideoToggle;
exports.setVideoToggleAnalyticsParams = function(a0, a1) {
env0_3 = a0;
env0_4 = a1;
};
}
function trackVideoToggle(a0, a1, a2) { // fn#94697, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:12597:210, offset: 0x021240b6, size: 252 bytes, params: 4, frame: 23
const value2 = undefined;
const VideoHealthManager = (require(12407) /* metro dependency 12407: VideoHealthManager */).VideoHealthManager;
const {featureEnabled, windowLength, allowedPoorFpsRatio, fpsThreshold,
backoffTimeSec} = VideoHealthManager.defaultConfig;
const defaultImport = importDefault(683) /* metro dependency 683: AnalyticsUtils */;
const track = defaultImport.track;
const VIDEO_TOGGLED = AnalyticEvents.VIDEO_TOGGLED;
const object2 = {video_toggle_reason: a1, toggled_user_id: a0};
const value3 = null;
object2.rtc_connection_id = value3 == env0_3 ? value2 : env0_3();
object2.media_session_id = value3 == env0_4 ? value2 : env0_4();
object2.video_health_manager_window_length = featureEnabled ? windowLength : value3;
object2.video_health_manager_poor_fps_ratio = featureEnabled ? allowedPoorFpsRatio : value3;
object2.video_health_manager_fps_threshold = featureEnabled ? fpsThreshold : value3;
object2.is_video_shown = a2;
object2.video_health_manager_backoff_time_seconds = featureEnabled ? backoffTimeSec : value3;
Reflect.apply(track, defaultImport, [VIDEO_TOGGLED, object2]);
return value2;
}
@@ -0,0 +1,43 @@
/* Metro module 10268; source: modules/media_engine/useMuteAwareLocalVolume.tsx; dependencies: [31, 4259, 566, 8899, 2] */
function _fun79699(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#79699, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10454:6, offset: 0x01e5e50c, size: 137 bytes, params: 8, frame: 19
const env0_0 = require;
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
const env0_3 = importAll(31) /* metro dependency 31 */;
const mediaEngineStore = importDefault(4259) /* metro dependency 4259: MediaEngineStore */;
(require(2) /* metro dependency 2 */).fileFinishedImporting('modules/media_engine/useMuteAwareLocalVolume.tsx');
exports.default = useMuteAwareLocalVolume;
}
function useMuteAwareLocalVolume(a0, a1) { // fn#79700, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10454:208, offset: 0x01e5e595, size: 119 bytes, params: 3, frame: 18
const env0_0 = a0;
const env0_1 = a1;
const object2 = {};
object2.effectiveVolume = (require(566) /* metro dependency 566: flux */).useStateFromStores([MediaEngineStore],
_fun79701);
object2.handleVolumeChange = env0_3.useCallback(_fun79702, [a0, a1]);
return object2;
}
function _fun79701() { // fn#79701, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10454:301, offset: 0x01e5e60c, size: 76 bytes, params: 1, frame: 17
return env0_0 == null || MediaEngineStore.isLocalMute(env0_0, require) ? 0 : MediaEngineStore.getLocalVolume(env0_0,
require);
}
function _fun79702(a0) { // fn#79702, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:10454:393, offset: 0x01e5e658, size: 153 bytes, params: 2, frame: 17
var value4;
var defaultImport;
var value5;
var defaultImport2;
if (env0_0 != null) {
if (a0 > 0 && MediaEngineStore.isLocalMute(env0_0, require)) {
value4 = environment.__proto__;
defaultImport = importDefault(8899) /* metro dependency 8899: AudioActionCreators */;
defaultImport.toggleLocalMute(env0_0, require);
}
value5 = environment.__proto__;
defaultImport2 = importDefault(8899) /* metro dependency 8899: AudioActionCreators */;
defaultImport2.setLocalVolume(env0_0, a0, require);
}
}