@stream-io/video-react-native-sdk 1.43.0 → 1.45.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.
Files changed (150) hide show
  1. package/CHANGELOG.md +44 -1
  2. package/dist/commonjs/components/Call/CallControls/internal/ReactionsPicker.js.map +1 -1
  3. package/dist/commonjs/components/Call/Lobby/Lobby.js +4 -9
  4. package/dist/commonjs/components/Call/Lobby/Lobby.js.map +1 -1
  5. package/dist/commonjs/components/Call/Lobby/LobbyCameraPreview.js +93 -0
  6. package/dist/commonjs/components/Call/Lobby/LobbyCameraPreview.js.map +1 -0
  7. package/dist/commonjs/components/Call/Lobby/index.js +11 -0
  8. package/dist/commonjs/components/Call/Lobby/index.js.map +1 -1
  9. package/dist/commonjs/components/Participant/ParticipantView/VideoRenderer/TrackSubscriber.js +4 -15
  10. package/dist/commonjs/components/Participant/ParticipantView/VideoRenderer/TrackSubscriber.js.map +1 -1
  11. package/dist/commonjs/components/Participant/ParticipantView/VideoRenderer/index.js +10 -4
  12. package/dist/commonjs/components/Participant/ParticipantView/VideoRenderer/index.js.map +1 -1
  13. package/dist/commonjs/hooks/push/useCallingExpWithCallingStateEffect.js +9 -5
  14. package/dist/commonjs/hooks/push/useCallingExpWithCallingStateEffect.js.map +1 -1
  15. package/dist/commonjs/hooks/useLoopbackRecording.js +10 -127
  16. package/dist/commonjs/hooks/useLoopbackRecording.js.map +1 -1
  17. package/dist/commonjs/modules/call-manager/CallManager.js +37 -54
  18. package/dist/commonjs/modules/call-manager/CallManager.js.map +1 -1
  19. package/dist/commonjs/utils/StreamVideoRN/index.js +2 -0
  20. package/dist/commonjs/utils/StreamVideoRN/index.js.map +1 -1
  21. package/dist/commonjs/utils/internal/callingx/callingx.js +28 -39
  22. package/dist/commonjs/utils/internal/callingx/callingx.js.map +1 -1
  23. package/dist/commonjs/utils/internal/registerMediaEngine.js +41 -0
  24. package/dist/commonjs/utils/internal/registerMediaEngine.js.map +1 -0
  25. package/dist/commonjs/utils/internal/registerSDKGlobals.js +93 -35
  26. package/dist/commonjs/utils/internal/registerSDKGlobals.js.map +1 -1
  27. package/dist/commonjs/utils/push/android.js +13 -175
  28. package/dist/commonjs/utils/push/android.js.map +1 -1
  29. package/dist/commonjs/utils/push/internal/android.js +186 -0
  30. package/dist/commonjs/utils/push/internal/android.js.map +1 -0
  31. package/dist/commonjs/utils/push/libs/firebaseMessaging/index.js +8 -9
  32. package/dist/commonjs/utils/push/libs/firebaseMessaging/index.js.map +1 -1
  33. package/dist/commonjs/utils/push/libs/firebaseMessaging/lib.js +1 -1
  34. package/dist/commonjs/utils/push/libs/firebaseMessaging/lib.js.map +1 -1
  35. package/dist/commonjs/utils/push/setupAndroidPushEvents.js +25 -0
  36. package/dist/commonjs/utils/push/setupAndroidPushEvents.js.map +1 -0
  37. package/dist/commonjs/utils/push/setupCallingExpEvents.js +6 -2
  38. package/dist/commonjs/utils/push/setupCallingExpEvents.js.map +1 -1
  39. package/dist/commonjs/utils/push/setupIosVoipPushEvents.js +6 -7
  40. package/dist/commonjs/utils/push/setupIosVoipPushEvents.js.map +1 -1
  41. package/dist/commonjs/utils/push/utils.js.map +1 -1
  42. package/dist/commonjs/version.js +1 -1
  43. package/dist/module/components/Call/CallControls/internal/ReactionsPicker.js.map +1 -1
  44. package/dist/module/components/Call/Lobby/Lobby.js +4 -9
  45. package/dist/module/components/Call/Lobby/Lobby.js.map +1 -1
  46. package/dist/module/components/Call/Lobby/LobbyCameraPreview.js +87 -0
  47. package/dist/module/components/Call/Lobby/LobbyCameraPreview.js.map +1 -0
  48. package/dist/module/components/Call/Lobby/index.js +1 -0
  49. package/dist/module/components/Call/Lobby/index.js.map +1 -1
  50. package/dist/module/components/Participant/ParticipantView/VideoRenderer/TrackSubscriber.js +6 -17
  51. package/dist/module/components/Participant/ParticipantView/VideoRenderer/TrackSubscriber.js.map +1 -1
  52. package/dist/module/components/Participant/ParticipantView/VideoRenderer/index.js +11 -5
  53. package/dist/module/components/Participant/ParticipantView/VideoRenderer/index.js.map +1 -1
  54. package/dist/module/hooks/push/useCallingExpWithCallingStateEffect.js +9 -5
  55. package/dist/module/hooks/push/useCallingExpWithCallingStateEffect.js.map +1 -1
  56. package/dist/module/hooks/useLoopbackRecording.js +10 -127
  57. package/dist/module/hooks/useLoopbackRecording.js.map +1 -1
  58. package/dist/module/modules/call-manager/CallManager.js +36 -53
  59. package/dist/module/modules/call-manager/CallManager.js.map +1 -1
  60. package/dist/module/utils/StreamVideoRN/index.js +2 -0
  61. package/dist/module/utils/StreamVideoRN/index.js.map +1 -1
  62. package/dist/module/utils/internal/callingx/callingx.js +27 -40
  63. package/dist/module/utils/internal/callingx/callingx.js.map +1 -1
  64. package/dist/module/utils/internal/registerMediaEngine.js +37 -0
  65. package/dist/module/utils/internal/registerMediaEngine.js.map +1 -0
  66. package/dist/module/utils/internal/registerSDKGlobals.js +95 -37
  67. package/dist/module/utils/internal/registerSDKGlobals.js.map +1 -1
  68. package/dist/module/utils/push/android.js +16 -178
  69. package/dist/module/utils/push/android.js.map +1 -1
  70. package/dist/module/utils/push/internal/android.js +182 -0
  71. package/dist/module/utils/push/internal/android.js.map +1 -0
  72. package/dist/module/utils/push/libs/firebaseMessaging/index.js +8 -8
  73. package/dist/module/utils/push/libs/firebaseMessaging/index.js.map +1 -1
  74. package/dist/module/utils/push/libs/firebaseMessaging/lib.js +1 -1
  75. package/dist/module/utils/push/libs/firebaseMessaging/lib.js.map +1 -1
  76. package/dist/module/utils/push/setupAndroidPushEvents.js +21 -0
  77. package/dist/module/utils/push/setupAndroidPushEvents.js.map +1 -0
  78. package/dist/module/utils/push/setupCallingExpEvents.js +6 -2
  79. package/dist/module/utils/push/setupCallingExpEvents.js.map +1 -1
  80. package/dist/module/utils/push/setupIosVoipPushEvents.js +6 -7
  81. package/dist/module/utils/push/setupIosVoipPushEvents.js.map +1 -1
  82. package/dist/module/utils/push/utils.js.map +1 -1
  83. package/dist/module/version.js +1 -1
  84. package/dist/typescript/components/Call/Lobby/Lobby.d.ts.map +1 -1
  85. package/dist/typescript/components/Call/Lobby/LobbyCameraPreview.d.ts +28 -0
  86. package/dist/typescript/components/Call/Lobby/LobbyCameraPreview.d.ts.map +1 -0
  87. package/dist/typescript/components/Call/Lobby/index.d.ts +1 -0
  88. package/dist/typescript/components/Call/Lobby/index.d.ts.map +1 -1
  89. package/dist/typescript/components/Participant/ParticipantView/VideoRenderer/TrackSubscriber.d.ts +11 -6
  90. package/dist/typescript/components/Participant/ParticipantView/VideoRenderer/TrackSubscriber.d.ts.map +1 -1
  91. package/dist/typescript/components/Participant/ParticipantView/VideoRenderer/index.d.ts.map +1 -1
  92. package/dist/typescript/hooks/push/useCallingExpWithCallingStateEffect.d.ts.map +1 -1
  93. package/dist/typescript/hooks/useLoopbackRecording.d.ts +12 -69
  94. package/dist/typescript/hooks/useLoopbackRecording.d.ts.map +1 -1
  95. package/dist/typescript/modules/call-manager/CallManager.d.ts +28 -6
  96. package/dist/typescript/modules/call-manager/CallManager.d.ts.map +1 -1
  97. package/dist/typescript/modules/call-manager/types.d.ts +0 -1
  98. package/dist/typescript/modules/call-manager/types.d.ts.map +1 -1
  99. package/dist/typescript/utils/StreamVideoRN/index.d.ts.map +1 -1
  100. package/dist/typescript/utils/StreamVideoRN/types.d.ts +3 -0
  101. package/dist/typescript/utils/StreamVideoRN/types.d.ts.map +1 -1
  102. package/dist/typescript/utils/internal/callingx/callingx.d.ts +2 -0
  103. package/dist/typescript/utils/internal/callingx/callingx.d.ts.map +1 -1
  104. package/dist/typescript/utils/internal/registerMediaEngine.d.ts +15 -0
  105. package/dist/typescript/utils/internal/registerMediaEngine.d.ts.map +1 -0
  106. package/dist/typescript/utils/internal/registerSDKGlobals.d.ts.map +1 -1
  107. package/dist/typescript/utils/push/android.d.ts +3 -4
  108. package/dist/typescript/utils/push/android.d.ts.map +1 -1
  109. package/dist/typescript/utils/push/internal/android.d.ts +8 -0
  110. package/dist/typescript/utils/push/internal/android.d.ts.map +1 -0
  111. package/dist/typescript/utils/push/libs/firebaseMessaging/index.d.ts +6 -5
  112. package/dist/typescript/utils/push/libs/firebaseMessaging/index.d.ts.map +1 -1
  113. package/dist/typescript/utils/push/libs/firebaseMessaging/lib.d.ts +2 -2
  114. package/dist/typescript/utils/push/libs/firebaseMessaging/lib.d.ts.map +1 -1
  115. package/dist/typescript/utils/push/setupAndroidPushEvents.d.ts +3 -0
  116. package/dist/typescript/utils/push/setupAndroidPushEvents.d.ts.map +1 -0
  117. package/dist/typescript/utils/push/setupCallingExpEvents.d.ts.map +1 -1
  118. package/dist/typescript/utils/push/setupIosVoipPushEvents.d.ts.map +1 -1
  119. package/dist/typescript/utils/push/utils.d.ts +2 -2
  120. package/dist/typescript/utils/push/utils.d.ts.map +1 -1
  121. package/dist/typescript/version.d.ts +1 -1
  122. package/ios/StreamInCallManager.m +4 -0
  123. package/ios/StreamInCallManager.swift +42 -10
  124. package/ios/TracksRecorder/RecorderVideoSink.swift +92 -5
  125. package/package.json +8 -8
  126. package/src/components/Call/CallControls/internal/ReactionsPicker.tsx +2 -2
  127. package/src/components/Call/Lobby/Lobby.tsx +4 -11
  128. package/src/components/Call/Lobby/LobbyCameraPreview.tsx +99 -0
  129. package/src/components/Call/Lobby/index.ts +1 -0
  130. package/src/components/Participant/ParticipantView/VideoRenderer/TrackSubscriber.tsx +56 -75
  131. package/src/components/Participant/ParticipantView/VideoRenderer/index.tsx +18 -7
  132. package/src/hooks/push/useCallingExpWithCallingStateEffect.ts +12 -5
  133. package/src/hooks/useLoopbackRecording.ts +36 -248
  134. package/src/modules/call-manager/CallManager.ts +40 -71
  135. package/src/modules/call-manager/native-module.d.ts +13 -0
  136. package/src/modules/call-manager/types.ts +0 -1
  137. package/src/utils/StreamVideoRN/index.ts +2 -0
  138. package/src/utils/StreamVideoRN/types.ts +3 -0
  139. package/src/utils/internal/callingx/callingx.ts +37 -46
  140. package/src/utils/internal/registerMediaEngine.ts +42 -0
  141. package/src/utils/internal/registerSDKGlobals.ts +115 -42
  142. package/src/utils/push/android.ts +20 -253
  143. package/src/utils/push/internal/android.ts +252 -0
  144. package/src/utils/push/libs/firebaseMessaging/index.ts +14 -22
  145. package/src/utils/push/libs/firebaseMessaging/lib.ts +3 -3
  146. package/src/utils/push/setupAndroidPushEvents.ts +25 -0
  147. package/src/utils/push/setupCallingExpEvents.ts +6 -3
  148. package/src/utils/push/setupIosVoipPushEvents.ts +8 -7
  149. package/src/utils/push/utils.ts +2 -4
  150. package/src/version.ts +1 -1
