@stream-io/video-react-native-sdk 1.41.0 → 1.42.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +26 -0
- package/android/src/main/java/com/streamvideo/reactnative/audio/AudioDeviceManager.kt +79 -54
- package/android/src/main/java/com/streamvideo/reactnative/audio/utils/AudioManagerUtil.kt +6 -2
- package/android/src/main/java/com/streamvideo/reactnative/callmanager/StreamInCallManagerModule.kt +3 -3
- package/dist/commonjs/hooks/index.js +11 -0
- package/dist/commonjs/hooks/index.js.map +1 -1
- package/dist/commonjs/hooks/push/useCallingExpWithCallingStateEffect.js +73 -0
- package/dist/commonjs/hooks/push/useCallingExpWithCallingStateEffect.js.map +1 -1
- package/dist/commonjs/hooks/useAudioDeviceStatus.js +76 -0
- package/dist/commonjs/hooks/useAudioDeviceStatus.js.map +1 -0
- package/dist/commonjs/modules/call-manager/CallManager.js +94 -47
- package/dist/commonjs/modules/call-manager/CallManager.js.map +1 -1
- package/dist/commonjs/utils/internal/callingx/callingx.js +0 -7
- package/dist/commonjs/utils/internal/callingx/callingx.js.map +1 -1
- package/dist/commonjs/utils/push/setupCallingExpEvents.js +0 -2
- package/dist/commonjs/utils/push/setupCallingExpEvents.js.map +1 -1
- package/dist/commonjs/version.js +1 -1
- package/dist/module/hooks/index.js +1 -0
- package/dist/module/hooks/index.js.map +1 -1
- package/dist/module/hooks/push/useCallingExpWithCallingStateEffect.js +73 -0
- package/dist/module/hooks/push/useCallingExpWithCallingStateEffect.js.map +1 -1
- package/dist/module/hooks/useAudioDeviceStatus.js +71 -0
- package/dist/module/hooks/useAudioDeviceStatus.js.map +1 -0
- package/dist/module/modules/call-manager/CallManager.js +94 -47
- package/dist/module/modules/call-manager/CallManager.js.map +1 -1
- package/dist/module/utils/internal/callingx/callingx.js +0 -7
- package/dist/module/utils/internal/callingx/callingx.js.map +1 -1
- package/dist/module/utils/push/setupCallingExpEvents.js +0 -2
- package/dist/module/utils/push/setupCallingExpEvents.js.map +1 -1
- package/dist/module/version.js +1 -1
- package/dist/typescript/hooks/index.d.ts +1 -0
- package/dist/typescript/hooks/index.d.ts.map +1 -1
- package/dist/typescript/hooks/push/useCallingExpWithCallingStateEffect.d.ts.map +1 -1
- package/dist/typescript/hooks/useAudioDeviceStatus.d.ts +21 -0
- package/dist/typescript/hooks/useAudioDeviceStatus.d.ts.map +1 -0
- package/dist/typescript/modules/call-manager/CallManager.d.ts +25 -11
- package/dist/typescript/modules/call-manager/CallManager.d.ts.map +1 -1
- package/dist/typescript/modules/call-manager/types.d.ts +29 -3
- package/dist/typescript/modules/call-manager/types.d.ts.map +1 -1
- package/dist/typescript/utils/internal/callingx/callingx.d.ts.map +1 -1
- package/dist/typescript/utils/push/setupCallingExpEvents.d.ts.map +1 -1
- package/dist/typescript/version.d.ts +1 -1
- package/expo-config-plugin/dist/index.js +2 -0
- package/expo-config-plugin/dist/withAndroidMessagingService.js +287 -0
- package/ios/StreamInCallManager.m +7 -0
- package/ios/StreamInCallManager.swift +257 -14
- package/package.json +8 -8
- package/src/hooks/index.ts +1 -0
- package/src/hooks/push/useCallingExpWithCallingStateEffect.ts +95 -0
- package/src/hooks/useAudioDeviceStatus.ts +90 -0
- package/src/modules/call-manager/CallManager.ts +122 -64
- package/src/modules/call-manager/native-module.d.ts +14 -7
- package/src/modules/call-manager/types.ts +30 -3
- package/src/utils/internal/callingx/callingx.ts +0 -8
- package/src/utils/push/setupCallingExpEvents.ts +0 -2
- package/src/version.ts +1 -1
- package/dist/commonjs/utils/internal/callingx/audioSessionPromise.js +0 -68
- package/dist/commonjs/utils/internal/callingx/audioSessionPromise.js.map +0 -1
- package/dist/module/utils/internal/callingx/audioSessionPromise.js +0 -63
- package/dist/module/utils/internal/callingx/audioSessionPromise.js.map +0 -1
- package/dist/typescript/utils/internal/callingx/audioSessionPromise.d.ts +0 -16
- package/dist/typescript/utils/internal/callingx/audioSessionPromise.d.ts.map +0 -1
- package/src/utils/internal/callingx/audioSessionPromise.ts +0 -65
|
@@ -6,10 +6,23 @@ import { videoLoggerSystem } from '@stream-io/video-client';
|
|
|
6
6
|
const NativeManager = NativeModules.StreamInCallManager;
|
|
7
7
|
const CallingxModule = getCallingxLibIfAvailable();
|
|
8
8
|
const AUDIO_INTERRUPTION_EVENT = 'StreamInCallManagerAudioInterruption';
|
|
9
|
+
const AUDIO_DEVICE_CHANGED_EVENT = 'onAudioDeviceChanged';
|
|
9
10
|
const invariant = (condition, message) => {
|
|
10
11
|
if (!condition) throw new Error(message);
|
|
11
12
|
};
|
|
12
13
|
|
|
14
|
+
/**
|
|
15
|
+
* Runs a fire-and-forget native call, logging instead of throwing on a bridge
|
|
16
|
+
* error so it can't crash the caller or an event-dispatch loop.
|
|
17
|
+
*/
|
|
18
|
+
const safeNativeCall = (label, fn) => {
|
|
19
|
+
try {
|
|
20
|
+
fn();
|
|
21
|
+
} catch (error) {
|
|
22
|
+
videoLoggerSystem.getLogger('CallManager').warn(`${label} failed`, error);
|
|
23
|
+
}
|
|
24
|
+
};
|
|
25
|
+
|
|
13
26
|
/**
|
|
14
27
|
* On Android, whether the current call is managed by Telecom (via callingx).
|
|
15
28
|
* In that mode, audio routing/mode is owned by Telecom and StreamInCallManager audio methods should not be used
|
|
@@ -41,7 +54,7 @@ const getTelecomContext = () => {
|
|
|
41
54
|
};
|
|
42
55
|
};
|
|
43
56
|
|
|
44
|
-
/** Map a generic Telecom endpoint type to the SDK's endpoint
|
|
57
|
+
/** Map a generic Telecom endpoint type to the SDK's endpoint type. */
|
|
45
58
|
const endpointTypeToDisplayName = type => {
|
|
46
59
|
switch (type) {
|
|
47
60
|
case 'earpiece':
|
|
@@ -57,76 +70,111 @@ const endpointTypeToDisplayName = type => {
|
|
|
57
70
|
}
|
|
58
71
|
};
|
|
59
72
|
|
|
60
|
-
/** Adapt a callingx endpoints snapshot to the SDK's {@link
|
|
61
|
-
const
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
73
|
+
/** Adapt a callingx endpoints snapshot to the SDK's {@link AudioDevicesState}. */
|
|
74
|
+
const snapshotToState = snapshot => ({
|
|
75
|
+
// callingx endpoint ids are stable and unique — use them directly as the
|
|
76
|
+
// device id, so `select(device.id)` maps straight back to a Telecom endpoint.
|
|
77
|
+
devices: snapshot.endpoints.map(e => ({
|
|
78
|
+
id: e.id,
|
|
79
|
+
name: e.name,
|
|
80
|
+
type: endpointTypeToDisplayName(e.type)
|
|
81
|
+
})),
|
|
82
|
+
selectedDeviceId: snapshot.currentEndpoint?.id,
|
|
83
|
+
currentEndpointType: snapshot.currentEndpoint ? endpointTypeToDisplayName(snapshot.currentEndpoint.type) : 'Unknown'
|
|
65
84
|
});
|
|
66
|
-
|
|
85
|
+
|
|
86
|
+
/**
|
|
87
|
+
* Cross-platform audio output device picker.
|
|
88
|
+
*/
|
|
89
|
+
class AudioDevicesManager {
|
|
90
|
+
interruptionReassertSetup = false;
|
|
91
|
+
|
|
92
|
+
/**
|
|
93
|
+
* iOS + CallKit only: re-assert the user's output pick after an interruption ends.
|
|
94
|
+
*
|
|
95
|
+
* On interruption-end iOS clears the ephemeral route override (`setPreferredInput` /
|
|
96
|
+
* `overrideOutputAudioPort`) and doesn't restore it, and callingx re-applies its config
|
|
97
|
+
* only on engine-enable — not the engine-restart of interruption recovery.
|
|
98
|
+
*/
|
|
99
|
+
ensureInterruptionReassert = () => {
|
|
100
|
+
if (this.interruptionReassertSetup) return; // subscibed once per app lifetime
|
|
101
|
+
if (Platform.OS !== 'ios' || !CallingxModule) return;
|
|
102
|
+
this.interruptionReassertSetup = true;
|
|
103
|
+
CallingxModule.addEventListener('didAudioInterruption', event => {
|
|
104
|
+
if (event.phase === 'ended') {
|
|
105
|
+
safeNativeCall('reapplyAudioRoute', () => NativeManager.reapplyAudioRoute());
|
|
106
|
+
}
|
|
107
|
+
});
|
|
108
|
+
};
|
|
109
|
+
|
|
67
110
|
/**
|
|
68
|
-
* Get the current audio device
|
|
111
|
+
* Get the current audio device state (available devices + the selected one).
|
|
112
|
+
* Read directly from the audio session, so it works on every path.
|
|
69
113
|
*/
|
|
70
|
-
|
|
71
|
-
|
|
114
|
+
getStatus = async () => {
|
|
115
|
+
// Android Telecom owns routing: read the endpoint snapshot from callingx.
|
|
72
116
|
const tc = getTelecomContext();
|
|
73
117
|
if (tc) {
|
|
74
118
|
const snapshot = await tc.cx.getAvailableAudioEndpoints(tc.callId);
|
|
75
|
-
return
|
|
119
|
+
return snapshotToState(snapshot);
|
|
76
120
|
}
|
|
77
121
|
return NativeManager.getAudioDeviceStatus();
|
|
78
122
|
};
|
|
79
123
|
|
|
80
124
|
/**
|
|
81
|
-
*
|
|
125
|
+
* Switch the audio output to the device with the given id.
|
|
82
126
|
*
|
|
83
|
-
* @param
|
|
127
|
+
* @param deviceId the stable {@link AudioDevice.id} (not the display name).
|
|
84
128
|
*/
|
|
85
|
-
|
|
86
|
-
|
|
129
|
+
select = deviceId => {
|
|
130
|
+
// Android Telecom owns routing: the device id is the callingx endpoint id,
|
|
131
|
+
// so route by it directly (no name lookup needed).
|
|
87
132
|
const tc = getTelecomContext();
|
|
88
133
|
if (tc) {
|
|
89
134
|
const {
|
|
90
135
|
cx,
|
|
91
136
|
callId
|
|
92
137
|
} = tc;
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
const target = snapshot.endpoints.find(e => e.name === endpointName);
|
|
96
|
-
if (target) {
|
|
97
|
-
return cx.requestAudioEndpointChange(callId, target.id);
|
|
98
|
-
}
|
|
99
|
-
return undefined;
|
|
100
|
-
}).catch(error => {
|
|
101
|
-
videoLoggerSystem.getLogger('CallManager').warn(`selectAudioDevice: failed to route to "${endpointName}" for call ${callId} via Telecom`, error);
|
|
138
|
+
cx.requestAudioEndpointChange(callId, deviceId).catch(error => {
|
|
139
|
+
videoLoggerSystem.getLogger('CallManager').warn(`select: failed to route to "${deviceId}" for call ${callId} via Telecom`, error);
|
|
102
140
|
});
|
|
103
141
|
return;
|
|
104
142
|
}
|
|
105
|
-
|
|
143
|
+
this.ensureInterruptionReassert();
|
|
144
|
+
safeNativeCall('chooseAudioDeviceEndpoint', () => NativeManager.chooseAudioDeviceEndpoint(deviceId));
|
|
106
145
|
};
|
|
107
146
|
|
|
108
147
|
/**
|
|
109
|
-
* Register a listener for audio device changes.
|
|
110
|
-
*
|
|
148
|
+
* Register a listener for audio device changes. Returns an unsubscribe fn.
|
|
149
|
+
*
|
|
150
|
+
* @param onChange called with the latest {@link AudioDevicesState} on change.
|
|
111
151
|
*/
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
const
|
|
152
|
+
addChangeListener = onChange => {
|
|
153
|
+
let active = true;
|
|
154
|
+
const unsubscribes = [];
|
|
115
155
|
|
|
116
|
-
//
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
156
|
+
// callingx-owned route changes (Android Telecom + iOS CallKit). The event is
|
|
157
|
+
// signal-only, so re-read the current state — ignoring a resolve that lands
|
|
158
|
+
// after unsubscribe, and swallowing bridge rejections.
|
|
159
|
+
if (CallingxModule) {
|
|
160
|
+
const cxSub = CallingxModule.addEventListener('didChangeAudioRoute', () => {
|
|
161
|
+
this.getStatus().then(state => {
|
|
162
|
+
if (active) onChange(state);
|
|
163
|
+
}).catch(error => {
|
|
164
|
+
videoLoggerSystem.getLogger('CallManager').warn('addChangeListener: getStatus failed', error);
|
|
165
|
+
});
|
|
166
|
+
});
|
|
167
|
+
unsubscribes.push(() => cxSub.remove());
|
|
120
168
|
}
|
|
121
169
|
|
|
122
|
-
//
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
170
|
+
// SDK-managed route changes (non-callingx calls).
|
|
171
|
+
this.eventEmitter = this.eventEmitter ?? new NativeEventEmitter(NativeManager);
|
|
172
|
+
const sdkSub = this.eventEmitter.addListener(AUDIO_DEVICE_CHANGED_EVENT, onChange);
|
|
173
|
+
unsubscribes.push(() => sdkSub.remove());
|
|
174
|
+
return () => {
|
|
175
|
+
active = false;
|
|
176
|
+
unsubscribes.forEach(unsubscribe => unsubscribe());
|
|
177
|
+
};
|
|
130
178
|
};
|
|
131
179
|
}
|
|
132
180
|
class IOSCallManager {
|
|
@@ -207,7 +255,7 @@ const shouldBypassForCallKit = () => {
|
|
|
207
255
|
return CallingxModule.isSetup && (CallingxModule.hasRegisteredCall() || CallingxModule.isOngoingCallsEnabled);
|
|
208
256
|
};
|
|
209
257
|
export class CallManager {
|
|
210
|
-
|
|
258
|
+
audioDevices = new AudioDevicesManager();
|
|
211
259
|
ios = new IOSCallManager();
|
|
212
260
|
speaker = new SpeakerManager();
|
|
213
261
|
|
|
@@ -230,11 +278,10 @@ export class CallManager {
|
|
|
230
278
|
*/
|
|
231
279
|
start = config => {
|
|
232
280
|
if (shouldBypassForCallKit()) {
|
|
233
|
-
// Forward only the passive endpoint preference; callingx reads it when
|
|
234
|
-
// CallKit drives session activation.
|
|
235
281
|
if (config?.audioRole === 'communicator' && CallingxModule) {
|
|
236
282
|
const type = config.deviceEndpointType ?? 'speaker';
|
|
237
|
-
CallingxModule.setDefaultAudioDeviceEndpointType(type);
|
|
283
|
+
safeNativeCall('setDefaultAudioDeviceEndpointType (callingx)', () => CallingxModule.setDefaultAudioDeviceEndpointType(type));
|
|
284
|
+
safeNativeCall('setDefaultAudioDeviceEndpointType', () => NativeManager.setDefaultAudioDeviceEndpointType(type));
|
|
238
285
|
}
|
|
239
286
|
videoLoggerSystem.getLogger('CallManager').debug('start: skipping start as callkit is handling the audio session');
|
|
240
287
|
return;
|
|
@@ -243,7 +290,7 @@ export class CallManager {
|
|
|
243
290
|
// Telecom owns routing/focus; forward the sticky preference to callingx and run in
|
|
244
291
|
// telecom-managed mode (StreamInCallManager keeps proximity/keep-screen-on only).
|
|
245
292
|
if (config?.audioRole !== 'listener' && CallingxModule) {
|
|
246
|
-
CallingxModule.setDefaultAudioDeviceEndpointType(config?.deviceEndpointType ?? 'speaker');
|
|
293
|
+
safeNativeCall('setDefaultAudioDeviceEndpointType (callingx)', () => CallingxModule.setDefaultAudioDeviceEndpointType(config?.deviceEndpointType ?? 'speaker'));
|
|
247
294
|
}
|
|
248
295
|
NativeManager.setTelecomManagedMode(true);
|
|
249
296
|
NativeManager.setAudioRole(config?.audioRole ?? 'communicator');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["NativeEventEmitter","NativeModules","Platform","getCallingxLibIfAvailable","videoLoggerSystem","NativeManager","StreamInCallManager","CallingxModule","AUDIO_INTERRUPTION_EVENT","invariant","condition","message","Error","isAndroidTelecomManaged","OS","isSetup","isTelecomBacked","hasRegisteredCall","isOngoingCallsEnabled","getTelecomContext","undefined","callId","getRegisteredCallIds","cx","endpointTypeToDisplayName","type","
|
|
1
|
+
{"version":3,"names":["NativeEventEmitter","NativeModules","Platform","getCallingxLibIfAvailable","videoLoggerSystem","NativeManager","StreamInCallManager","CallingxModule","AUDIO_INTERRUPTION_EVENT","AUDIO_DEVICE_CHANGED_EVENT","invariant","condition","message","Error","safeNativeCall","label","fn","error","getLogger","warn","isAndroidTelecomManaged","OS","isSetup","isTelecomBacked","hasRegisteredCall","isOngoingCallsEnabled","getTelecomContext","undefined","callId","getRegisteredCallIds","cx","endpointTypeToDisplayName","type","snapshotToState","snapshot","devices","endpoints","map","e","id","name","selectedDeviceId","currentEndpoint","currentEndpointType","AudioDevicesManager","interruptionReassertSetup","ensureInterruptionReassert","addEventListener","event","phase","reapplyAudioRoute","getStatus","tc","getAvailableAudioEndpoints","getAudioDeviceStatus","select","deviceId","requestAudioEndpointChange","catch","chooseAudioDeviceEndpoint","addChangeListener","onChange","active","unsubscribes","cxSub","then","state","push","remove","eventEmitter","sdkSub","addListener","forEach","unsubscribe","IOSCallManager","showDeviceSelector","showAudioRoutePicker","addAudioInterruptionListener","onInterruption","s","SpeakerManager","setMute","mute","muteAudioOutput","unmuteAudioOutput","setForceSpeakerphoneOn","force","target","find","shouldBypassForCallKit","CallManager","audioDevices","ios","speaker","start","config","audioRole","deviceEndpointType","setDefaultAudioDeviceEndpointType","debug","setTelecomManagedMode","setAudioRole","enableStereoAudioOutput","setEnableStereoAudioOutput","stop","logAudioState","getAudioStateLog"],"sourceRoot":"../../../../src","sources":["modules/call-manager/CallManager.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -6,7 +6,6 @@
|
|
|
6
6
|
*/
|
|
7
7
|
import { NativeModules, Platform } from 'react-native';
|
|
8
8
|
import { getCallingxLibIfAvailable } from '../../push/libs/callingx';
|
|
9
|
-
import { waitForAudioSessionActivation } from './audioSessionPromise';
|
|
10
9
|
import { CallingState, videoLoggerSystem } from '@stream-io/video-client';
|
|
11
10
|
const CallingxModule = getCallingxLibIfAvailable();
|
|
12
11
|
|
|
@@ -121,9 +120,6 @@ export async function joinCallingxCall(call, activeCalls) {
|
|
|
121
120
|
// display name for display in call screen
|
|
122
121
|
call.state.settings?.video?.enabled ?? false // is video call?
|
|
123
122
|
);
|
|
124
|
-
if (Platform.OS === 'ios') {
|
|
125
|
-
await waitForAudioSessionActivation();
|
|
126
|
-
}
|
|
127
123
|
};
|
|
128
124
|
if (isOutcomingCall || !call.ringing && CallingxModule.isOngoingCallsEnabled) {
|
|
129
125
|
try {
|
|
@@ -158,9 +154,6 @@ export async function joinCallingxCall(call, activeCalls) {
|
|
|
158
154
|
call.state.settings?.video?.enabled ?? false // is video call?
|
|
159
155
|
);
|
|
160
156
|
await CallingxModule.answerIncomingCall(call.cid);
|
|
161
|
-
if (Platform.OS === 'ios') {
|
|
162
|
-
await waitForAudioSessionActivation();
|
|
163
|
-
}
|
|
164
157
|
} catch (error) {
|
|
165
158
|
logger.error(`Error joining incoming call in callingx: ${call.cid}`, error);
|
|
166
159
|
recoverAudioToClassicMode();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["NativeModules","Platform","getCallingxLibIfAvailable","
|
|
1
|
+
{"version":3,"names":["NativeModules","Platform","getCallingxLibIfAvailable","CallingState","videoLoggerSystem","CallingxModule","recoverAudioToClassicMode","OS","isSetup","isTelecomBacked","hasRegisteredCall","getLogger","debug","StreamInCallManagerNativeModule","StreamInCallManager","logger","warn","stop","setTelecomManagedMode","start","error","getCallDisplayName","callMembers","participants","currentUserId","names","length","flatMap","member","user","id","name","participant","userId","find","sort","join","getCallDisplayNameFromCall","call","state","custom","display_name","members","registerOutgoingCall","isOwnTracksLoopbackAllowed","isOutcomingCall","ringing","isCreatedByMe","cid","callDisplayName","startCall","createdBy","settings","video","enabled","joinCallingxCall","activeCalls","isIncomingCall","startCallInCallingx","isOngoingCallsEnabled","activeCallsToLeave","filter","c","callingState","LEFT","activeCall","leave","reason","catch","e","displayIncomingCall","answerIncomingCall","endCallingxCall","isCallTracked","endCallWithReason"],"sourceRoot":"../../../../../src","sources":["utils/internal/callingx/callingx.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA,SAASA,aAAa,EAAEC,QAAQ,QAAQ,cAAc;AAEtD,SAASC,yBAAyB,QAAQ,0BAA0B;AAMpE,SAASC,YAAY,EAAEC,iBAAiB,QAAQ,yBAAyB;AAEzE,MAAMC,cAAc,GAAGH,yBAAyB,CAAC,CAAC;;AAElD;AACA;AACA;AACA;AACA;AACA,SAASI,yBAAyBA,CAAA,EAAG;EACnC,IAAIL,QAAQ,CAACM,EAAE,KAAK,SAAS,EAAE;IAC7B;EACF;EACA,IAAI,CAACF,cAAc,EAAEG,OAAO,IAAI,CAACH,cAAc,CAACI,eAAe,EAAE;IAC/D;EACF;EACA;EACA;EACA;EACA,IAAIJ,cAAc,CAACK,iBAAiB,CAAC,CAAC,EAAE;IACtCN,iBAAiB,CACdO,SAAS,CAAC,UAAU,CAAC,CACrBC,KAAK,CACJ,8FACF,CAAC;IACH;EACF;EACA,MAAMC,+BAA+B,GAAGb,aAAa,CAACc,mBAAmB;EACzE,IAAI,CAACD,+BAA+B,EAAE;IACpC;EACF;EACA,MAAME,MAAM,GAAGX,iBAAiB,CAACO,SAAS,CAAC,UAAU,CAAC;EACtDI,MAAM,CAACC,IAAI,CACT,gFACF,CAAC;EACD,IAAI;IACFH,+BAA+B,CAACI,IAAI,CAAC,CAAC;IACtCJ,+BAA+B,CAACK,qBAAqB,CAAC,KAAK,CAAC;IAC5DL,+BAA+B,CAACM,KAAK,CAAC,CAAC;EACzC,CAAC,CAAC,OAAOC,KAAK,EAAE;IACdL,MAAM,CAACK,KAAK,CAAC,oDAAoD,EAAEA,KAAK,CAAC;EAC3E;AACF;;AAEA;AACA;AACA;AACA,OAAO,SAASC,kBAAkBA,CAChCC,WAAyC,EACzCC,YAAkD,EAClDC,aAAiC,EACzB;EACR,IAAI,CAACF,WAAW,IAAI,CAACC,YAAY,IAAI,CAACC,aAAa,EAAE;IACnD,OAAO,MAAM;EACf;EAEA,IAAIC,KAAe,GAAG,EAAE;EAExB,IAAIH,WAAW,CAACI,MAAM,GAAG,CAAC,EAAE;IAC1B;IACAD,KAAK,GAAGH,WAAW,CAACK,OAAO,CAAEC,MAAM,IACjCA,MAAM,CAACC,IAAI,CAACC,EAAE,KAAKN,aAAa,IAAII,MAAM,CAACC,IAAI,CAACE,IAAI,GAChD,CAACH,MAAM,CAACC,IAAI,CAACE,IAAI,CAAC,GAClB,EACN,CAAC;EACH,CAAC,MAAM,IAAIR,YAAY,CAACG,MAAM,GAAG,CAAC,EAAE;IAClC;IACAD,KAAK,GAAGF,YAAY,CAACI,OAAO,CAAEK,WAAW,IACvCA,WAAW,CAACC,MAAM,KAAKT,aAAa,IAAIQ,WAAW,CAACD,IAAI,GACpD,CAACC,WAAW,CAACD,IAAI,CAAC,GAClB,EACN,CAAC;EACH;;EAEA;EACA,IAAIN,KAAK,CAACC,MAAM,KAAK,CAAC,EAAE;IACtBD,KAAK,GAAG,CACNF,YAAY,CAACW,IAAI,CAAEF,WAAW,IAAKA,WAAW,CAACC,MAAM,KAAKT,aAAa,CAAC,EACpEO,IAAI,IAAI,MAAM,CACnB;EACH;EAEA,OAAON,KAAK,CAACU,IAAI,CAAC,CAAC,CAACC,IAAI,CAAC,IAAI,CAAC;AAChC;AAEA,SAASC,0BAA0BA,CAACC,IAAU,EAAU;EACtD,OACEA,IAAI,CAACC,KAAK,CAACC,MAAM,EAAEC,YAAY,IAC/BpB,kBAAkB,CAChBiB,IAAI,CAACC,KAAK,CAACG,OAAO,EAClBJ,IAAI,CAACC,KAAK,CAAChB,YAAY,EACvBe,IAAI,CAACd,aACP,CAAC;AAEL;AAEA,OAAO,eAAemB,oBAAoBA,CAACL,IAAU,EAAE;EACrD,IACE,CAACjC,cAAc,IACf,CAACA,cAAc,CAACG,OAAO,IACvB8B,IAAI,CAACM,0BAA0B,EAC/B;IACA;EACF;EAEA,MAAMC,eAAe,GAAGP,IAAI,CAACQ,OAAO,IAAIR,IAAI,CAACS,aAAa;EAC1D,IAAI,CAACF,eAAe,EAAE;IACpB;EACF;EAEA,MAAM9B,MAAM,GAAGX,iBAAiB,CAACO,SAAS,CAAC,UAAU,CAAC;EAEtD,IAAI;IACFI,MAAM,CAACH,KAAK,CAAC,mDAAmD0B,IAAI,CAACU,GAAG,EAAE,CAAC;IAC3E,MAAMC,eAAe,GAAGZ,0BAA0B,CAACC,IAAI,CAAC;IACxD,MAAMjC,cAAc,CAAC6C,SAAS,CAC5BZ,IAAI,CAACU,GAAG;IAAE;IACVV,IAAI,CAACC,KAAK,CAACY,SAAS,EAAErB,EAAE,IAAImB,eAAe;IAAE;IAC7CA,eAAe;IAAE;IACjBX,IAAI,CAACC,KAAK,CAACa,QAAQ,EAAEC,KAAK,EAAEC,OAAO,IAAI,KAAK,CAAE;IAChD,CAAC;EACH,CAAC,CAAC,OAAOlC,KAAK,EAAE;IACdL,MAAM,CAACK,KAAK,CACV,sEAAsEkB,IAAI,CAACU,GAAG,EAAE,EAChF5B,KACF,CAAC;IACDd,yBAAyB,CAAC,CAAC;EAC7B;AACF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,eAAeiD,gBAAgBA,CAACjB,IAAU,EAAEkB,WAAmB,EAAE;EACtE,IACE,CAACnD,cAAc,IACf,CAACA,cAAc,CAACG,OAAO,IACvB8B,IAAI,CAACM,0BAA0B,EAC/B;IACA;EACF;EAEA,MAAM7B,MAAM,GAAGX,iBAAiB,CAACO,SAAS,CAAC,UAAU,CAAC;EACtD,MAAMkC,eAAe,GAAGP,IAAI,CAACQ,OAAO,IAAIR,IAAI,CAACS,aAAa;EAC1D,MAAMU,cAAc,GAAGnB,IAAI,CAACQ,OAAO,IAAI,CAACR,IAAI,CAACS,aAAa;EAE1D,MAAMW,mBAAmB,GAAG,MAAAA,CAAA,KAAY;IACtC3C,MAAM,CAACH,KAAK,CAAC,kCAAkC0B,IAAI,CAACU,GAAG,EAAE,CAAC;IAC1D,MAAMC,eAAe,GAAGZ,0BAA0B,CAACC,IAAI,CAAC;IACxD,MAAMjC,cAAc,CAAC6C,SAAS,CAC5BZ,IAAI,CAACU,GAAG;IAAE;IACVV,IAAI,CAACC,KAAK,CAACY,SAAS,EAAErB,EAAE,IAAImB,eAAe;IAAE;IAC7CA,eAAe;IAAE;IACjBX,IAAI,CAACC,KAAK,CAACa,QAAQ,EAAEC,KAAK,EAAEC,OAAO,IAAI,KAAK,CAAE;IAChD,CAAC;EACH,CAAC;EAED,IACET,eAAe,IACd,CAACP,IAAI,CAACQ,OAAO,IAAIzC,cAAc,CAACsD,qBAAsB,EACvD;IACA,IAAI;MACF,MAAMD,mBAAmB,CAAC,CAAC;IAC7B,CAAC,CAAC,OAAOtC,KAAK,EAAE;MACdL,MAAM,CAACK,KAAK,CACV,uDAAuDkB,IAAI,CAACU,GAAG,EAAE,EACjE5B,KACF,CAAC;MACDd,yBAAyB,CAAC,CAAC;IAC7B;EACF,CAAC,MAAM,IAAImD,cAAc,EAAE;IACzB1C,MAAM,CAACH,KAAK,CAAC,2CAA2C0B,IAAI,CAACU,GAAG,EAAE,CAAC;IAEnE,IAAI;MACF;MACA,MAAMY,kBAAkB,GAAGJ,WAAW,CAACK,MAAM,CAC1CC,CAAC,IACAA,CAAC,CAACd,GAAG,KAAKV,IAAI,CAACU,GAAG,IAClBc,CAAC,CAAChB,OAAO,IACTgB,CAAC,CAACvB,KAAK,CAACwB,YAAY,KAAK5D,YAAY,CAAC6D,IAC1C,CAAC;MACD,KAAK,MAAMC,UAAU,IAAIL,kBAAkB,EAAE;QAC3C7C,MAAM,CAACH,KAAK,CACV,uBAAuBqD,UAAU,CAACjB,GAAG,mBAAmBV,IAAI,CAACU,GAAG,EAClE,CAAC;QACD,MAAMiB,UAAU,CAACC,KAAK,CAAC;UAAEC,MAAM,EAAE;QAAS,CAAC,CAAC,CAACC,KAAK,CAAEC,CAAC,IAAK;UACxDtD,MAAM,CAACK,KAAK,CAAC,+BAA+B6C,UAAU,CAACjB,GAAG,EAAE,EAAEqB,CAAC,CAAC;QAClE,CAAC,CAAC;MACJ;MACA;MACA;MACA;MACA,MAAMpB,eAAe,GAAGZ,0BAA0B,CAACC,IAAI,CAAC;MACxD,MAAMjC,cAAc,CAACiE,mBAAmB,CACtChC,IAAI,CAACU,GAAG;MAAE;MACVV,IAAI,CAACC,KAAK,CAACY,SAAS,EAAErB,EAAE,IAAImB,eAAe;MAAE;MAC7CA,eAAe;MAAE;MACjBX,IAAI,CAACC,KAAK,CAACa,QAAQ,EAAEC,KAAK,EAAEC,OAAO,IAAI,KAAK,CAAE;MAChD,CAAC;MAED,MAAMjD,cAAc,CAACkE,kBAAkB,CAACjC,IAAI,CAACU,GAAG,CAAC;IACnD,CAAC,CAAC,OAAO5B,KAAK,EAAE;MACdL,MAAM,CAACK,KAAK,CACV,4CAA4CkB,IAAI,CAACU,GAAG,EAAE,EACtD5B,KACF,CAAC;MACDd,yBAAyB,CAAC,CAAC;IAC7B;EACF;AACF;AAEA,OAAO,eAAekE,eAAeA,CAAClC,IAAU,EAAE6B,MAAsB,EAAE;EACxE,IACE,CAAC9D,cAAc,IACf,CAACA,cAAc,CAACG,OAAO,IACvB,CAACH,cAAc,CAACoE,aAAa,CAACnC,IAAI,CAACU,GAAG,CAAC,EACvC;IACA;EACF;EAEA,MAAMjC,MAAM,GAAGX,iBAAiB,CAACO,SAAS,CAAC,UAAU,CAAC;EACtD,IAAI;IACFI,MAAM,CAACH,KAAK,CAAC,gCAAgC0B,IAAI,CAACU,GAAG,EAAE,CAAC;IACxD,MAAM3C,cAAc,CAACqE,iBAAiB,CAACpC,IAAI,CAACU,GAAG,EAAEmB,MAAM,IAAI,OAAO,CAAC;EACrE,CAAC,CAAC,OAAO/C,KAAK,EAAE;IACdL,MAAM,CAACK,KAAK,CACV,mDAAmDkB,IAAI,CAACU,GAAG,EAAE,EAC7D5B,KACF,CAAC;EACH;AACF","ignoreList":[]}
|
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
|
|
3
3
|
import { CallingState, videoLoggerSystem } from '@stream-io/video-client';
|
|
4
4
|
import { clearPushWSEventSubscriptions, processCallFromPushInBackground } from './internal/utils';
|
|
5
|
-
import { resolvePendingAudioSession } from '../internal/callingx/audioSessionPromise';
|
|
6
5
|
import { getCallingxLib } from './libs/callingx';
|
|
7
6
|
import { Platform } from 'react-native';
|
|
8
7
|
const logger = videoLoggerSystem.getLogger('callingx');
|
|
@@ -54,7 +53,6 @@ export function setupCallingExpEvents(pushConfig) {
|
|
|
54
53
|
}
|
|
55
54
|
const onDidActivateAudioSession = () => {
|
|
56
55
|
logger.debug('callingExpDidActivateAudioSession');
|
|
57
|
-
resolvePendingAudioSession();
|
|
58
56
|
};
|
|
59
57
|
const onDidDeactivateAudioSession = () => {
|
|
60
58
|
logger.debug('callingExpDidDeactivateAudioSession');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["CallingState","videoLoggerSystem","clearPushWSEventSubscriptions","processCallFromPushInBackground","
|
|
1
|
+
{"version":3,"names":["CallingState","videoLoggerSystem","clearPushWSEventSubscriptions","processCallFromPushInBackground","getCallingxLib","Platform","logger","getLogger","setupCallingExpEvents","pushConfig","hasPushProvider","OS","android","pushProviderName","ios","hasOngoingCalls","enableOngoingCalls","callingx","addEventListener","params","onAcceptCall","onEndCall","onDidActivateAudioSession","onDidDeactivateAudioSession","onProviderReset","events","getInitialEvents","forEach","event","eventName","debug","callId","callCids","join","length","videoClient","createStreamVideoClient","e","error","cid","call","state","calls","find","c","callingState","LEFT","leave","catch","call_cid","source","didFail","fulfillAnswerCallAction","fulfillEndCallAction"],"sourceRoot":"../../../../src","sources":["utils/push/setupCallingExpEvents.ts"],"mappings":"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","ignoreList":[]}
|
package/dist/module/version.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/hooks/index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAC;AACvC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,QAAQ,CAAC;AACvB,cAAc,iCAAiC,CAAC;AAChD,cAAc,uCAAuC,CAAC;AACtD,cAAc,kBAAkB,CAAC;AACjC,cAAc,yBAAyB,CAAC;AACxC,cAAc,wBAAwB,CAAC;AACvC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC;AACrC,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/hooks/index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAC;AACvC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,QAAQ,CAAC;AACvB,cAAc,iCAAiC,CAAC;AAChD,cAAc,uCAAuC,CAAC;AACtD,cAAc,kBAAkB,CAAC;AACjC,cAAc,yBAAyB,CAAC;AACxC,cAAc,wBAAwB,CAAC;AACvC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC;AACrC,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,wBAAwB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useCallingExpWithCallingStateEffect.d.ts","sourceRoot":"","sources":["../../../../src/hooks/push/useCallingExpWithCallingStateEffect.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"useCallingExpWithCallingStateEffect.d.ts","sourceRoot":"","sources":["../../../../src/hooks/push/useCallingExpWithCallingStateEffect.ts"],"names":[],"mappings":"AAWA;;GAEG;AACH,eAAO,MAAM,mCAAmC,YAiR/C,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { AudioDevicesState } from '../modules/call-manager/types';
|
|
2
|
+
/**
|
|
3
|
+
* Subscribes to the current audio output device state and keeps it in sync.
|
|
4
|
+
*
|
|
5
|
+
* Works on Android, iOS, and iOS with CallKit
|
|
6
|
+
* (`@stream-io/react-native-callingx`) — the underlying source is selected
|
|
7
|
+
* automatically. Pair with `callManager.audioDevices.select(device.id)` to
|
|
8
|
+
* build a custom audio route picker.
|
|
9
|
+
*
|
|
10
|
+
* @returns the latest {@link AudioDevicesState}, or `undefined` until the
|
|
11
|
+
* initial status resolves.
|
|
12
|
+
*
|
|
13
|
+
* @example
|
|
14
|
+
* ```tsx
|
|
15
|
+
* const status = useAudioDeviceStatus();
|
|
16
|
+
* const { devices, selectedDeviceId } = status ?? {};
|
|
17
|
+
* // callManager.audioDevices.select(devices[0].id);
|
|
18
|
+
* ```
|
|
19
|
+
*/
|
|
20
|
+
export declare const useAudioDeviceStatus: () => AudioDevicesState | undefined;
|
|
21
|
+
//# sourceMappingURL=useAudioDeviceStatus.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useAudioDeviceStatus.d.ts","sourceRoot":"","sources":["../../../src/hooks/useAudioDeviceStatus.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AA4BvE;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,oBAAoB,QAAO,iBAAiB,GAAG,SAyC3D,CAAC"}
|
|
@@ -1,21 +1,35 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
|
|
1
|
+
import type { AudioDevicesState, IOSAudioInterruptionEvent, StreamInCallManagerConfig } from './types';
|
|
2
|
+
/**
|
|
3
|
+
* Cross-platform audio output device picker.
|
|
4
|
+
*/
|
|
5
|
+
declare class AudioDevicesManager {
|
|
3
6
|
private eventEmitter?;
|
|
7
|
+
private interruptionReassertSetup;
|
|
4
8
|
/**
|
|
5
|
-
*
|
|
9
|
+
* iOS + CallKit only: re-assert the user's output pick after an interruption ends.
|
|
10
|
+
*
|
|
11
|
+
* On interruption-end iOS clears the ephemeral route override (`setPreferredInput` /
|
|
12
|
+
* `overrideOutputAudioPort`) and doesn't restore it, and callingx re-applies its config
|
|
13
|
+
* only on engine-enable — not the engine-restart of interruption recovery.
|
|
14
|
+
*/
|
|
15
|
+
private ensureInterruptionReassert;
|
|
16
|
+
/**
|
|
17
|
+
* Get the current audio device state (available devices + the selected one).
|
|
18
|
+
* Read directly from the audio session, so it works on every path.
|
|
6
19
|
*/
|
|
7
|
-
|
|
20
|
+
getStatus: () => Promise<AudioDevicesState>;
|
|
8
21
|
/**
|
|
9
|
-
*
|
|
22
|
+
* Switch the audio output to the device with the given id.
|
|
10
23
|
*
|
|
11
|
-
* @param
|
|
24
|
+
* @param deviceId the stable {@link AudioDevice.id} (not the display name).
|
|
12
25
|
*/
|
|
13
|
-
|
|
26
|
+
select: (deviceId: string) => void;
|
|
14
27
|
/**
|
|
15
|
-
* Register a listener for audio device changes.
|
|
16
|
-
*
|
|
28
|
+
* Register a listener for audio device changes. Returns an unsubscribe fn.
|
|
29
|
+
*
|
|
30
|
+
* @param onChange called with the latest {@link AudioDevicesState} on change.
|
|
17
31
|
*/
|
|
18
|
-
|
|
32
|
+
addChangeListener: (onChange: (state: AudioDevicesState) => void) => (() => void);
|
|
19
33
|
}
|
|
20
34
|
declare class IOSCallManager {
|
|
21
35
|
private eventEmitter?;
|
|
@@ -41,7 +55,7 @@ declare class SpeakerManager {
|
|
|
41
55
|
setForceSpeakerphoneOn: (force: boolean) => void;
|
|
42
56
|
}
|
|
43
57
|
export declare class CallManager {
|
|
44
|
-
|
|
58
|
+
audioDevices: AudioDevicesManager;
|
|
45
59
|
ios: IOSCallManager;
|
|
46
60
|
speaker: SpeakerManager;
|
|
47
61
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CallManager.d.ts","sourceRoot":"","sources":["../../../../src/modules/call-manager/CallManager.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"CallManager.d.ts","sourceRoot":"","sources":["../../../../src/modules/call-manager/CallManager.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAEV,iBAAiB,EACjB,yBAAyB,EACzB,yBAAyB,EAC1B,MAAM,SAAS,CAAC;AAgGjB;;GAEG;AACH,cAAM,mBAAmB;IACvB,OAAO,CAAC,YAAY,CAAC,CAAqB;IAC1C,OAAO,CAAC,yBAAyB,CAAS;IAE1C;;;;;;OAMG;IACH,OAAO,CAAC,0BAA0B,CAWhC;IAEF;;;OAGG;IACH,SAAS,QAAa,OAAO,CAAC,iBAAiB,CAAC,CAQ9C;IAEF;;;;OAIG;IACH,MAAM,GAAI,UAAU,MAAM,KAAG,IAAI,CAoB/B;IAEF;;;;OAIG;IACH,iBAAiB,GACf,UAAU,CAAC,KAAK,EAAE,iBAAiB,KAAK,IAAI,KAC3C,CAAC,MAAM,IAAI,CAAC,CAsCb;CACH;AAED,cAAM,cAAc;IAClB,OAAO,CAAC,YAAY,CAAC,CAAqB;IAE1C;;OAEG;IACH,kBAAkB,QAAO,IAAI,CAG3B;IAEF;;;;OAIG;IACH,4BAA4B,GAC1B,gBAAgB,CAAC,KAAK,EAAE,yBAAyB,KAAK,IAAI,KACzD,CAAC,MAAM,IAAI,CAAC,CAQb;CACH;AAED,cAAM,cAAc;IAClB;;OAEG;IACH,OAAO,GAAI,MAAM,OAAO,KAAG,IAAI,CAM7B;IAEF;;OAEG;IACH,sBAAsB,GAAI,OAAO,OAAO,KAAG,IAAI,CAkC7C;CACH;AAeD,qBAAa,WAAW;IACtB,YAAY,sBAA6B;IACzC,GAAG,iBAAwB;IAC3B,OAAO,iBAAwB;IAE/B;;;;;;;;;;;;;;;;OAgBG;IACH,KAAK,GAAI,SAAS,yBAAyB,KAAG,IAAI,CA6ChD;IAEF;;OAEG;IACH,IAAI,QAAO,IAAI,CAQb;IAEF;;;OAGG;IACH,aAAa,QAAO,IAAI,CAAkC;IAE1D;;;OAGG;IACH,gBAAgB,QAAO,MAAM,CAAqC;CACnE"}
|
|
@@ -1,8 +1,34 @@
|
|
|
1
1
|
export type AudioDeviceEndpointType = 'Bluetooth Device' | 'Earpiece' | 'Speaker' | 'Wired Headset' | 'Unknown' | (string & {});
|
|
2
|
-
|
|
3
|
-
|
|
2
|
+
/**
|
|
3
|
+
* A selectable audio output device.
|
|
4
|
+
*
|
|
5
|
+
* Devices are identified by a stable {@link AudioDevice.id} — never by name —
|
|
6
|
+
* so two devices that share a display name (e.g. two "AirPods Pro") never
|
|
7
|
+
* collide. On iOS the id is the `AVAudioSessionPortDescription.uid`
|
|
8
|
+
* (or the synthetic `'speaker'` / `'earpiece'` for the built-in outputs).
|
|
9
|
+
* On Android it is the `AudioDeviceInfo.id` for SDK-managed routing, or the
|
|
10
|
+
* Telecom endpoint id (a `CallEndpointCompat` identifier) when the call is
|
|
11
|
+
* Telecom-managed via callingx — stable for the lifetime of that call.
|
|
12
|
+
*/
|
|
13
|
+
export type AudioDevice = {
|
|
14
|
+
/** Stable, unique device identifier. Pass this to `callManager.audioDevices.select()`. */
|
|
15
|
+
id: string;
|
|
16
|
+
/** Human-readable label for display (e.g. "AirPods Pro", "Speaker"). Not stable — do not use as a key. */
|
|
17
|
+
name: string;
|
|
18
|
+
/** The kind of endpoint, useful for picking an icon. */
|
|
19
|
+
type: AudioDeviceEndpointType;
|
|
20
|
+
};
|
|
21
|
+
/**
|
|
22
|
+
* The current audio-output device state. Returned by
|
|
23
|
+
* `callManager.audioDevices.getStatus()` and the `useAudioDeviceStatus()` hook.
|
|
24
|
+
*/
|
|
25
|
+
export type AudioDevicesState = {
|
|
26
|
+
/** All currently available output devices. */
|
|
27
|
+
devices: AudioDevice[];
|
|
28
|
+
/** The id of the active device, matching one of `devices[].id` (when known). */
|
|
29
|
+
selectedDeviceId?: string;
|
|
30
|
+
/** The endpoint type of the active device. */
|
|
4
31
|
currentEndpointType: AudioDeviceEndpointType;
|
|
5
|
-
selectedDevice: string;
|
|
6
32
|
};
|
|
7
33
|
export type AudioRole = 'communicator' | 'listener';
|
|
8
34
|
export type DeviceEndpointType = 'speaker' | 'earpiece';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/modules/call-manager/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,uBAAuB,GAC/B,kBAAkB,GAClB,UAAU,GACV,SAAS,GACT,eAAe,GACf,SAAS,GACT,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;AAElB,MAAM,MAAM,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/modules/call-manager/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,uBAAuB,GAC/B,kBAAkB,GAClB,UAAU,GACV,SAAS,GACT,eAAe,GACf,SAAS,GACT,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;AAElB;;;;;;;;;;GAUG;AACH,MAAM,MAAM,WAAW,GAAG;IACxB,0FAA0F;IAC1F,EAAE,EAAE,MAAM,CAAC;IACX,0GAA0G;IAC1G,IAAI,EAAE,MAAM,CAAC;IACb,wDAAwD;IACxD,IAAI,EAAE,uBAAuB,CAAC;CAC/B,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,iBAAiB,GAAG;IAC9B,8CAA8C;IAC9C,OAAO,EAAE,WAAW,EAAE,CAAC;IACvB,gFAAgF;IAChF,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,8CAA8C;IAC9C,mBAAmB,EAAE,uBAAuB,CAAC;CAC9C,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG,cAAc,GAAG,UAAU,CAAC;AACpD,MAAM,MAAM,kBAAkB,GAAG,SAAS,GAAG,UAAU,CAAC;AAExD,MAAM,MAAM,yBAAyB,GAAG;IACtC,MAAM,EAAE,aAAa,GAAG,UAAU,CAAC;IACnC,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC;IACzB,MAAM,CAAC,EAAE,SAAS,GAAG,iBAAiB,GAAG,mBAAmB,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;IAC7E,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,yBAAyB,GACjC;IACE,SAAS,EAAE,cAAc,CAAC;IAC1B,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;CACzC,GACD;IACE,SAAS,EAAE,UAAU,CAAC;IACtB,uBAAuB,CAAC,EAAE,OAAO,CAAC;CACnC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"callingx.d.ts","sourceRoot":"","sources":["../../../../../src/utils/internal/callingx/callingx.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;
|
|
1
|
+
{"version":3,"file":"callingx.d.ts","sourceRoot":"","sources":["../../../../../src/utils/internal/callingx/callingx.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AAEtE,OAAO,KAAK,EACV,IAAI,EACJ,cAAc,EACd,sBAAsB,EACvB,MAAM,yBAAyB,CAAC;AA6CjC;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,WAAW,EAAE,cAAc,EAAE,GAAG,SAAS,EACzC,YAAY,EAAE,sBAAsB,EAAE,GAAG,SAAS,EAClD,aAAa,EAAE,MAAM,GAAG,SAAS,GAChC,MAAM,CAgCR;AAaD,wBAAsB,oBAAoB,CAAC,IAAI,EAAE,IAAI,iBAgCpD;AAED;;;;;;;GAOG;AACH,wBAAsB,gBAAgB,CAAC,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,iBA4ErE;AAED,wBAAsB,eAAe,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,EAAE,aAAa,iBAmBvE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setupCallingExpEvents.d.ts","sourceRoot":"","sources":["../../../../src/utils/push/setupCallingExpEvents.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"setupCallingExpEvents.d.ts","sourceRoot":"","sources":["../../../../src/utils/push/setupCallingExpEvents.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAYhE,KAAK,UAAU,GAAG,WAAW,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC;AAIzD;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,UAAU,EAAE,WAAW,CAAC,UAAU,CAAC,QAsDxE"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const version = "1.
|
|
1
|
+
export declare const version = "1.42.0";
|
|
2
2
|
//# sourceMappingURL=version.d.ts.map
|
|
@@ -13,6 +13,7 @@ const withMainApplication_1 = __importDefault(require("./withMainApplication"));
|
|
|
13
13
|
const withAppBuildGradle_1 = __importDefault(require("./withAppBuildGradle"));
|
|
14
14
|
const withIosScreenCapture_1 = __importDefault(require("./withIosScreenCapture"));
|
|
15
15
|
const withCallResources_1 = __importDefault(require("./withCallResources"));
|
|
16
|
+
const withAndroidMessagingService_1 = __importDefault(require("./withAndroidMessagingService"));
|
|
16
17
|
// path should be relative to dist
|
|
17
18
|
const pkg = require('../../package.json');
|
|
18
19
|
const withStreamVideoReactNativeSDK = (config, props) => {
|
|
@@ -28,6 +29,7 @@ const withStreamVideoReactNativeSDK = (config, props) => {
|
|
|
28
29
|
() => (0, withMainActivity_1.default)(config, props),
|
|
29
30
|
() => (0, withMainApplication_1.default)(config, props),
|
|
30
31
|
() => (0, withCallResources_1.default)(config, props),
|
|
32
|
+
() => (0, withAndroidMessagingService_1.default)(config, props),
|
|
31
33
|
]);
|
|
32
34
|
};
|
|
33
35
|
exports.default = (0, config_plugins_1.createRunOncePlugin)(withStreamVideoReactNativeSDK, pkg.name, pkg.version);
|