Files
discord-decomp/sources/stores/StreamRTCConnectionStore.tsx
2026-07-28 01:06:53 +03:00

518 lines
28 KiB
TypeScript

/* Metro module 4395; source: stores/StreamRTCConnectionStore.tsx; dependencies: [6, 7, 15, 17, 18, 4266, 1226, 4259, 4396, 4294, 661, 4286, 44, 4398, 22, 4285, 7128, 694, 4406, 477, 12381, 566, 2] */
import ClassCallCheck from '../by-id/module-00006-ClassCallCheck.js'; /* Metro dependency 6 */
import CreateClass from '../by-id/module-00007-CreateClass.js'; /* Metro dependency 7 */
import PossibleConstructorReturn from '../by-id/module-00015-PossibleConstructorReturn.js'; /* Metro dependency 15 */
import Module00017 from '../by-id/module-00017.js'; /* Metro dependency 17 */
import Inherits from '../by-id/module-00018-Inherits.js'; /* Metro dependency 18 */
import Module00022 from '../by-id/module-00022.js'; /* Metro dependency 22 */
import Flux from '../external/discord_common/js/packages/flux/index.tsx'; /* Metro dependency 566 */
import Dispatcher from '../Dispatcher.tsx'; /* Metro dependency 694 */
import AuthenticationStore from './AuthenticationStore.tsx'; /* Metro dependency 1226 */
import MediaEngineStore from './MediaEngineStore.tsx'; /* Metro dependency 4259 */
import RunningGameStoreNative from '../modules/game_detection/RunningGameStore.native.tsx'; /* Metro dependency 4266 */
import RTCConnectionStore from './RTCConnectionStore.tsx'; /* Metro dependency 4294 */
import PresenceStore from './PresenceStore.tsx'; /* Metro dependency 4396 */
import * as FileImportTrackerModule from '../by-id/module-00002-FileImportTracker.js'; /* Metro dependency 2 */
import * as ConstantsModule from '../Constants.tsx'; /* Metro dependency 661 */
import * as StreamKeyUtilsModule from '../modules/go_live/utils/StreamKeyUtils.tsx'; /* Metro dependency 4285 */
import * as ConstantsModule2 from '../modules/go_live/Constants.tsx'; /* Metro dependency 4286 */
import * as MediaEngineModule from '../external/discord_common/js/packages/media-engine/index.tsx'; /* Metro dependency 4406 */
function _fun37208(global, require, importDefault, importAll, module, exports, dependencyMap) { // fn#37208, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4567:6, offset: 0x0109e9a8, size: 636 bytes, params: 8, frame: 21
const env0_0 = require;
const closure = function() {
return true;
};
const Object = global.Object;
Object.defineProperty(exports, '__esModule', {value: true});
const StreamLayouts = ConstantsModule.StreamLayouts;
const env0_16 = {};
const env0_17 = {};
const env0_18 = {};
const env0_19 = {};
const env0_20 = {};
const env0_21 = {};
const env0_22 = StreamLayouts.PORTRAIT;
const env0_23 = {};
const Store = (Flux).Store;
const value3 = _fun37216(Store);
value3.displayName = 'StreamRTCConnectionStore';
const value5 = new value3(importDefault(694) /* metro dependency 694: Dispatcher */,
MediaEngineStore.isSupported() ? {CONNECTION_OPEN: function(a0) {
env0_3 = a0.sessionId;
destroyStreamRTCConnections();
}, CONNECTION_CLOSED: function() {
env0_3 = null;
destroyStreamRTCConnections();
}, RTC_CONNECTION_STATE: closure, RTC_CONNECTION_PING: closure, RTC_CONNECTION_LOSS_RATE: closure,
RTC_CONNECTION_UPDATE_ID: RTC_CONNECTION_UPDATE_ID_37237, RTC_CONNECTION_SECURE_FRAMES_UPDATE: closure,
RTC_CONNECTION_REMOTE_VIDEO_SINK_WANTS: RTC_CONNECTION_REMOTE_VIDEO_SINK_WANTS_37239,
STREAM_START: STREAM_START_37241, STREAM_STOP: STREAM_STOP_37243, STREAM_CREATE: STREAM_CREATE,
STREAM_SERVER_UPDATE: STREAM_SERVER_UPDATE, STREAM_UPDATE: STREAM_UPDATE_37247, STREAM_DELETE: STREAM_DELETE,
STREAM_LAYOUT_UPDATE: STREAM_LAYOUT_UPDATE, VIDEO_SIZE_UPDATE: VIDEO_SIZE_UPDATE_37251} : {});
(FileImportTrackerModule).fileFinishedImporting('stores/StreamRTCConnectionStore.tsx');
exports.default = value5;
function _isNativeReflectConstruct_37209() { // fn#37209, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4567:277, offset: 0x0109ec24, 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_37209_isNativeReflectConstruct = function() {
return !!result;
})();
}
function destroyStreamRTCConnections() { // fn#37212, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4567:522, offset: 0x0109ec82, size: 49 bytes, params: 1, frame: 14
const defaultImport = Module00022;
defaultImport.forEach(env0_23, _fun37213);
function _fun37213(a0, a1) { // fn#37213, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4567:581, offset: 0x0109ecb3, size: 61 bytes, params: 3, frame: 13
a0.destroy(a0.isOwner ? 'sender-disconnect' : 'receiver-disconnect');
value = environment.__proto__;
delete env1_23[a1];
delete env1_21[a1];
}
}
function parseSourceType(a0) { // fn#37215, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4567:715, offset: 0x0109ecf0, size: 252 bytes, params: 2, frame: 15
var startsWith;
if (a0 == null) {
return 'unknown';
}
const value = undefined;
if ((require(477) /* metro dependency 477: PlatformUtils */).isPlatformEmbedded) {
startsWith = a0.startsWith;
if (Reflect.apply(startsWith, a0, ['web-contents-media-stream:'])) {
return 'tab';
}
startsWith = a0.startsWith;
if (Reflect.apply(startsWith, a0, ['window:'])) {
return 'window';
}
startsWith = a0.startsWith;
if (Reflect.apply(startsWith, a0, ['screen:'])) {
return 'screen';
}
return 'unknown';
}
let platform = global.platform;
if ((platform == null ? value : platform.name) === 'Chrome') {
startsWith = a0.startsWith;
if (Reflect.apply(startsWith, a0, ['web-contents-media-stream:'])) {
return 'tab';
}
startsWith = a0.startsWith;
if (Reflect.apply(startsWith, a0, ['window:'])) {
return 'window';
}
startsWith = a0.startsWith;
if (Reflect.apply(startsWith, a0, ['screen:'])) {
return 'screen';
}
return 'unknown';
}
platform = global.platform;
if ((platform == null ? value : platform.name) === 'Firefox') {
return a0 === '' ? 'screen' : 'window';
}
platform = global.platform;
if ((platform == null ? value : platform.name) !== 'Safari') {
return 'unknown';
}
return 'window';
}
function _fun37216(a0) { // fn#37216, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4567:1173, offset: 0x0109edec, size: 440 bytes, params: 2, frame: 16
const StreamRTCConnectionStore2 = StreamRTCConnectionStore;
Inherits(StreamRTCConnectionStore2, a0);
return CreateClass(StreamRTCConnectionStore2, [{key: 'initialize', value: function() {
this.waitFor(AuthenticationStore, MediaEngineStore, RTCConnectionStore, RunningGameStoreNative);
}}, {key: 'getRTCConnections', value: value_37219}, {key: 'getAllActiveStreamKeys', value: value_37220},
{key: 'getRTCConnection', value: value_37221}, {key: 'getQuality', value: value_37222},
{key: 'getMediaSessionId', value: value_37223}, {key: 'getRtcConnectionId', value: value_37224},
{key: 'getVideoStats', value: value_37225}, {key: 'getHostname', value: value_37226}, {key: 'getRegion',
value: value_37227}, {key: 'getMaxViewers', value: value_37228}, {key: 'getStreamSourceId', value: value_37229},
{key: 'getLastNonZeroRemoteVideoSinkWantsTime', value: value_37230}, {key: 'getUserIds', value: value_37231},
{key: 'isUserConnected', value: value_37232}, {key: 'getSecureFramesState', value: value_37233},
{key: 'getSecureFramesRosterMapEntry', value: value_37234}]);
function StreamRTCConnectionStore() { // fn#37217, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4567:1185, offset: 0x0109efa4, size: 113 bytes, params: 1, frame: 20
const value = environment.__proto__;
env1_4(this, StreamRTCConnectionStore);
const value3 = env1_7(StreamRTCConnectionStore);
return env1_6(this, _isNativeReflectConstruct_37209() ? global.Reflect.construct(value3, arguments,
env1_7(this).constructor) : value3.apply(this, arguments));
}
function value_37219() { // fn#37219, offset: 0x00df3ac4, size: 9 bytes, params: 1, frame: 1
return env1_23;
}
function value_37220() { // fn#37220, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4567:1647, offset: 0x0109f03c, size: 27 bytes, params: 1, frame: 11
const Object = global.Object;
return Object.keys(env1_23);
}
function value_37221(a0) { // fn#37221, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4567:1712, offset: 0x0109f057, size: 16 bytes, params: 2, frame: 2
return env1_23[a0];
}
function value_37222(a0) { // fn#37222, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4567:1762, offset: 0x0109f067, size: 85 bytes, params: 2, frame: 13
return (importDefault(12381) /* metro dependency 12381: canSpectate */)(MediaEngineStore) ? a0 == null ? RTCConnectionQuality.UNKNOWN : env1_23[a0]?.quality ?? RTCConnectionQuality.UNKNOWN : RTCConnectionQuality.UNKNOWN;
}
function value_37223(a0) { // fn#37223, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4567:1898, offset: 0x0109f0bc, size: 55 bytes, params: 2, frame: 12
const value = null;
if (value == a0) {
return value;
}
const property = env1_23[a0];
return value != property ? value != property ? property.getMediaSessionId() : value : undefined;
}
function value_37224(a0) { // fn#37224, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4567:2035, offset: 0x0109f0f3, size: 55 bytes, params: 2, frame: 12
const value = null;
if (value == a0) {
return value;
}
const property = env1_23[a0];
return value != property ? value != property ? property.getRTCConnectionId() : value : undefined;
}
function value_37225(a0) { // fn#37225, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4567:2168, offset: 0x0109f12a, size: 43 bytes, params: 2, frame: 11
const value = null;
if (value == a0) {
return value;
}
const property = env1_23[a0];
return value != property ? property.getVideoStats() : value;
}
function value_37226(a0) { // fn#37226, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4567:2279, offset: 0x0109f155, size: 64 bytes, params: 2, frame: 5
if (a0 == null) {
return '';
}
const value = environment.__proto__;
const property = env1_23[a0];
return property != null && property.hostname != null ? property.hostname : '';
}
function value_37227(a0) { // fn#37227, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4567:2394, offset: 0x0109f195, size: 43 bytes, params: 2, frame: 11
const value = null;
if (value == a0) {
return value;
}
const property = env1_23[a0];
return value != property ? property.getRegion() : value;
}
function value_37228(a0) { // fn#37228, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4567:2503, offset: 0x0109f1c0, size: 43 bytes, params: 2, frame: 11
const value = null;
if (value == a0) {
return value;
}
const property = env1_23[a0];
return value != property ? property.getMaxViewers() : value;
}
function value_37229(a0) { // fn#37229, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4567:2620, offset: 0x0109f1eb, size: 16 bytes, params: 2, frame: 2
return env1_19[a0];
}
function value_37230(a0) { // fn#37230, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4567:2698, offset: 0x01080378, size: 16 bytes, params: 2, frame: 2
return env1_21[a0];
}
function value_37231(a0) { // fn#37231, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4567:2748, offset: 0x0109f1fb, size: 37 bytes, params: 2, frame: 10
const value = environment.__proto__;
return env1_23[a0]?.getUserIds();
}
function value_37232(a0, a1) { // fn#37232, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4567:2839, offset: 0x0109f220, size: 41 bytes, params: 3, frame: 12
const value = environment.__proto__;
return env1_23[a0]?.getIsUserConnected(a1);
}
function value_37233(a0) { // fn#37233, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4567:2946, offset: 0x0109f249, size: 37 bytes, params: 2, frame: 10
const value = environment.__proto__;
return env1_23[a0]?.getSecureFramesState();
}
function value_37234(a0, a1) { // fn#37234, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4567:3061, offset: 0x0109f26e, size: 59 bytes, params: 3, frame: 13
let value = environment.__proto__;
const property = env1_23[a0];
value = undefined;
const r3 = property == null ? value : property.getSecureFramesRosterMap();
return r3 == null ? value : r3.get(a1);
}
}
function RTC_CONNECTION_UPDATE_ID_37237(a0) { // fn#37237, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4567:3586, offset: 0x0109f2da, size: 57 bytes, params: 2, frame: 14
const env0_0 = a0;
const defaultImport = Module00022;
return defaultImport.some(env0_23, _fun37238);
function _fun37238(a0) { // fn#37238, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4567:3650, offset: 0x0109f313, size: 22 bytes, params: 2, frame: 2
return a0 === env0_0.connection;
}
}
function RTC_CONNECTION_REMOTE_VIDEO_SINK_WANTS_37239({context, wants, userId, guildId, channelId}) { // fn#37239, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4567:3764, offset: 0x0109f329, size: 243 bytes, params: 2, frame: 21
var r1;
var value7;
var binding;
var performance;
let value3 = (require(4285) /* metro dependency 4285: StreamKeyUtils */).encodeStreamKey({streamType: guildId == null ? StreamTypes.CALL : StreamTypes.GUILD,
guildId: guildId, channelId: channelId, ownerId: userId});
const MediaEngineContextTypes = (MediaEngineModule).MediaEngineContextTypes;
const STREAM = MediaEngineContextTypes.STREAM;
let r0 = context === STREAM && env0_23[value3] != null;
if (r0) {
value7 = global.Object.entries(wants).some(function(a0) {
var r0;
var r2;
var r3;
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;
var r1 = value2 ? value : item;
if (value2) {
r0 = item2;
r2 = value;
r3 = value2;
} else {
item3 = Reflect.apply(iterator2, item2, []);
item = item3.value;
item3 = item3.done ? undefined : item2;
value3 = item3 === value;
if (value3) {
r0 = item3;
r2 = value;
r3 = value3;
} else {
r0 = item3;
r2 = item;
r3 = value3;
}
}
if (!r3) {
r0.return();
}
return r1 !== 'any' && r2 !== 0;
});
if (value7) {
binding = env0_21;
performance = global.performance;
binding[value3] = performance.now();
r1 = undefined;
} else {
r1 = !!value7;
}
r0 = r1;
}
return r0;
}
function STREAM_START_37241({streamType, guildId, channelId, appContext, pid, sourceId, sourcePid, nativePickerStyleUsed, goLiveModalDurationMs, analyticsLocations}) { // fn#37241, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4567:4129, offset: 0x0109f41c, size: 415 bytes, params: 2, frame: 25
var property;
var gameForPID;
const encodeStreamKey = StreamKeyUtilsModule.encodeStreamKey;
const object = {streamType: streamType, guildId: guildId, channelId: channelId};
object.ownerId = AuthenticationStore.getId();
const value2 = Reflect.apply(encodeStreamKey, StreamKeyUtilsModule, [object]);
env0_16[value2] = {appContext: appContext, analyticsLocations: analyticsLocations};
const defaultImport = Module00022;
defaultImport.forEach(env0_23, function({analyticsContext, isOwner}) {
analyticsContext.setActionContext(appContext);
analyticsContext.setNativePickerStyleUsed(nativePickerStyleUsed);
if (isOwner) {
analyticsContext.trackStart();
}
});
const r7 = pid ?? sourcePid;
env0_19[value2] = sourceId;
env0_18[value2] = r7;
if (r7 != null) {
gameForPID = RunningGameStoreNative.getGameForPID(r7);
if (gameForPID != null) {
env0_17[value2] = {name: gameForPID.name, id: gameForPID.id, exe: gameForPID.exeName,
distributor: gameForPID.distributor, sku: gameForPID.sku, gameMetadata: gameForPID.gameMetadata};
}
property = env0_23[value2];
if (property != null) {
property.analyticsContext.updateStreamApplication(env0_17[value2]);
}
} else {
property = env0_23[value2];
if (property != null) {
property.analyticsContext.updateStreamApplication(null);
}
}
if (goLiveModalDurationMs != null) {
env0_20[value2] = goLiveModalDurationMs;
} else {
delete env0_20[value2];
}
}
function STREAM_STOP_37243({appContext, streamKey}) { // fn#37243, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4567:4926, offset: 0x0109f600, size: 114 bytes, params: 2, frame: 16
env0_16[streamKey] = {appContext: appContext, analyticsLocations: undefined};
const defaultImport = Module00022;
defaultImport.forEach(env0_23, function({analyticsContext, isOwner}) {
analyticsContext.setActionContext(appContext);
if (isOwner) {
analyticsContext.trackEnd();
}
});
env0_19[streamKey] = null;
env0_18[streamKey] = null;
delete env0_20[streamKey];
}
function STREAM_CREATE({streamKey, rtcServerId, rtcChannelId, region, viewerIds}) { // fn#37245, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4567:5169, offset: 0x0109f6a6, size: 577 bytes, params: 2, frame: 23
var r5;
var binding;
var moduleValue2;
var StreamRTCAnalyticsContext;
var object;
var prototype;
var value9;
var streamRTCAnalyticsContext;
var value10;
var defaultImport2;
var value11;
var defaultImport22;
var value13;
let property = env0_23[streamKey];
if (property == null && rtcServerId != null) {
if (env0_18[streamKey] == null) {
env0_17[streamKey] = null;
}
if (env0_17[streamKey] == null && env0_19[streamKey] == null) {
binding = env0_17;
moduleValue2 = require(7128) /* metro dependency 7128: StreamerApplicationSelectors */;
binding[streamKey] = moduleValue2.getStreamerApplication((require(4285) /* metro dependency 4285: StreamKeyUtils */).decodeStreamKey(streamKey),
PresenceStore);
}
StreamRTCAnalyticsContext = (require(4398) /* metro dependency 4398: StreamRTCConnection */).StreamRTCAnalyticsContext;
object = {streamRegion: region, streamApplication: env0_17[streamKey]};
object.streamSourceType = parseSourceType(env0_19[streamKey]);
property = env0_16[streamKey];
object.actionContext = property?.appContext;
object.numViewers = viewerIds != null ? viewerIds.length : 0;
object.goLiveModalDurationMs = env0_20[streamKey];
property = env0_16[streamKey];
object.analyticsLocations = property?.analyticsLocations;
prototype = StreamRTCAnalyticsContext.prototype;
value9 = Object.create(prototype, {constructor: {value: StreamRTCAnalyticsContext}});
streamRTCAnalyticsContext = new StreamRTCAnalyticsContext();
value10 = streamRTCAnalyticsContext instanceof Object ? streamRTCAnalyticsContext : value9;
(importDefault(44) /* metro dependency 44 */)(env0_3 != null, 'Creating RTCConnection without session.');
defaultImport2 = importDefault(4398) /* metro dependency 4398: StreamRTCConnection */;
object = {sessionId: env0_3, streamKey: streamKey, serverId: rtcServerId, channelId: rtcChannelId};
object.initialLayout = PORTRAIT;
object.analyticsContext = value10;
object.parentMediaSessionId = RTCConnectionStore.getMediaSessionId();
prototype = defaultImport2.prototype;
value11 = Object.create(prototype, {constructor: {value: defaultImport2}});
defaultImport22 = new defaultImport2();
value13 = defaultImport22 instanceof Object ? defaultImport22 : value11;
env0_23[streamKey] = value13;
r5 = value13;
} else {
r5 = property;
}
delete env0_21[streamKey];
const dispatch = Dispatcher.dispatch;
object = {type: 'MEDIA_ENGINE_CONNECTION_STATS_HISTORY_RESET'};
object.mediaEngineConnectionId = r5.getMediaEngineConnectionId();
Reflect.apply(dispatch, Dispatcher, [object]);
}
function STREAM_SERVER_UPDATE({streamKey, endpoint, token}) { // fn#37246, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4567:6132, offset: 0x0109f8e7, size: 58 bytes, params: 2, frame: 13
const property = env0_23[streamKey];
if (property == null) {
return false;
}
property.connect(endpoint, token);
}
function STREAM_UPDATE_37247({streamKey, viewerIds, paused}) { // fn#37247, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4567:6255, offset: 0x0109f921, size: 87 bytes, params: 2, frame: 13
var analyticsContext;
const property = env0_23[streamKey];
if (property == null) {
return false;
}
if (viewerIds != null) {
analyticsContext = property.analyticsContext;
analyticsContext.trackViewerCount(viewerIds.length);
}
property.streamUpdate(paused);
}
function STREAM_DELETE({streamKey}) { // fn#37248, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4567:6438, offset: 0x0109f978, size: 116 bytes, params: 2, frame: 16
const property = env0_23[streamKey];
if (property == null) {
return false;
}
const defaultImport = Dispatcher;
const dispatch = defaultImport.dispatch;
const object = {type: 'MEDIA_ENGINE_CONNECTION_STATS_HISTORY_RESET'};
object.mediaEngineConnectionId = property.getMediaEngineConnectionId();
Reflect.apply(dispatch, defaultImport, [object]);
property.destroy('stream-end');
delete env0_23[streamKey];
}
function STREAM_LAYOUT_UPDATE({layout}) { // fn#37249, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4567:6697, offset: 0x0109f9ec, size: 63 bytes, params: 2, frame: 12
const Object = global.Object;
Object.values(env0_23).forEach(function(a0) {
return a0.layoutChange(layout);
});
}
function VIDEO_SIZE_UPDATE_37251({streamId, dimensions, zoom}) { // fn#37251, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4567:6809, offset: 0x0109fa42, size: 82 bytes, params: 2, frame: 14
const defaultImport = Module00022;
defaultImport.forEach(env0_23, _fun37252);
function _fun37252(a0) { // fn#37252, source: /ci/build/discord/discord/discord_android_rn/android/app/src/main/assets/index.android.bundle:4567:6894, offset: 0x0109fa94, size: 41 bytes, params: 2, frame: 15
if (a0 != null) {
a0.setVideoSize(streamId, dimensions, zoom);
}
}
}
}
global.__d(_fun37208, 4395, [6, 7, 15, 17, 18, 4266, 1226, 4259, 4396, 4294, 661, 4286, 44, 4398, 22, 4285, 7128,
694, 4406, 477, 12381, 566,
2]) /* metro module 4395, dependencies: [6, 7, 15, 17, 18, 4266, 1226, 4259, 4396, 4294, 661, 4286, 44, 4398, 22, 4285, 7128, 694, 4406, 477, 12381, 566, 2] */;