@@ -6,55 +6,28 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.useLoopbackRecording = useLoopbackRecording;
7
7
  var _react = require("react");
8
8
  var _reactNative = require("react-native");
9
- var _rxjs = require("rxjs");
10
9
  var _videoClient = require("@stream-io/video-client");
11
10
  var _videoReactBindings = require("@stream-io/video-react-bindings");
12
11
  /** @internal */
13
12
  const {
14
13
  StreamVideoReactNative
15
14
  } = _reactNative.NativeModules;
16
-
17
- // Upper bound on how long `startRecording` will wait for the SFU to
18
- // echo loopback tracks back via the Subscriber. Tuned generously since
19
- // this includes connection setup; consumers that want shorter feedback
20
- // should call `stopRecording` to cancel the wait early.
21
- const STREAMS_WAIT_TIMEOUT_MS = 10 * 1000;
22
- const DEFAULT_RECORDING_DURATION = 10 * 1000;
23
- const MIN_RECORDING_DURATION = 5 * 1000;
24
- const MAX_RECORDING_DURATION = 2 * 60 * 1000;
25
- /**
26
- * Records the SFU loopback streams (audio + video) on the local participant
27
- * to a local MP4 file. Designed for the `allowOwnTracksLoopback` pre-call test mode:
28
- * the SFU echoes the caller's published tracks back through the Subscriber
29
- * peer connection. The hook identifies the loopback streams on the local
30
- * participant by reference inequality against
31
- * `call.camera.state.mediaStream` / `call.microphone.state.mediaStream` —
32
- * the canonical references to the local capture — and captures them.
33
- */
15
+ /** Records SFU loopback streams to a local MP4 file. */
34
16
  function useLoopbackRecording() {
35
17
  const call = (0, _videoReactBindings.useCall)();
36
18
  const {
37
19
  useCallCallingState,
38
20
  useParticipantCount,
39
- useLocalParticipant,
40
- useCameraState,
41
- useMicrophoneState
21
+ useLocalParticipant
42
22
  } = (0, _videoReactBindings.useCallStateHooks)();
43
23
  const callingState = useCallCallingState();
44
24
  const participantCount = useParticipantCount();
45
25
  const localParticipant = useLocalParticipant();
46
- const {
47
- mediaStream: cameraStream
48
- } = useCameraState();
49
- const {
50
- mediaStream: microphoneStream
51
- } = useMicrophoneState();
52
26
  const [recordingState, setRecordingState] = (0, _react.useState)('idle');
53
27
  const recordingStateRef = (0, _react.useRef)('idle');
54
28
  const isMountedRef = (0, _react.useRef)(true);
55
- // Used to abort the awaiting-streams wait on stop / leave / unmount.
56
29
  const awaitAbortRef = (0, _react.useRef)(null);
57
- const loopbackStreams = (0, _react.useMemo)(() => getLoopbackStreamsFor(localParticipant, cameraStream, microphoneStream), [localParticipant, cameraStream, microphoneStream]);
30
+ const loopbackStreams = (0, _react.useMemo)(() => (0, _videoClient.getLoopbackStreams)(call, localParticipant), [call, localParticipant]);
58
31
  const updateState = (0, _react.useCallback)(next => {
59
32
  recordingStateRef.current = next;
60
33
  if (isMountedRef.current) {
@@ -80,7 +53,7 @@ function useLoopbackRecording() {
80
53
  }, []);
81
54
  const startRecording = (0, _react.useCallback)(async ({
82
55
  includeVideo = true,
83
- maxDurationMs = DEFAULT_RECORDING_DURATION
56
+ maxDurationMs = _videoClient.DEFAULT_LOOPBACK_RECORDING_DURATION_MS
84
57
  } = {}) => {
85
58
  if (!call) {
86
59
  return null;
@@ -95,51 +68,30 @@ function useLoopbackRecording() {
95
68
  }
96
69
  awaitAbortRef.current = new AbortController();
97
70
  updateState('awaiting-streams');
98
- let audioTrack;
99
71
  try {
100
- const streams = await waitForLoopbackStreams(call, {
72
+ const streams = await (0, _videoClient.waitForLoopbackStreams)(call, {
101
73
  includeVideo,
102
74
  signal: awaitAbortRef.current.signal,
103
- timeoutMs: STREAMS_WAIT_TIMEOUT_MS
75
+ timeoutMs: _videoClient.LOOPBACK_STREAMS_WAIT_TIMEOUT_MS
104
76
  });
105
77
  if (streams === null) {
106
78
  _videoClient.videoLoggerSystem.getLogger('useLoopbackRecording').warn('timed out waiting for loopback streams');
107
79
  return null;
108
80
  }
109
- audioTrack = streams.audioTrack;
110
- const videoTrackId = streams.videoTrack?.id;
111
-
112
- // The loopback audio track lands disabled (the SDK default-mutes
113
- // it to prevent echo). Enable it so the native recording
114
- // pipeline receives PCM; `finally` returns it to muted.
115
- if (audioTrack) {
116
- audioTrack.enabled = true;
117
- }
118
81
  updateState('recording');
119
- const clampedDuration = Math.min(MAX_RECORDING_DURATION, Math.max(MIN_RECORDING_DURATION, maxDurationMs));
120
-
121
- // Pre-size the native encoder to the publisher's max video
122
- // publish-option dimension. Without this, the encoder locks to
123
- // whatever the SFU happens to echo *first* and stays there for the
124
- // rest of the recording even after the network improves and
125
- // higher layers arrive.
126
82
  const publishMaxDim = call.getMaxVideoPublishDimension();
127
83
  try {
128
- const uri = await StreamVideoReactNative.startTrackRecording({
129
- videoTrackId,
130
- maxDurationMs: Math.round(clampedDuration),
84
+ return await (0, _videoClient.withLoopbackAudioEnabled)(streams, () => StreamVideoReactNative.startTrackRecording({
85
+ videoTrackId: streams.videoTrack?.id,
86
+ maxDurationMs: (0, _videoClient.clampLoopbackRecordingDuration)(maxDurationMs),
131
87
  targetWidth: publishMaxDim?.width,
132
88
  targetHeight: publishMaxDim?.height
133
- });
134
- return uri;
89
+ }));
135
90
  } catch (error) {
136
91
  _videoClient.videoLoggerSystem.getLogger('useLoopbackRecording').error('failed to start recording', error);
137
92
  throw new Error('failed to start recording');
138
93
  }
139
94
  } finally {
140
- if (audioTrack) {
141
- audioTrack.enabled = false;
142
- }
143
95
  awaitAbortRef.current = null;
144
96
  updateState('idle');
145
97
  }
@@ -161,21 +113,12 @@ function useLoopbackRecording() {
161
113
  throw new Error('failed to get recordings');
162
114
  }
163
115
  }, []);
164
-
165
- // Auto-stop on call leave / end. Aborts an awaiting-streams wait or
166
- // signals native finalisation depending on which phase we're in.
167
- // Without this, leaving the call mid-recording would leave native
168
- // encoders mid-write while the SFU subscriber tracks end under their
169
- // feet — undefined final file state.
170
116
  (0, _react.useEffect)(() => {
171
117
  if (callingState === _videoClient.CallingState.LEFT || callingState === _videoClient.CallingState.IDLE) {
172
118
  _videoClient.videoLoggerSystem.getLogger('useLoopbackRecording').debug('auto-stopping recording on call leave / end');
173
119
  stopRecording().catch(() => {});
174
120
  }
175
121
  }, [callingState, stopRecording]);
176
-
177
- // Auto-stop if another participant joins. Loopback recording is a
178
- // single-user pre-call test.
179
122
  (0, _react.useEffect)(() => {
180
123
  if (recordingState !== 'idle' && participantCount > 1) {
181
124
  stopRecording().catch(() => {});
@@ -200,64 +143,4 @@ function useLoopbackRecording() {
200
143
  loopbackAudioStream: loopbackStreams.loopbackAudioStream
201
144
  };
202
145
  }
203
- function getLoopbackStreamsFor(participant, cameraStream, microphoneStream) {
204
- return {
205
- loopbackVideoStream: participant?.videoStream && participant.videoStream !== cameraStream ? participant.videoStream : undefined,
206
- loopbackAudioStream: participant?.audioStream && participant.audioStream !== microphoneStream ? participant.audioStream : undefined
207
- };
208
- }
209
-
210
- /**
211
- * Subscribe to `localParticipant$` and resolve once the requested loopback
212
- * streams are present on the participant. Aborts cleanly on `signal`
213
- * (resolves `null`) and rejects on timeout.
214
- */
215
- function waitForLoopbackStreams(call, opts) {
216
- return new Promise((resolve, reject) => {
217
- const initial = getLoopbackStreams(call.state.localParticipant, call.camera.state.mediaStream, call.microphone.state.mediaStream, opts.includeVideo);
218
- if (initial) {
219
- resolve(initial);
220
- return;
221
- }
222
- const cleanup = () => {
223
- subscription.unsubscribe();
224
- if (timeoutId !== undefined) {
225
- clearTimeout(timeoutId);
226
- }
227
- opts.signal.removeEventListener('abort', onAbort);
228
- };
229
- const onAbort = () => {
230
- cleanup();
231
- resolve(null);
232
- };
233
- opts.signal.addEventListener('abort', onAbort);
234
- const timeoutId = setTimeout(() => {
235
- cleanup();
236
- reject(new Error('useLoopbackRecording: timed out waiting for loopback streams. ' + 'Ensure the call was joined with `allowOwnTracksLoopback: true` and ' + 'that the SFU is configured to echo self-sub tracks.'));
237
- }, opts.timeoutMs);
238
- const subscription = (0, _rxjs.combineLatest)([call.state.localParticipant$, call.camera.state.mediaStream$, call.microphone.state.mediaStream$]).subscribe(([participant, cameraStream, microphoneStream]) => {
239
- const ready = getLoopbackStreams(participant, cameraStream, microphoneStream, opts.includeVideo);
240
- if (ready) {
241
- cleanup();
242
- resolve(ready);
243
- }
244
- });
245
- });
246
- }
247
- function getLoopbackStreams(participant, cameraStream, microphoneStream, includeVideo) {
248
- if (!participant) return undefined;
249
- const {
250
- loopbackAudioStream,
251
- loopbackVideoStream
252
- } = getLoopbackStreamsFor(participant, cameraStream, microphoneStream);
253
- const audioTrack = loopbackAudioStream?.getAudioTracks()[0];
254
- const videoTrack = includeVideo ? loopbackVideoStream?.getVideoTracks()[0] : undefined;
255
- if (!audioTrack || includeVideo && !videoTrack) {
256
- return undefined;
257
- }
258
- return {
259
- audioTrack,
260
- videoTrack
261
- };
262
- }
263
146
  //# sourceMappingURL=useLoopbackRecording.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_react","require","_reactNative","_rxjs","_videoClient","_videoReactBindings","StreamVideoReactNative","NativeModules","STREAMS_WAIT_TIMEOUT_MS","DEFAULT_RECORDING_DURATION","MIN_RECORDING_DURATION","MAX_RECORDING_DURATION","useLoopbackRecording","call","useCall","useCallCallingState","useParticipantCount","useLocalParticipant","useCameraState","useMicrophoneState","useCallStateHooks","callingState","participantCount","localParticipant","mediaStream","cameraStream","microphoneStream","recordingState","setRecordingState","useState","recordingStateRef","useRef","isMountedRef","awaitAbortRef","loopbackStreams","useMemo","getLoopbackStreamsFor","updateState","useCallback","next","current","stopRecording","videoLoggerSystem","getLogger","debug","abort","stopTrackRecording","error","Error","startRecording","includeVideo","maxDurationMs","warn","state","AbortController","audioTrack","streams","waitForLoopbackStreams","signal","timeoutMs","videoTrackId","videoTrack","id","enabled","clampedDuration","Math","min","max","publishMaxDim","getMaxVideoPublishDimension","uri","startTrackRecording","round","targetWidth","width","targetHeight","height","clearRecordings","clearStreamRecordings","getRecordings","list","getStreamRecordings","useEffect","CallingState","LEFT","IDLE","catch","loopbackVideoStream","loopbackAudioStream","participant","videoStream","undefined","audioStream","opts","Promise","resolve","reject","initial","getLoopbackStreams","camera","microphone","cleanup","subscription","unsubscribe","timeoutId","clearTimeout","removeEventListener","onAbort","addEventListener","setTimeout","combineLatest","localParticipant$","mediaStream$","subscribe","ready","getAudioTracks","getVideoTracks"],"sourceRoot":"../../../src","sources":["hooks/useLoopbackRecording.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","require","_reactNative","_videoClient","_videoReactBindings","StreamVideoReactNative","NativeModules","useLoopbackRecording","call","useCall","useCallCallingState","useParticipantCount","useLocalParticipant","useCallStateHooks","callingState","participantCount","localParticipant","recordingState","setRecordingState","useState","recordingStateRef","useRef","isMountedRef","awaitAbortRef","loopbackStreams","useMemo","getLoopbackStreams","updateState","useCallback","next","current","stopRecording","videoLoggerSystem","getLogger","debug","abort","stopTrackRecording","error","Error","startRecording","includeVideo","maxDurationMs","DEFAULT_LOOPBACK_RECORDING_DURATION_MS","warn","state","AbortController","streams","waitForLoopbackStreams","signal","timeoutMs","LOOPBACK_STREAMS_WAIT_TIMEOUT_MS","publishMaxDim","getMaxVideoPublishDimension","withLoopbackAudioEnabled","startTrackRecording","videoTrackId","videoTrack","id","clampLoopbackRecordingDuration","targetWidth","width","targetHeight","height","clearRecordings","clearStreamRecordings","getRecordings","list","getStreamRecordings","useEffect","CallingState","LEFT","IDLE","catch","loopbackVideoStream","loopbackAudioStream"],"sourceRoot":"../../../src","sources":["hooks/useLoopbackRecording.ts"],"mappings":"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","ignoreList":[]}
@@ -5,10 +5,10 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.CallManager = void 0;
7
7
  var _reactNative = require("react-native");
8
- var _callingx = require("../../utils/push/libs/callingx");
9
8
  var _videoClient = require("@stream-io/video-client");
9
+ var _libs = require("../../utils/push/libs");
10
10
  const NativeManager = _reactNative.NativeModules.StreamInCallManager;
11
- const CallingxModule = (0, _callingx.getCallingxLibIfAvailable)();
11
+ const CallingxModule = (0, _libs.getCallingxLibIfAvailable)();
12
12
  const AUDIO_INTERRUPTION_EVENT = 'StreamInCallManagerAudioInterruption';
13
13
  const AUDIO_DEVICE_CHANGED_EVENT = 'onAudioDeviceChanged';
14
14
  const invariant = (condition, message) => {
@@ -249,22 +249,30 @@ class SpeakerManager {
249
249
  NativeManager.setForceSpeakerphoneOn(force);
250
250
  };
251
251
  }
252
- const shouldBypassForCallKit = () => {
253
- if (_reactNative.Platform.OS !== 'ios') {
254
- return false;
255
- }
256
- if (!CallingxModule) {
257
- return false;
258
- }
259
- return CallingxModule.isSetup && (CallingxModule.hasRegisteredCall() || CallingxModule.isOngoingCallsEnabled);
260
- };
261
252
  class CallManager {
262
253
  audioDevices = new AudioDevicesManager();
263
254
  ios = new IOSCallManager();
264
255
  speaker = new SpeakerManager();
265
256
 
266
257
  /**
267
- * Starts the in call manager.
258
+ * The audio config recorded via {@link start}. The SDK's internal call manager reads it at the
259
+ * next join-time start and applies it before the native audio manager is activated.
260
+ */
261
+
262
+ /**
263
+ * The config recorded via {@link start}.
264
+ *
265
+ * @internal Read by the SDK's internal call manager at join; not intended for app use.
266
+ */
267
+ getStoredConfig = () => this.storedConfig;
268
+
269
+ /**
270
+ * Records the desired audio config for the call.
271
+ *
272
+ * This does NOT start the native audio manager — the SDK owns native start/stop and applies this
273
+ * config at the next join-time start (before the audio manager is activated). Call it **before**
274
+ * joining. Calling it mid-call only updates the stored config; it does not change the running
275
+ * call's audio, and the new config takes effect on the next call/rejoin.
268
276
  *
269
277
  * @param config.audioRole The audio role to set. It can be one of the following:
270
278
  * - `'communicator'`: (Default) For use cases like video or voice calls.
@@ -274,66 +282,41 @@ class CallManager {
274
282
  * It prioritizes high-quality stereo audio streaming.
275
283
  * Audio routing is controlled by the OS, and manual switching is not supported.
276
284
  *
277
- * @param config.deviceEndpointType The default audio device endpoint type to set. It can be one of the following:
278
- * - `'speaker'`: (Default) For normal video or voice calls.
285
+ * @param config.deviceEndpointType Overrides the default audio device endpoint. When omitted,
286
+ * the SDK uses the device derived from the call settings. It can be one of the following:
287
+ * - `'speaker'`: For normal video or voice calls.
279
288
  * - `'earpiece'`: For voice-only mobile call type scenarios.
280
- *
281
- * @param config.enableStereoAudioOutput Whether to enable stereo audio output. Only supported for listener audio role.
282
289
  */
283
290
  start = config => {
284
- if (shouldBypassForCallKit()) {
285
- if (config?.audioRole === 'communicator' && CallingxModule) {
286
- const type = config.deviceEndpointType ?? 'speaker';
287
- safeNativeCall('setDefaultAudioDeviceEndpointType (callingx)', () => CallingxModule.setDefaultAudioDeviceEndpointType(type));
288
- safeNativeCall('setDefaultAudioDeviceEndpointType', () => NativeManager.setDefaultAudioDeviceEndpointType(type));
289
- }
290
- _videoClient.videoLoggerSystem.getLogger('CallManager').debug('start: skipping start as callkit is handling the audio session');
291
- return;
292
- }
293
- if (isAndroidTelecomManaged()) {
294
- // Telecom owns routing/focus; forward the sticky preference to callingx and run in
295
- // telecom-managed mode (StreamInCallManager keeps proximity/keep-screen-on only).
296
- if (config?.audioRole !== 'listener' && CallingxModule) {
297
- safeNativeCall('setDefaultAudioDeviceEndpointType (callingx)', () => CallingxModule.setDefaultAudioDeviceEndpointType(config?.deviceEndpointType ?? 'speaker'));
298
- }
299
- NativeManager.setTelecomManagedMode(true);
300
- NativeManager.setAudioRole(config?.audioRole ?? 'communicator');
301
- NativeManager.start();
302
- return;
303
- }
304
- if (_reactNative.Platform.OS === 'android') {
305
- NativeManager.setTelecomManagedMode(false);
306
- }
307
- NativeManager.setAudioRole(config?.audioRole ?? 'communicator');
308
- if (config?.audioRole === 'communicator') {
309
- const type = config.deviceEndpointType ?? 'speaker';
310
- NativeManager.setDefaultAudioDeviceEndpointType(type);
311
- }
312
- if (config?.audioRole === 'listener' && config.enableStereoAudioOutput) {
313
- NativeManager.setEnableStereoAudioOutput(true);
314
- }
315
- NativeManager.start();
291
+ this.storedConfig = config;
292
+ _videoClient.videoLoggerSystem.getLogger('CallManager').debug('start: stored call manager config', {
293
+ config
294
+ });
316
295
  };
317
296
 
318
297
  /**
319
- * Stops the in call manager.
298
+ * Clears the stored audio config.
320
299
  */
321
300
  stop = () => {
322
- if (shouldBypassForCallKit()) {
323
- _videoClient.videoLoggerSystem.getLogger('CallManager').debug('stop: skipping stop as callkit is handling the audio session');
324
- return;
325
- }
326
- NativeManager.stop();
301
+ this.storedConfig = undefined;
302
+ _videoClient.videoLoggerSystem.getLogger('CallManager').debug('[public] stop(): cleared stored config');
327
303
  };
328
304
 
329
305
  /**
330
306
  * For debugging purposes, will emit a log event with the current audio state.
331
307
  * in the native layer.
308
+ *
309
+ * NOTE: This method might be called outside of the call JOIN/LEFT window,
310
+ * so it may lead to default peer connection factory and adm being created.
332
311
  */
333
312
  logAudioState = () => NativeManager.logAudioState();
334
313
 
335
314
  /**
336
315
  * For debugging purposes, returns the current audio state as a string.
316
+ *
317
+ * NOTE: This method might be called outside of the call JOIN/LEFT window,
318
+ * so it may lead to default peer connection factory and adm being created.
319
+ *
337
320
  * @returns A string containing the current audio state information.
338
321
  */
339
322
  getAudioStateLog = () => NativeManager.getAudioStateLog();
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNative","require","_callingx","_videoClient","NativeManager","NativeModules","StreamInCallManager","CallingxModule","getCallingxLibIfAvailable","AUDIO_INTERRUPTION_EVENT","AUDIO_DEVICE_CHANGED_EVENT","invariant","condition","message","Error","safeNativeCall","label","fn","error","videoLoggerSystem","getLogger","warn","isAndroidTelecomManaged","Platform","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","NativeEventEmitter","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","exports"],"sourceRoot":"../../../../src","sources":["modules/call-manager/CallManager.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_reactNative","require","_videoClient","_libs","NativeManager","NativeModules","StreamInCallManager","CallingxModule","getCallingxLibIfAvailable","AUDIO_INTERRUPTION_EVENT","AUDIO_DEVICE_CHANGED_EVENT","invariant","condition","message","Error","safeNativeCall","label","fn","error","videoLoggerSystem","getLogger","warn","isAndroidTelecomManaged","Platform","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","NativeEventEmitter","sdkSub","addListener","forEach","unsubscribe","IOSCallManager","showDeviceSelector","showAudioRoutePicker","addAudioInterruptionListener","onInterruption","s","SpeakerManager","setMute","mute","muteAudioOutput","unmuteAudioOutput","setForceSpeakerphoneOn","force","target","find","CallManager","audioDevices","ios","speaker","getStoredConfig","storedConfig","start","config","debug","stop","logAudioState","getAudioStateLog","exports"],"sourceRoot":"../../../../src","sources":["modules/call-manager/CallManager.ts"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AAWA,IAAAC,YAAA,GAAAD,OAAA;AACA,IAAAE,KAAA,GAAAF,OAAA;AAEA,MAAMG,aAAa,GAAGC,0BAAa,CAACC,mBAAmB;AACvD,MAAMC,cAAc,GAAG,IAAAC,+BAAyB,EAAC,CAAC;AAClD,MAAMC,wBAAwB,GAAG,sCAAsC;AACvE,MAAMC,0BAA0B,GAAG,sBAAsB;AAEzD,MAAMC,SAAS,GAAGA,CAACC,SAAkB,EAAEC,OAAe,KAAK;EACzD,IAAI,CAACD,SAAS,EAAE,MAAM,IAAIE,KAAK,CAACD,OAAO,CAAC;AAC1C,CAAC;;AAED;AACA;AACA;AACA;AACA,MAAME,cAAc,GAAGA,CAACC,KAAa,EAAEC,EAAc,KAAW;EAC9D,IAAI;IACFA,EAAE,CAAC,CAAC;EACN,CAAC,CAAC,OAAOC,KAAK,EAAE;IACdC,8BAAiB,CAACC,SAAS,CAAC,aAAa,CAAC,CAACC,IAAI,CAAC,GAAGL,KAAK,SAAS,EAAEE,KAAK,CAAC;EAC3E;AACF,CAAC;;AAED;AACA;AACA;AACA;AACA,MAAMI,uBAAuB,GAAGA,CAAA,KAAe;EAC7C,IAAIC,qBAAQ,CAACC,EAAE,KAAK,SAAS,IAAI,CAACjB,cAAc,EAAE;IAChD,OAAO,KAAK;EACd;EACA,OACEA,cAAc,CAACkB,OAAO,IACtBlB,cAAc,CAACmB,eAAe,KAC7BnB,cAAc,CAACoB,iBAAiB,CAAC,CAAC,IAAIpB,cAAc,CAACqB,qBAAqB,CAAC;AAEhF,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA,MAAMC,iBAAiB,GAAGA,CAAA,KACkD;EAC1E,IAAI,CAACP,uBAAuB,CAAC,CAAC,IAAI,CAACf,cAAc,EAAE;IACjD,OAAOuB,SAAS;EAClB;EACA,MAAMC,MAAM,GAAGxB,cAAc,CAACyB,oBAAoB,CAAC,CAAC,CAAC,CAAC,CAAC;EACvD,IAAI,CAACD,MAAM,EAAE;IACX,OAAOD,SAAS;EAClB;EACA,OAAO;IAAEG,EAAE,EAAE1B,cAAc;IAAEwB;EAAO,CAAC;AACvC,CAAC;;AAED;AACA,MAAMG,yBAAyB,GAAIC,IAAY,IAA8B;EAC3E,QAAQA,IAAI;IACV,KAAK,UAAU;MACb,OAAO,UAAU;IACnB,KAAK,SAAS;MACZ,OAAO,SAAS;IAClB,KAAK,eAAe;MAClB,OAAO,eAAe;IACxB,KAAK,WAAW;MACd,OAAO,kBAAkB;IAC3B;MACE,OAAO,SAAS;EACpB;AACF,CAAC;;AAED;AACA,MAAMC,eAAe,GACnBC,QAA+B,KACR;EACvB;EACA;EACAC,OAAO,EAAED,QAAQ,CAACE,SAAS,CAACC,GAAG,CAAEC,CAAC,KAAM;IACtCC,EAAE,EAAED,CAAC,CAACC,EAAE;IACRC,IAAI,EAAEF,CAAC,CAACE,IAAI;IACZR,IAAI,EAAED,yBAAyB,CAACO,CAAC,CAACN,IAAI;EACxC,CAAC,CAAC,CAAC;EACHS,gBAAgB,EAAEP,QAAQ,CAACQ,eAAe,EAAEH,EAAE;EAC9CI,mBAAmB,EAAET,QAAQ,CAACQ,eAAe,GACzCX,yBAAyB,CAACG,QAAQ,CAACQ,eAAe,CAACV,IAAI,CAAC,GACxD;AACN,CAAC,CAAC;;AAEF;AACA;AACA;AACA,MAAMY,mBAAmB,CAAC;EAEhBC,yBAAyB,GAAG,KAAK;;EAEzC;AACF;AACA;AACA;AACA;AACA;AACA;EACUC,0BAA0B,GAAGA,CAAA,KAAM;IACzC,IAAI,IAAI,CAACD,yBAAyB,EAAE,OAAO,CAAC;IAC5C,IAAIzB,qBAAQ,CAACC,EAAE,KAAK,KAAK,IAAI,CAACjB,cAAc,EAAE;IAC9C,IAAI,CAACyC,yBAAyB,GAAG,IAAI;IACrCzC,cAAc,CAAC2C,gBAAgB,CAAC,sBAAsB,EAAGC,KAAK,IAAK;MACjE,IAAIA,KAAK,CAACC,KAAK,KAAK,OAAO,EAAE;QAC3BrC,cAAc,CAAC,mBAAmB,EAAE,MAClCX,aAAa,CAACiD,iBAAiB,CAAC,CAClC,CAAC;MACH;IACF,CAAC,CAAC;EACJ,CAAC;;EAED;AACF;AACA;AACA;EACEC,SAAS,GAAG,MAAAA,CAAA,KAAwC;IAClD;IACA,MAAMC,EAAE,GAAG1B,iBAAiB,CAAC,CAAC;IAC9B,IAAI0B,EAAE,EAAE;MACN,MAAMlB,QAAQ,GAAG,MAAMkB,EAAE,CAACtB,EAAE,CAACuB,0BAA0B,CAACD,EAAE,CAACxB,MAAM,CAAC;MAClE,OAAOK,eAAe,CAACC,QAAQ,CAAC;IAClC;IACA,OAAOjC,aAAa,CAACqD,oBAAoB,CAAC,CAAC;EAC7C,CAAC;;EAED;AACF;AACA;AACA;AACA;EACEC,MAAM,GAAIC,QAAgB,IAAW;IACnC;IACA;IACA,MAAMJ,EAAE,GAAG1B,iBAAiB,CAAC,CAAC;IAC9B,IAAI0B,EAAE,EAAE;MACN,MAAM;QAAEtB,EAAE;QAAEF;MAAO,CAAC,GAAGwB,EAAE;MACzBtB,EAAE,CAAC2B,0BAA0B,CAAC7B,MAAM,EAAE4B,QAAQ,CAAC,CAACE,KAAK,CAAE3C,KAAK,IAAK;QAC/DC,8BAAiB,CACdC,SAAS,CAAC,aAAa,CAAC,CACxBC,IAAI,CACH,+BAA+BsC,QAAQ,cAAc5B,MAAM,cAAc,EACzEb,KACF,CAAC;MACL,CAAC,CAAC;MACF;IACF;IACA,IAAI,CAAC+B,0BAA0B,CAAC,CAAC;IACjClC,cAAc,CAAC,2BAA2B,EAAE,MAC1CX,aAAa,CAAC0D,yBAAyB,CAACH,QAAQ,CAClD,CAAC;EACH,CAAC;;EAED;AACF;AACA;AACA;AACA;EACEI,iBAAiB,GACfC,QAA4C,IAC3B;IACjB,IAAIC,MAAM,GAAG,IAAI;IACjB,MAAMC,YAA+B,GAAG,EAAE;;IAE1C;IACA;IACA;IACA,IAAI3D,cAAc,EAAE;MAClB,MAAM4D,KAAK,GAAG5D,cAAc,CAAC2C,gBAAgB,CAC3C,qBAAqB,EACrB,MAAM;QACJ,IAAI,CAACI,SAAS,CAAC,CAAC,CACbc,IAAI,CAAEC,KAAK,IAAK;UACf,IAAIJ,MAAM,EAAED,QAAQ,CAACK,KAAK,CAAC;QAC7B,CAAC,CAAC,CACDR,KAAK,CAAE3C,KAAK,IAAK;UAChBC,8BAAiB,CACdC,SAAS,CAAC,aAAa,CAAC,CACxBC,IAAI,CAAC,qCAAqC,EAAEH,KAAK,CAAC;QACvD,CAAC,CAAC;MACN,CACF,CAAC;MACDgD,YAAY,CAACI,IAAI,CAAC,MAAMH,KAAK,CAACI,MAAM,CAAC,CAAC,CAAC;IACzC;;IAEA;IACA,IAAI,CAACC,YAAY,GACf,IAAI,CAACA,YAAY,IAAI,IAAIC,+BAAkB,CAACrE,aAAa,CAAC;IAC5D,MAAMsE,MAAM,GAAG,IAAI,CAACF,YAAY,CAACG,WAAW,CAC1CjE,0BAA0B,EAC1BsD,QACF,CAAC;IACDE,YAAY,CAACI,IAAI,CAAC,MAAMI,MAAM,CAACH,MAAM,CAAC,CAAC,CAAC;IAExC,OAAO,MAAM;MACXN,MAAM,GAAG,KAAK;MACdC,YAAY,CAACU,OAAO,CAAEC,WAAW,IAAKA,WAAW,CAAC,CAAC,CAAC;IACtD,CAAC;EACH,CAAC;AACH;AAEA,MAAMC,cAAc,CAAC;EAGnB;AACF;AACA;EACEC,kBAAkB,GAAGA,CAAA,KAAY;IAC/BpE,SAAS,CAACY,qBAAQ,CAACC,EAAE,KAAK,KAAK,EAAE,uBAAuB,CAAC;IACzDpB,aAAa,CAAC4E,oBAAoB,CAAC,CAAC;EACtC,CAAC;;EAED;AACF;AACA;AACA;AACA;EACEC,4BAA4B,GAC1BC,cAA0D,IACzC;IACjBvE,SAAS,CAACY,qBAAQ,CAACC,EAAE,KAAK,KAAK,EAAE,uBAAuB,CAAC;IACzD,IAAI,CAACgD,YAAY,KAAK,IAAIC,+BAAkB,CAACrE,aAAa,CAAC;IAC3D,MAAM+E,CAAC,GAAG,IAAI,CAACX,YAAY,CAACG,WAAW,CACrClE,wBAAwB,EACxByE,cACF,CAAC;IACD,OAAO,MAAMC,CAAC,CAACZ,MAAM,CAAC,CAAC;EACzB,CAAC;AACH;AAEA,MAAMa,cAAc,CAAC;EACnB;AACF;AACA;EACEC,OAAO,GAAIC,IAAa,IAAW;IACjC,IAAIA,IAAI,EAAE;MACRlF,aAAa,CAACmF,eAAe,CAAC,CAAC;IACjC,CAAC,MAAM;MACLnF,aAAa,CAACoF,iBAAiB,CAAC,CAAC;IACnC;EACF,CAAC;;EAED;AACF;AACA;EACEC,sBAAsB,GAAIC,KAAc,IAAW;IACjD,MAAMnC,EAAE,GAAG1B,iBAAiB,CAAC,CAAC;IAC9B,IAAI0B,EAAE,EAAE;MACN,MAAM;QAAEtB,EAAE;QAAEF;MAAO,CAAC,GAAGwB,EAAE;MACzB;MACA;MACAtB,EAAE,CAACuB,0BAA0B,CAACzB,MAAM,CAAC,CAClCqC,IAAI,CAAE/B,QAAQ,IAAK;QAClB,IAAIsD,MAAyC;QAC7C,IAAID,KAAK,EAAE;UACTC,MAAM,GAAGtD,QAAQ,CAACE,SAAS,CAACqD,IAAI,CAAEnD,CAAC,IAAKA,CAAC,CAACN,IAAI,KAAK,SAAS,CAAC;QAC/D,CAAC,MAAM;UACL;UACA,KAAK,MAAMA,IAAI,IAAI,CAAC,eAAe,EAAE,WAAW,EAAE,UAAU,CAAC,EAAE;YAC7DwD,MAAM,GAAGtD,QAAQ,CAACE,SAAS,CAACqD,IAAI,CAAEnD,CAAC,IAAKA,CAAC,CAACN,IAAI,KAAKA,IAAI,CAAC;YACxD,IAAIwD,MAAM,EAAE;UACd;QACF;QACA,IAAIA,MAAM,EAAE;UACV,OAAO1D,EAAE,CAAC2B,0BAA0B,CAAC7B,MAAM,EAAE4D,MAAM,CAACjD,EAAE,CAAC;QACzD;QACA,OAAOZ,SAAS;MAClB,CAAC,CAAC,CACD+B,KAAK,CAAE3C,KAAK,IAAK;QAChBC,8BAAiB,CACdC,SAAS,CAAC,aAAa,CAAC,CACxBC,IAAI,CACH,0BAA0BqE,KAAK,+BAA+B3D,MAAM,cAAc,EAClFb,KACF,CAAC;MACL,CAAC,CAAC;MACJ;IACF;IACAd,aAAa,CAACqF,sBAAsB,CAACC,KAAK,CAAC;EAC7C,CAAC;AACH;AAEO,MAAMG,WAAW,CAAC;EACvBC,YAAY,GAAG,IAAI/C,mBAAmB,CAAC,CAAC;EACxCgD,GAAG,GAAG,IAAIjB,cAAc,CAAC,CAAC;EAC1BkB,OAAO,GAAG,IAAIZ,cAAc,CAAC,CAAC;;EAE9B;AACF;AACA;AACA;;EAGE;AACF;AACA;AACA;AACA;EACEa,eAAe,GAAGA,CAAA,KAChB,IAAI,CAACC,YAAY;;EAEnB;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACEC,KAAK,GAAIC,MAAkC,IAAW;IACpD,IAAI,CAACF,YAAY,GAAGE,MAAM;IAC1BjF,8BAAiB,CACdC,SAAS,CAAC,aAAa,CAAC,CACxBiF,KAAK,CAAC,mCAAmC,EAAE;MAAED;IAAO,CAAC,CAAC;EAC3D,CAAC;;EAED;AACF;AACA;EACEE,IAAI,GAAGA,CAAA,KAAY;IACjB,IAAI,CAACJ,YAAY,GAAGpE,SAAS;IAC7BX,8BAAiB,CACdC,SAAS,CAAC,aAAa,CAAC,CACxBiF,KAAK,CAAC,wCAAwC,CAAC;EACpD,CAAC;;EAED;AACF;AACA;AACA;AACA;AACA;AACA;EACEE,aAAa,GAAGA,CAAA,KAAYnG,aAAa,CAACmG,aAAa,CAAC,CAAC;;EAEzD;AACF;AACA;AACA;AACA;AACA;AACA;AACA;EACEC,gBAAgB,GAAGA,CAAA,KAAcpG,aAAa,CAACoG,gBAAgB,CAAC,CAAC;AACnE;AAACC,OAAA,CAAAZ,WAAA,GAAAA,WAAA","ignoreList":[]}
@@ -6,6 +6,7 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.StreamVideoRN = void 0;
7
7
  var _pushLogoutCallback = _interopRequireDefault(require("../internal/pushLogoutCallback"));
8
8
  var _setupIosVoipPushEvents = require("../push/setupIosVoipPushEvents");
9
+ var _setupAndroidPushEvents = require("../push/setupAndroidPushEvents");
9
10
  var _setupCallingExpEvents = require("../push/setupCallingExpEvents");
10
11
  var _callingx = require("../push/libs/callingx");
11
12
  var _reactNative = require("react-native");
@@ -108,6 +109,7 @@ class StreamVideoRN {
108
109
  }
109
110
  (0, _setupCallingExpEvents.setupCallingExpEvents)(pushConfig);
110
111
  (0, _setupIosVoipPushEvents.setupIosVoipPushEvents)(pushConfig);
112
+ (0, _setupAndroidPushEvents.setupAndroidPushEvents)(pushConfig);
111
113
  }
112
114
  static getConfig() {
113
115
  return this.config;
@@ -1 +1 @@
1
- {"version":3,"names":["_pushLogoutCallback","_interopRequireDefault","require","_setupIosVoipPushEvents","_setupCallingExpEvents","_callingx","_reactNative","_videoClient","e","__esModule","default","deepMerge","target","source","result","key","undefined","Array","isArray","DEFAULT_STREAM_VIDEO_CONFIG","foregroundService","android","channel","id","name","notificationTexts","title","body","taskToRun","Promise","StreamVideoRN","config","updateConfig","setPushConfig","pushConfig","push","callingx","getCallingxLib","videoLoggerSystem","getLogger","info","JSON","stringify","options","extractCallingExpOptions","setup","Error","setupCallingExpEvents","setupIosVoipPushEvents","getConfig","onPushLogout","callbacks","pushLogoutCallbacks","current","resolve","all","map","callback","then","clearPushLogoutCallbacks","playBusyTone","NativeModules","StreamVideoReactNative","stopBusyTone","androidHasAudioOutputHardware","Platform","OS","hasAudioOutputHardware","androidHasMicrophoneHardware","hasMicrophoneHardware","androidHasCameraHardware","hasCameraHardware","exports"],"sourceRoot":"../../../../src","sources":["utils/StreamVideoRN/index.ts"],"mappings":";;;;;;AACA,IAAAA,mBAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,uBAAA,GAAAD,OAAA;AACA,IAAAE,sBAAA,GAAAF,OAAA;AACA,IAAAG,SAAA,GAAAH,OAAA;AAIA,IAAAI,YAAA,GAAAJ,OAAA;AACA,IAAAK,YAAA,GAAAL,OAAA;AAA4D,SAAAD,uBAAAO,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAE5D;;AAKA;AACA,SAASG,SAASA,CAChBC,MAAS,EACTC,MAAsB,EACnB;EACH,MAAMC,MAAM,GAAG;IAAE,GAAGF;EAAO,CAAC;EAE5B,KAAK,MAAMG,GAAG,IAAIF,MAAM,EAAE;IACxB,IAAIA,MAAM,CAACE,GAAG,CAAC,KAAKC,SAAS,EAAE;MAC7B,IACE,OAAOH,MAAM,CAACE,GAAG,CAAC,KAAK,QAAQ,IAC/BF,MAAM,CAACE,GAAG,CAAC,KAAK,IAAI,IACpB,CAACE,KAAK,CAACC,OAAO,CAACL,MAAM,CAACE,GAAG,CAAC,CAAC,IAC3B,OAAOH,MAAM,CAACG,GAAG,CAAC,KAAK,QAAQ,IAC/BH,MAAM,CAACG,GAAG,CAAC,KAAK,IAAI,IACpB,CAACE,KAAK,CAACC,OAAO,CAACN,MAAM,CAACG,GAAG,CAAC,CAAC,EAC3B;QACAD,MAAM,CAACC,GAAG,CAAC,GAAGJ,SAAS,CACrBC,MAAM,CAACG,GAAG,CAAC,EACXF,MAAM,CAACE,GAAG,CACZ,CAAC;MACH,CAAC,MAAM;QACLD,MAAM,CAACC,GAAG,CAAC,GAAGF,MAAM,CAACE,GAAG,CAAkB;MAC5C;IACF;EACF;EAEA,OAAOD,MAAM;AACf;AAEA,MAAMK,2BAA8C,GAAG;EACrDC,iBAAiB,EAAE;IACjBC,OAAO,EAAE;MACPC,OAAO,EAAE;QACPC,EAAE,EAAE,gCAAgC;QACpCC,IAAI,EAAE;MACR,CAAC;MACDC,iBAAiB,EAAE;QACjBC,KAAK,EAAE,kBAAkB;QACzBC,IAAI,EAAE;MACR,CAAC;MACDC,SAAS,EAAEA,CAAA,KAAM,IAAIC,OAAO,CAAC,MAAM,CAAC,CAAC;IACvC;EACF;AACF,CAAC;AAEM,MAAMC,aAAa,CAAC;EACzB,OAAeC,MAAM,GAAGZ,2BAA2B;;EAEnD;AACF;AACA;AACA;AACA;EACE,OAAOa,YAAYA,CACjBA,YAA0D,EAC1D;IACA,IAAI,CAACD,MAAM,GAAGpB,SAAS,CAAC,IAAI,CAACoB,MAAM,EAAEC,YAAY,CAAC;EACpD;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACE,OAAOC,aAAaA,CAACC,UAAkD,EAAE;IACvE,IAAI,IAAI,CAACH,MAAM,CAACI,IAAI,EAAE;MACpB;MACA;IACF;IAEA,IAAI,CAACJ,MAAM,CAACI,IAAI,GAAGD,UAAU;IAE7B,IAAI;MACF,MAAME,QAAQ,GAAG,IAAAC,wBAAc,EAAC,CAAC;MACjCC,8BAAiB,CACdC,SAAS,CAAC,6BAA6B,CAAC,CACxCC,IAAI,CAACC,IAAI,CAACC,SAAS,CAAC,IAAI,CAACX,MAAM,CAAC,CAAC;MACpC,MAAMY,OAAO,GAAG,IAAAC,kCAAwB,EAAC,IAAI,CAACb,MAAM,CAAC;MACrDK,QAAQ,CAACS,KAAK,CAACF,OAAO,CAAC;IACzB,CAAC,CAAC,MAAM;MACN,MAAM,IAAIG,KAAK,CACb,iKACF,CAAC;IACH;IAEA,IAAAC,4CAAqB,EAACb,UAAU,CAAC;IACjC,IAAAc,8CAAsB,EAACd,UAAU,CAAC;EACpC;EAEA,OAAOe,SAASA,CAAA,EAAG;IACjB,OAAO,IAAI,CAAClB,MAAM;EACpB;;EAEA;AACF;AACA;AACA;EACE,OAAOmB,YAAYA,CAAA,EAAG;IACpB,MAAMC,SAAS,GAAGC,2BAAmB,CAACC,OAAO;IAC7C,IAAI,CAACF,SAAS,EAAE;MACd,OAAOtB,OAAO,CAACyB,OAAO,CAAC,CAAC;IAC1B;IACAF,2BAAmB,CAACC,OAAO,GAAG,EAAE;IAChC,OAAOxB,OAAO,CAAC0B,GAAG,CAACJ,SAAS,CAACK,GAAG,CAAEC,QAAQ,IAAKA,QAAQ,CAAC,CAAC,CAAC,CAAC,CAACC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;EAC5E;EAEA,OAAOC,wBAAwBA,CAAA,EAAG;IAChCP,2BAAmB,CAACC,OAAO,GAAG,EAAE;EAClC;;EAEA;AACF;AACA;EACE,aAAaO,YAAYA,CAAA,EAAG;IAC1B,OAAOC,0BAAa,CAACC,sBAAsB,CAACF,YAAY,CAAC,CAAC;EAC5D;;EAEA;AACF;AACA;EACE,aAAaG,YAAYA,CAAA,EAAG;IAC1B,OAAOF,0BAAa,CAACC,sBAAsB,CAACC,YAAY,CAAC,CAAC;EAC5D;;EAEA;AACF;AACA;AACA;EACE,aAAaC,6BAA6BA,CAAA,EAAqB;IAC7D,IAAIC,qBAAQ,CAACC,EAAE,KAAK,SAAS,EAC3B,MAAM,IAAIpB,KAAK,CACb,qEACF,CAAC;IACH,OAAOe,0BAAa,CAACC,sBAAsB,CAACK,sBAAsB,CAAC,CAAC;EACtE;;EAEA;AACF;AACA;AACA;EACE,aAAaC,4BAA4BA,CAAA,EAAqB;IAC5D,IAAIH,qBAAQ,CAACC,EAAE,KAAK,SAAS,EAC3B,MAAM,IAAIpB,KAAK,CACb,oEACF,CAAC;IACH,OAAOe,0BAAa,CAACC,sBAAsB,CAACO,qBAAqB,CAAC,CAAC;EACrE;;EAEA;AACF;AACA;AACA;EACE,aAAaC,wBAAwBA,CAAA,EAAqB;IACxD,IAAIL,qBAAQ,CAACC,EAAE,KAAK,SAAS,EAC3B,MAAM,IAAIpB,KAAK,CACb,gEACF,CAAC;IACH,OAAOe,0BAAa,CAACC,sBAAsB,CAACS,iBAAiB,CAAC,CAAC;EACjE;AACF;AAACC,OAAA,CAAA1C,aAAA,GAAAA,aAAA","ignoreList":[]}
1
+ {"version":3,"names":["_pushLogoutCallback","_interopRequireDefault","require","_setupIosVoipPushEvents","_setupAndroidPushEvents","_setupCallingExpEvents","_callingx","_reactNative","_videoClient","e","__esModule","default","deepMerge","target","source","result","key","undefined","Array","isArray","DEFAULT_STREAM_VIDEO_CONFIG","foregroundService","android","channel","id","name","notificationTexts","title","body","taskToRun","Promise","StreamVideoRN","config","updateConfig","setPushConfig","pushConfig","push","callingx","getCallingxLib","videoLoggerSystem","getLogger","info","JSON","stringify","options","extractCallingExpOptions","setup","Error","setupCallingExpEvents","setupIosVoipPushEvents","setupAndroidPushEvents","getConfig","onPushLogout","callbacks","pushLogoutCallbacks","current","resolve","all","map","callback","then","clearPushLogoutCallbacks","playBusyTone","NativeModules","StreamVideoReactNative","stopBusyTone","androidHasAudioOutputHardware","Platform","OS","hasAudioOutputHardware","androidHasMicrophoneHardware","hasMicrophoneHardware","androidHasCameraHardware","hasCameraHardware","exports"],"sourceRoot":"../../../../src","sources":["utils/StreamVideoRN/index.ts"],"mappings":"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","ignoreList":[]}
@@ -7,6 +7,8 @@ exports.endCallingxCall = endCallingxCall;
7
7
  exports.getCallDisplayName = getCallDisplayName;
8
8
  exports.joinCallingxCall = joinCallingxCall;
9
9
  exports.registerOutgoingCall = registerOutgoingCall;
10
+ exports.unwireAudioEngineSubscription = unwireAudioEngineSubscription;
11
+ exports.wireAudioEngineSubscription = wireAudioEngineSubscription;
10
12
  var _reactNative = require("react-native");
11
13
  var _callingx = require("../../push/libs/callingx");
12
14
  var _videoClient = require("@stream-io/video-client");
@@ -17,40 +19,6 @@ var _videoClient = require("@stream-io/video-client");
17
19
 
18
20
  const CallingxModule = (0, _callingx.getCallingxLibIfAvailable)();
19
21
 
20
- /**
21
- * Fallback when Telecom registration fails/times out on Android: no component would own audio
22
- * (Telecom never took over), so re-establish StreamInCallManager in its classic (non-telecom)
23
- * mode to keep the call audible.
24
- */
25
- function recoverAudioToClassicMode() {
26
- if (_reactNative.Platform.OS !== 'android') {
27
- return;
28
- }
29
- if (!CallingxModule?.isSetup || !CallingxModule.isTelecomBacked) {
30
- return;
31
- }
32
- // If a call is already registered, Telecom owns audio for it (the registration
33
- // partially succeeded). Switching to classic mode here would fight Telecom's
34
- // routing/focus — leave ownership intact.
35
- if (CallingxModule.hasRegisteredCall()) {
36
- _videoClient.videoLoggerSystem.getLogger('callingx').debug('recoverAudioToClassicMode: Telecom already owns a registered call; skipping classic fallback');
37
- return;
38
- }
39
- const StreamInCallManagerNativeModule = _reactNative.NativeModules.StreamInCallManager;
40
- if (!StreamInCallManagerNativeModule) {
41
- return;
42
- }
43
- const logger = _videoClient.videoLoggerSystem.getLogger('callingx');
44
- logger.warn('Telecom registration failed; falling back to classic StreamInCallManager audio');
45
- try {
46
- StreamInCallManagerNativeModule.stop();
47
- StreamInCallManagerNativeModule.setTelecomManagedMode(false);
48
- StreamInCallManagerNativeModule.start();
49
- } catch (error) {
50
- logger.error('recoverAudioToClassicMode: failed to recover audio', error);
51
- }
52
- }
53
-
54
22
  /**
55
23
  * Gets the call display name. To be used for display in native call screen.
56
24
  */
@@ -69,12 +37,12 @@ function getCallDisplayName(callMembers, participants, currentUserId) {
69
37
 
70
38
  // if no names are found, we use the name of the current user
71
39
  if (names.length === 0) {
72
- names = [participants.find(participant => participant.userId === currentUserId)?.name ?? 'Call'];
40
+ names = [participants.find(participant => participant.userId === currentUserId)?.name || 'Call'];
73
41
  }
74
42
  return names.sort().join(', ');
75
43
  }
76
44
  function getCallDisplayNameFromCall(call) {
77
- return call.state.custom?.display_name ?? getCallDisplayName(call.state.members, call.state.participants, call.currentUserId);
45
+ return call.state.custom?.display_name || getCallDisplayName(call.state.members, call.state.participants, call.currentUserId);
78
46
  }
79
47
  async function registerOutgoingCall(call) {
80
48
  if (!CallingxModule || !CallingxModule.isSetup || call.isOwnTracksLoopbackAllowed) {
@@ -98,7 +66,6 @@ async function registerOutgoingCall(call) {
98
66
  );
99
67
  } catch (error) {
100
68
  logger.error(`registerOutgoingCall: Error registering outgoing call in callingx: ${call.cid}`, error);
101
- recoverAudioToClassicMode();
102
69
  }
103
70
  }
104
71
 
@@ -134,7 +101,6 @@ async function joinCallingxCall(call, activeCalls) {
134
101
  await startCallInCallingx();
135
102
  } catch (error) {
136
103
  logger.error(`startCallingxCall: Error starting call in callingx: ${call.cid}`, error);
137
- recoverAudioToClassicMode();
138
104
  }
139
105
  } else if (isIncomingCall) {
140
106
  logger.debug(`joinCallingxCall: Joining incoming call ${call.cid}`);
@@ -164,7 +130,6 @@ async function joinCallingxCall(call, activeCalls) {
164
130
  await CallingxModule.answerIncomingCall(call.cid);
165
131
  } catch (error) {
166
132
  logger.error(`Error joining incoming call in callingx: ${call.cid}`, error);
167
- recoverAudioToClassicMode();
168
133
  }
169
134
  }
170
135
  }
@@ -180,4 +145,28 @@ async function endCallingxCall(call, reason) {
180
145
  logger.error(`endCallingxCall: Error ending call in callingx: ${call.cid}`, error);
181
146
  }
182
147
  }
148
+ async function wireAudioEngineSubscription() {
149
+ if (!CallingxModule || !CallingxModule.isSetup || _reactNative.Platform.OS !== 'ios') {
150
+ return;
151
+ }
152
+ const logger = _videoClient.videoLoggerSystem.getLogger('callingx');
153
+ try {
154
+ logger.debug('wireEngineSubscription: Wiring engine subscription');
155
+ CallingxModule.wireAudioEngineSubscription();
156
+ } catch (error) {
157
+ logger.error('wireAudioEngineSubscription: Error wiring engine subscription', error);
158
+ }
159
+ }
160
+ function unwireAudioEngineSubscription() {
161
+ if (!CallingxModule || !CallingxModule.isSetup || _reactNative.Platform.OS !== 'ios') {
162
+ return;
163
+ }
164
+ const logger = _videoClient.videoLoggerSystem.getLogger('callingx');
165
+ try {
166
+ logger.debug('unwireEngineSubscription: Cancelling engine subscription');
167
+ CallingxModule.unwireAudioEngineSubscription();
168
+ } catch (error) {
169
+ logger.error('unwireAudioEngineSubscription: Error cancelling engine subscription', error);
170
+ }
171
+ }
183
172
  //# sourceMappingURL=callingx.js.map