@stream-io/video-react-native-sdk 1.37.0 → 1.38.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 (39) hide show
  1. package/CHANGELOG.md +20 -0
  2. package/dist/commonjs/modules/call-manager/CallManager.js +13 -0
  3. package/dist/commonjs/modules/call-manager/CallManager.js.map +1 -1
  4. package/dist/commonjs/providers/StreamCall/AudioInterruptionTracer.js +37 -0
  5. package/dist/commonjs/providers/StreamCall/AudioInterruptionTracer.js.map +1 -0
  6. package/dist/commonjs/providers/StreamCall/index.js +2 -1
  7. package/dist/commonjs/providers/StreamCall/index.js.map +1 -1
  8. package/dist/commonjs/utils/push/internal/ios.js +5 -0
  9. package/dist/commonjs/utils/push/internal/ios.js.map +1 -1
  10. package/dist/commonjs/version.js +1 -1
  11. package/dist/module/modules/call-manager/CallManager.js +13 -0
  12. package/dist/module/modules/call-manager/CallManager.js.map +1 -1
  13. package/dist/module/providers/StreamCall/AudioInterruptionTracer.js +30 -0
  14. package/dist/module/providers/StreamCall/AudioInterruptionTracer.js.map +1 -0
  15. package/dist/module/providers/StreamCall/index.js +2 -1
  16. package/dist/module/providers/StreamCall/index.js.map +1 -1
  17. package/dist/module/utils/push/internal/ios.js +5 -0
  18. package/dist/module/utils/push/internal/ios.js.map +1 -1
  19. package/dist/module/version.js +1 -1
  20. package/dist/typescript/modules/call-manager/CallManager.d.ts +8 -1
  21. package/dist/typescript/modules/call-manager/CallManager.d.ts.map +1 -1
  22. package/dist/typescript/modules/call-manager/types.d.ts +6 -0
  23. package/dist/typescript/modules/call-manager/types.d.ts.map +1 -1
  24. package/dist/typescript/providers/StreamCall/AudioInterruptionTracer.d.ts +5 -0
  25. package/dist/typescript/providers/StreamCall/AudioInterruptionTracer.d.ts.map +1 -0
  26. package/dist/typescript/providers/StreamCall/index.d.ts.map +1 -1
  27. package/dist/typescript/utils/push/internal/ios.d.ts.map +1 -1
  28. package/dist/typescript/version.d.ts +1 -1
  29. package/ios/PictureInPicture/StreamBufferTransformer.swift +13 -4
  30. package/ios/PictureInPicture/StreamPictureInPictureVideoRenderer.swift +76 -70
  31. package/ios/PictureInPicture/StreamRTCYUVBuffer.swift +20 -16
  32. package/ios/StreamInCallManager.swift +237 -81
  33. package/package.json +11 -11
  34. package/src/modules/call-manager/CallManager.ts +25 -1
  35. package/src/modules/call-manager/types.ts +7 -0
  36. package/src/providers/StreamCall/AudioInterruptionTracer.tsx +51 -0
  37. package/src/providers/StreamCall/index.tsx +2 -0
  38. package/src/utils/push/internal/ios.ts +5 -0
  39. package/src/version.ts +1 -1
package/CHANGELOG.md CHANGED
@@ -2,6 +2,26 @@
2
2
 
3
3
  This file was generated using [@jscutlery/semver](https://github.com/jscutlery/semver).
4
4
 
5
+ ## [1.38.0](https://github.com/GetStream/stream-video-js/compare/@stream-io/video-react-native-sdk-1.37.0...@stream-io/video-react-native-sdk-1.38.0) (2026-06-11)
6
+
7
+ ### Dependency Updates
8
+
9
+ - `@stream-io/noise-cancellation-react-native` updated to version `0.8.0`
10
+ - `@stream-io/react-native-callingx` updated to version `0.5.0`
11
+ - `@stream-io/video-filters-react-native` updated to version `0.13.0`
12
+ - `@stream-io/video-client` updated to version `1.53.0`
13
+ - `@stream-io/video-react-bindings` updated to version `1.16.3`
14
+
15
+ - upgrade Expo config-plugin (react-native-webrtc) to v15 and bump Expo SDK 56 deps ([#2276](https://github.com/GetStream/stream-video-js/issues/2276)) ([af675b8](https://github.com/GetStream/stream-video-js/commit/af675b8bd6bcf08320f748cb8be1b56bedf13937))
16
+
17
+ ### Features
18
+
19
+ - webrtc 145 upgrade ([#2133](https://github.com/GetStream/stream-video-js/issues/2133)) ([07825e4](https://github.com/GetStream/stream-video-js/commit/07825e402193ed07acf1d41831545326a0ad93d9)), closes [rn-webrtc#27](https://github.com/GetStream/rn-webrtc/issues/27)
20
+
21
+ ### Bug Fixes
22
+
23
+ - leave call when it was cancelled during bg ([#2277](https://github.com/GetStream/stream-video-js/issues/2277)) ([6dc77a3](https://github.com/GetStream/stream-video-js/commit/6dc77a3733c3bc7f4f87c0fd0f6a20a7a0dd1d27))
24
+
5
25
  ## [1.37.0](https://github.com/GetStream/stream-video-js/compare/@stream-io/video-react-native-sdk-1.36.2...@stream-io/video-react-native-sdk-1.37.0) (2026-06-04)
6
26
 
7
27
  ### Dependency Updates
@@ -9,6 +9,7 @@ var _callingx = require("../../utils/push/libs/callingx");
9
9
  var _videoClient = require("@stream-io/video-client");
10
10
  const NativeManager = _reactNative.NativeModules.StreamInCallManager;
11
11
  const CallingxModule = (0, _callingx.getCallingxLibIfAvailable)();
12
+ const AUDIO_INTERRUPTION_EVENT = 'StreamInCallManagerAudioInterruption';
12
13
  const invariant = (condition, message) => {
13
14
  if (!condition) throw new Error(message);
14
15
  };
@@ -50,6 +51,18 @@ class IOSCallManager {
50
51
  invariant(_reactNative.Platform.OS === 'ios', 'Supported only on iOS');
51
52
  NativeManager.showAudioRoutePicker();
52
53
  };
54
+
55
+ /**
56
+ * Register a listener for iOS audio interruptions.
57
+ *
58
+ * @param onInterruption callback to be called when iOS reports an audio interruption.
59
+ */
60
+ addAudioInterruptionListener = onInterruption => {
61
+ invariant(_reactNative.Platform.OS === 'ios', 'Supported only on iOS');
62
+ this.eventEmitter ??= new _reactNative.NativeEventEmitter(NativeManager);
63
+ const s = this.eventEmitter.addListener(AUDIO_INTERRUPTION_EVENT, onInterruption);
64
+ return () => s.remove();
65
+ };
53
66
  }
54
67
  class SpeakerManager {
55
68
  /**
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNative","require","_callingx","_videoClient","NativeManager","NativeModules","StreamInCallManager","CallingxModule","getCallingxLibIfAvailable","invariant","condition","message","Error","AndroidCallManager","getAudioDeviceStatus","Platform","OS","selectAudioDevice","endpointName","chooseAudioDeviceEndpoint","addAudioDeviceChangeListener","onChange","eventEmitter","NativeEventEmitter","s","addListener","remove","IOSCallManager","showDeviceSelector","showAudioRoutePicker","SpeakerManager","setMute","mute","muteAudioOutput","unmuteAudioOutput","setForceSpeakerphoneOn","force","shouldBypassForCallKit","isSetup","hasRegisteredCall","isOngoingCallsEnabled","CallManager","android","ios","speaker","start","config","audioRole","type","deviceEndpointType","setDefaultAudioDeviceEndpointType","videoLoggerSystem","getLogger","debug","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","_callingx","_videoClient","NativeManager","NativeModules","StreamInCallManager","CallingxModule","getCallingxLibIfAvailable","AUDIO_INTERRUPTION_EVENT","invariant","condition","message","Error","AndroidCallManager","getAudioDeviceStatus","Platform","OS","selectAudioDevice","endpointName","chooseAudioDeviceEndpoint","addAudioDeviceChangeListener","onChange","eventEmitter","NativeEventEmitter","s","addListener","remove","IOSCallManager","showDeviceSelector","showAudioRoutePicker","addAudioInterruptionListener","onInterruption","SpeakerManager","setMute","mute","muteAudioOutput","unmuteAudioOutput","setForceSpeakerphoneOn","force","shouldBypassForCallKit","isSetup","hasRegisteredCall","isOngoingCallsEnabled","CallManager","android","ios","speaker","start","config","audioRole","type","deviceEndpointType","setDefaultAudioDeviceEndpointType","videoLoggerSystem","getLogger","debug","setAudioRole","enableStereoAudioOutput","setEnableStereoAudioOutput","stop","logAudioState","getAudioStateLog","exports"],"sourceRoot":"../../../../src","sources":["modules/call-manager/CallManager.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.AudioInterruptionTracer = void 0;
7
+ var _videoReactBindings = require("@stream-io/video-react-bindings");
8
+ var _react = require("react");
9
+ var _reactNative = require("react-native");
10
+ var _callManager = require("../../modules/call-manager");
11
+ var _callingx = require("../../utils/push/libs/callingx");
12
+ var _videoClient = require("@stream-io/video-client");
13
+ /**
14
+ * Traces iOS audio interruptions while a StreamCall provider is mounted.
15
+ */
16
+ const AudioInterruptionTracer = () => {
17
+ const call = (0, _videoReactBindings.useCall)();
18
+ (0, _react.useEffect)(() => {
19
+ if (_reactNative.Platform.OS !== 'ios' || !call) {
20
+ return;
21
+ }
22
+ const traceAudioInterruption = event => {
23
+ call.tracer.trace(`ios.audioInterruption.${event.phase}`, event);
24
+ _videoClient.videoLoggerSystem.getLogger('Call').info(`ios.audioInterruption.${event.phase}`, event);
25
+ };
26
+ const removeInCallManagerListener = _callManager.callManager.ios.addAudioInterruptionListener(traceAudioInterruption);
27
+ const callingx = (0, _callingx.getCallingxLibIfAvailable)();
28
+ const callingxSubscription = callingx?.addEventListener('didAudioInterruption', traceAudioInterruption);
29
+ return () => {
30
+ removeInCallManagerListener();
31
+ callingxSubscription?.remove();
32
+ };
33
+ }, [call]);
34
+ return null;
35
+ };
36
+ exports.AudioInterruptionTracer = AudioInterruptionTracer;
37
+ //# sourceMappingURL=AudioInterruptionTracer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_videoReactBindings","require","_react","_reactNative","_callManager","_callingx","_videoClient","AudioInterruptionTracer","call","useCall","useEffect","Platform","OS","traceAudioInterruption","event","tracer","trace","phase","videoLoggerSystem","getLogger","info","removeInCallManagerListener","callManager","ios","addAudioInterruptionListener","callingx","getCallingxLibIfAvailable","callingxSubscription","addEventListener","remove","exports"],"sourceRoot":"../../../../src","sources":["providers/StreamCall/AudioInterruptionTracer.tsx"],"mappings":";;;;;;AAAA,IAAAA,mBAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AACA,IAAAE,YAAA,GAAAF,OAAA;AACA,IAAAG,YAAA,GAAAH,OAAA;AAEA,IAAAI,SAAA,GAAAJ,OAAA;AACA,IAAAK,YAAA,GAAAL,OAAA;AASA;AACA;AACA;AACO,MAAMM,uBAAuB,GAAGA,CAAA,KAAM;EAC3C,MAAMC,IAAI,GAAG,IAAAC,2BAAO,EAAC,CAAC;EAEtB,IAAAC,gBAAS,EAAC,MAAM;IACd,IAAIC,qBAAQ,CAACC,EAAE,KAAK,KAAK,IAAI,CAACJ,IAAI,EAAE;MAClC;IACF;IAEA,MAAMK,sBAAsB,GAAIC,KAAgC,IAAK;MACnEN,IAAI,CAACO,MAAM,CAACC,KAAK,CAAC,yBAAyBF,KAAK,CAACG,KAAK,EAAE,EAAEH,KAAK,CAAC;MAChEI,8BAAiB,CACdC,SAAS,CAAC,MAAM,CAAC,CACjBC,IAAI,CAAC,yBAAyBN,KAAK,CAACG,KAAK,EAAE,EAAEH,KAAK,CAAC;IACxD,CAAC;IAED,MAAMO,2BAA2B,GAC/BC,wBAAW,CAACC,GAAG,CAACC,4BAA4B,CAACX,sBAAsB,CAAC;IACtE,MAAMY,QAAQ,GAAG,IAAAC,mCAAyB,EAAC,CAE9B;IACb,MAAMC,oBAAoB,GAAGF,QAAQ,EAAEG,gBAAgB,CACrD,sBAAsB,EACtBf,sBACF,CAAC;IAED,OAAO,MAAM;MACXQ,2BAA2B,CAAC,CAAC;MAC7BM,oBAAoB,EAAEE,MAAM,CAAC,CAAC;IAChC,CAAC;EACH,CAAC,EAAE,CAACrB,IAAI,CAAC,CAAC;EAEV,OAAO,IAAI;AACb,CAAC;AAACsB,OAAA,CAAAvB,uBAAA,GAAAA,uBAAA","ignoreList":[]}
@@ -11,6 +11,7 @@ var _useAndroidKeepCallAliveEffect = require("../../hooks/useAndroidKeepCallAliv
11
11
  var _useScreenShareAudioMixing = require("../../hooks/useScreenShareAudioMixing");
12
12
  var _AppStateListener = require("./AppStateListener");
13
13
  var _DeviceStats = require("./DeviceStats");
14
+ var _AudioInterruptionTracer = require("./AudioInterruptionTracer");
14
15
  var _constants = require("../../utils/push/internal/constants");
15
16
  var _useCallingExpWithCallingStateEffect = require("../../hooks/push/useCallingExpWithCallingStateEffect");
16
17
  function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
@@ -31,7 +32,7 @@ const StreamCall = ({
31
32
  }) => {
32
33
  return /*#__PURE__*/_react.default.createElement(_videoReactBindings.StreamCallProvider, {
33
34
  call: call
34
- }, /*#__PURE__*/_react.default.createElement(_AppStateListener.AppStateListener, null), /*#__PURE__*/_react.default.createElement(AndroidKeepCallAlive, null), /*#__PURE__*/_react.default.createElement(CallingExpWithCallingState, null), /*#__PURE__*/_react.default.createElement(ClearPushWSSubscriptions, null), /*#__PURE__*/_react.default.createElement(ScreenShareAudioMixer, null), /*#__PURE__*/_react.default.createElement(_DeviceStats.DeviceStats, null), children);
35
+ }, /*#__PURE__*/_react.default.createElement(_AppStateListener.AppStateListener, null), /*#__PURE__*/_react.default.createElement(AndroidKeepCallAlive, null), /*#__PURE__*/_react.default.createElement(CallingExpWithCallingState, null), /*#__PURE__*/_react.default.createElement(ClearPushWSSubscriptions, null), /*#__PURE__*/_react.default.createElement(ScreenShareAudioMixer, null), /*#__PURE__*/_react.default.createElement(_DeviceStats.DeviceStats, null), /*#__PURE__*/_react.default.createElement(_AudioInterruptionTracer.AudioInterruptionTracer, null), children);
35
36
  };
36
37
 
37
38
  /**
@@ -1 +1 @@
1
- {"version":3,"names":["_videoReactBindings","require","_react","_interopRequireWildcard","_utils","_useAndroidKeepCallAliveEffect","_useScreenShareAudioMixing","_AppStateListener","_DeviceStats","_constants","_useCallingExpWithCallingStateEffect","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","StreamCall","children","createElement","StreamCallProvider","AppStateListener","AndroidKeepCallAlive","CallingExpWithCallingState","ClearPushWSSubscriptions","ScreenShareAudioMixer","DeviceStats","exports","useAndroidKeepCallAliveEffect","useCallingExpWithCallingStateEffect","useScreenShareAudioMixing","useEffect","pushUnsubscriptionCallbacks","forEach","cbArray","cb","clear","canAddPushWSSubscriptionsRef","current"],"sourceRoot":"../../../../src","sources":["providers/StreamCall/index.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_videoReactBindings","require","_react","_interopRequireWildcard","_utils","_useAndroidKeepCallAliveEffect","_useScreenShareAudioMixing","_AppStateListener","_DeviceStats","_AudioInterruptionTracer","_constants","_useCallingExpWithCallingStateEffect","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","StreamCall","children","createElement","StreamCallProvider","AppStateListener","AndroidKeepCallAlive","CallingExpWithCallingState","ClearPushWSSubscriptions","ScreenShareAudioMixer","DeviceStats","AudioInterruptionTracer","exports","useAndroidKeepCallAliveEffect","useCallingExpWithCallingStateEffect","useScreenShareAudioMixing","useEffect","pushUnsubscriptionCallbacks","forEach","cbArray","cb","clear","canAddPushWSSubscriptionsRef","current"],"sourceRoot":"../../../../src","sources":["providers/StreamCall/index.tsx"],"mappings":"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","ignoreList":[]}
@@ -62,6 +62,11 @@ const onVoipNotificationReceived = async (notification, pushConfig) => {
62
62
  if (mustEndCall) {
63
63
  logger.debug(`callingx.endCallWithReason for call_cid: ${call_cid} endCallReason: ${endCallReason}`);
64
64
  callingx.endCallWithReason(call_cid, endCallReason);
65
+ callFromPush.leave({
66
+ reject: false
67
+ }).catch(error => {
68
+ logger.error(`Failed to leave already-ended ringing call ${call_cid}: ${error}`);
69
+ });
65
70
  return true;
66
71
  }
67
72
  return false;
@@ -1 +1 @@
1
- {"version":3,"names":["_videoClient","require","_reactNative","_callingx","_constants","_utils","onVoipNotificationReceived","notification","pushConfig","logger","videoLoggerSystem","getLogger","sender","stream","type","call_cid","Platform","OS","ios","pushProviderName","callingx","getCallingxLib","pushUnsubscriptionCallbacks","has","debug","client","createStreamVideoClient","callFromPush","onRingingCall","closeCallIfNecessary","mustEndCall","endCallReason","shouldCallBeClosed","endCallWithReason","closed","canListenToWS","unsubscribe","on","event","_canListenToWS","delete","_closed","get","forEach","cb","set","exports"],"sourceRoot":"../../../../../src","sources":["utils/push/internal/ios.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_videoClient","require","_reactNative","_callingx","_constants","_utils","onVoipNotificationReceived","notification","pushConfig","logger","videoLoggerSystem","getLogger","sender","stream","type","call_cid","Platform","OS","ios","pushProviderName","callingx","getCallingxLib","pushUnsubscriptionCallbacks","has","debug","client","createStreamVideoClient","callFromPush","onRingingCall","closeCallIfNecessary","mustEndCall","endCallReason","shouldCallBeClosed","endCallWithReason","leave","reject","catch","error","closed","canListenToWS","unsubscribe","on","event","_canListenToWS","delete","_closed","get","forEach","cb","set","exports"],"sourceRoot":"../../../../../src","sources":["utils/push/internal/ios.ts"],"mappings":"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","ignoreList":[]}
@@ -4,5 +4,5 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.version = void 0;
7
- const version = exports.version = '1.37.0';
7
+ const version = exports.version = '1.38.0';
8
8
  //# sourceMappingURL=version.js.map
@@ -3,6 +3,7 @@ import { getCallingxLibIfAvailable } from '../../utils/push/libs/callingx';
3
3
  import { videoLoggerSystem } from '@stream-io/video-client';
4
4
  const NativeManager = NativeModules.StreamInCallManager;
5
5
  const CallingxModule = getCallingxLibIfAvailable();
6
+ const AUDIO_INTERRUPTION_EVENT = 'StreamInCallManagerAudioInterruption';
6
7
  const invariant = (condition, message) => {
7
8
  if (!condition) throw new Error(message);
8
9
  };
@@ -44,6 +45,18 @@ class IOSCallManager {
44
45
  invariant(Platform.OS === 'ios', 'Supported only on iOS');
45
46
  NativeManager.showAudioRoutePicker();
46
47
  };
48
+
49
+ /**
50
+ * Register a listener for iOS audio interruptions.
51
+ *
52
+ * @param onInterruption callback to be called when iOS reports an audio interruption.
53
+ */
54
+ addAudioInterruptionListener = onInterruption => {
55
+ invariant(Platform.OS === 'ios', 'Supported only on iOS');
56
+ this.eventEmitter ??= new NativeEventEmitter(NativeManager);
57
+ const s = this.eventEmitter.addListener(AUDIO_INTERRUPTION_EVENT, onInterruption);
58
+ return () => s.remove();
59
+ };
47
60
  }
48
61
  class SpeakerManager {
49
62
  /**
@@ -1 +1 @@
1
- {"version":3,"names":["NativeEventEmitter","NativeModules","Platform","getCallingxLibIfAvailable","videoLoggerSystem","NativeManager","StreamInCallManager","CallingxModule","invariant","condition","message","Error","AndroidCallManager","getAudioDeviceStatus","OS","selectAudioDevice","endpointName","chooseAudioDeviceEndpoint","addAudioDeviceChangeListener","onChange","eventEmitter","s","addListener","remove","IOSCallManager","showDeviceSelector","showAudioRoutePicker","SpeakerManager","setMute","mute","muteAudioOutput","unmuteAudioOutput","setForceSpeakerphoneOn","force","shouldBypassForCallKit","isSetup","hasRegisteredCall","isOngoingCallsEnabled","CallManager","android","ios","speaker","start","config","audioRole","type","deviceEndpointType","setDefaultAudioDeviceEndpointType","getLogger","debug","setAudioRole","enableStereoAudioOutput","setEnableStereoAudioOutput","stop","logAudioState","getAudioStateLog"],"sourceRoot":"../../../../src","sources":["modules/call-manager/CallManager.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["NativeEventEmitter","NativeModules","Platform","getCallingxLibIfAvailable","videoLoggerSystem","NativeManager","StreamInCallManager","CallingxModule","AUDIO_INTERRUPTION_EVENT","invariant","condition","message","Error","AndroidCallManager","getAudioDeviceStatus","OS","selectAudioDevice","endpointName","chooseAudioDeviceEndpoint","addAudioDeviceChangeListener","onChange","eventEmitter","s","addListener","remove","IOSCallManager","showDeviceSelector","showAudioRoutePicker","addAudioInterruptionListener","onInterruption","SpeakerManager","setMute","mute","muteAudioOutput","unmuteAudioOutput","setForceSpeakerphoneOn","force","shouldBypassForCallKit","isSetup","hasRegisteredCall","isOngoingCallsEnabled","CallManager","android","ios","speaker","start","config","audioRole","type","deviceEndpointType","setDefaultAudioDeviceEndpointType","getLogger","debug","setAudioRole","enableStereoAudioOutput","setEnableStereoAudioOutput","stop","logAudioState","getAudioStateLog"],"sourceRoot":"../../../../src","sources":["modules/call-manager/CallManager.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,30 @@
1
+ import { useCall } from '@stream-io/video-react-bindings';
2
+ import { useEffect } from 'react';
3
+ import { Platform } from 'react-native';
4
+ import { callManager } from '../../modules/call-manager';
5
+ import { getCallingxLibIfAvailable } from '../../utils/push/libs/callingx';
6
+ import { videoLoggerSystem } from '@stream-io/video-client';
7
+ /**
8
+ * Traces iOS audio interruptions while a StreamCall provider is mounted.
9
+ */
10
+ export const AudioInterruptionTracer = () => {
11
+ const call = useCall();
12
+ useEffect(() => {
13
+ if (Platform.OS !== 'ios' || !call) {
14
+ return;
15
+ }
16
+ const traceAudioInterruption = event => {
17
+ call.tracer.trace(`ios.audioInterruption.${event.phase}`, event);
18
+ videoLoggerSystem.getLogger('Call').info(`ios.audioInterruption.${event.phase}`, event);
19
+ };
20
+ const removeInCallManagerListener = callManager.ios.addAudioInterruptionListener(traceAudioInterruption);
21
+ const callingx = getCallingxLibIfAvailable();
22
+ const callingxSubscription = callingx?.addEventListener('didAudioInterruption', traceAudioInterruption);
23
+ return () => {
24
+ removeInCallManagerListener();
25
+ callingxSubscription?.remove();
26
+ };
27
+ }, [call]);
28
+ return null;
29
+ };
30
+ //# sourceMappingURL=AudioInterruptionTracer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useCall","useEffect","Platform","callManager","getCallingxLibIfAvailable","videoLoggerSystem","AudioInterruptionTracer","call","OS","traceAudioInterruption","event","tracer","trace","phase","getLogger","info","removeInCallManagerListener","ios","addAudioInterruptionListener","callingx","callingxSubscription","addEventListener","remove"],"sourceRoot":"../../../../src","sources":["providers/StreamCall/AudioInterruptionTracer.tsx"],"mappings":"AAAA,SAASA,OAAO,QAAQ,iCAAiC;AACzD,SAASC,SAAS,QAAQ,OAAO;AACjC,SAASC,QAAQ,QAAQ,cAAc;AACvC,SAASC,WAAW,QAAQ,4BAA4B;AAExD,SAASC,yBAAyB,QAAQ,gCAAgC;AAC1E,SAASC,iBAAiB,QAAQ,yBAAyB;AAS3D;AACA;AACA;AACA,OAAO,MAAMC,uBAAuB,GAAGA,CAAA,KAAM;EAC3C,MAAMC,IAAI,GAAGP,OAAO,CAAC,CAAC;EAEtBC,SAAS,CAAC,MAAM;IACd,IAAIC,QAAQ,CAACM,EAAE,KAAK,KAAK,IAAI,CAACD,IAAI,EAAE;MAClC;IACF;IAEA,MAAME,sBAAsB,GAAIC,KAAgC,IAAK;MACnEH,IAAI,CAACI,MAAM,CAACC,KAAK,CAAC,yBAAyBF,KAAK,CAACG,KAAK,EAAE,EAAEH,KAAK,CAAC;MAChEL,iBAAiB,CACdS,SAAS,CAAC,MAAM,CAAC,CACjBC,IAAI,CAAC,yBAAyBL,KAAK,CAACG,KAAK,EAAE,EAAEH,KAAK,CAAC;IACxD,CAAC;IAED,MAAMM,2BAA2B,GAC/Bb,WAAW,CAACc,GAAG,CAACC,4BAA4B,CAACT,sBAAsB,CAAC;IACtE,MAAMU,QAAQ,GAAGf,yBAAyB,CAAC,CAE9B;IACb,MAAMgB,oBAAoB,GAAGD,QAAQ,EAAEE,gBAAgB,CACrD,sBAAsB,EACtBZ,sBACF,CAAC;IAED,OAAO,MAAM;MACXO,2BAA2B,CAAC,CAAC;MAC7BI,oBAAoB,EAAEE,MAAM,CAAC,CAAC;IAChC,CAAC;EACH,CAAC,EAAE,CAACf,IAAI,CAAC,CAAC;EAEV,OAAO,IAAI;AACb,CAAC","ignoreList":[]}
@@ -5,6 +5,7 @@ import { useAndroidKeepCallAliveEffect } from '../../hooks/useAndroidKeepCallAli
5
5
  import { useScreenShareAudioMixing } from '../../hooks/useScreenShareAudioMixing';
6
6
  import { AppStateListener } from './AppStateListener';
7
7
  import { DeviceStats } from './DeviceStats';
8
+ import { AudioInterruptionTracer } from './AudioInterruptionTracer';
8
9
  import { pushUnsubscriptionCallbacks } from '../../utils/push/internal/constants';
9
10
  import { useCallingExpWithCallingStateEffect } from '../../hooks/push/useCallingExpWithCallingStateEffect';
10
11
 
@@ -25,7 +26,7 @@ export const StreamCall = ({
25
26
  }) => {
26
27
  return /*#__PURE__*/React.createElement(StreamCallProvider, {
27
28
  call: call
28
- }, /*#__PURE__*/React.createElement(AppStateListener, null), /*#__PURE__*/React.createElement(AndroidKeepCallAlive, null), /*#__PURE__*/React.createElement(CallingExpWithCallingState, null), /*#__PURE__*/React.createElement(ClearPushWSSubscriptions, null), /*#__PURE__*/React.createElement(ScreenShareAudioMixer, null), /*#__PURE__*/React.createElement(DeviceStats, null), children);
29
+ }, /*#__PURE__*/React.createElement(AppStateListener, null), /*#__PURE__*/React.createElement(AndroidKeepCallAlive, null), /*#__PURE__*/React.createElement(CallingExpWithCallingState, null), /*#__PURE__*/React.createElement(ClearPushWSSubscriptions, null), /*#__PURE__*/React.createElement(ScreenShareAudioMixer, null), /*#__PURE__*/React.createElement(DeviceStats, null), /*#__PURE__*/React.createElement(AudioInterruptionTracer, null), children);
29
30
  };
30
31
 
31
32
  /**
@@ -1 +1 @@
1
- {"version":3,"names":["StreamCallProvider","React","useEffect","canAddPushWSSubscriptionsRef","useAndroidKeepCallAliveEffect","useScreenShareAudioMixing","AppStateListener","DeviceStats","pushUnsubscriptionCallbacks","useCallingExpWithCallingStateEffect","StreamCall","call","children","createElement","AndroidKeepCallAlive","CallingExpWithCallingState","ClearPushWSSubscriptions","ScreenShareAudioMixer","forEach","cbArray","cb","clear","current"],"sourceRoot":"../../../../src","sources":["providers/StreamCall/index.tsx"],"mappings":"AAAA,SAASA,kBAAkB,QAAQ,iCAAiC;AACpE,OAAOC,KAAK,IAA4BC,SAAS,QAAQ,OAAO;AAEhE,SAASC,4BAA4B,QAAQ,iCAAiC;AAC9E,SAASC,6BAA6B,QAAQ,2CAA2C;AACzF,SAASC,yBAAyB,QAAQ,uCAAuC;AACjF,SAASC,gBAAgB,QAAQ,oBAAoB;AACrD,SAASC,WAAW,QAAQ,eAAe;AAC3C,SAASC,2BAA2B,QAAQ,qCAAqC;AACjF,SAASC,mCAAmC,QAAQ,sDAAsD;;AAE1G;;AAEA;;AASA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,UAAU,GAAGA,CAAC;EACzBC,IAAI;EACJC;AACkC,CAAC,KAAK;EACxC,oBACEX,KAAA,CAAAY,aAAA,CAACb,kBAAkB;IAACW,IAAI,EAAEA;EAAK,gBAC7BV,KAAA,CAAAY,aAAA,CAACP,gBAAgB,MAAE,CAAC,eACpBL,KAAA,CAAAY,aAAA,CAACC,oBAAoB,MAAE,CAAC,eACxBb,KAAA,CAAAY,aAAA,CAACE,0BAA0B,MAAE,CAAC,eAC9Bd,KAAA,CAAAY,aAAA,CAACG,wBAAwB,MAAE,CAAC,eAC5Bf,KAAA,CAAAY,aAAA,CAACI,qBAAqB,MAAE,CAAC,eACzBhB,KAAA,CAAAY,aAAA,CAACN,WAAW,MAAE,CAAC,EACdK,QACiB,CAAC;AAEzB,CAAC;;AAED;AACA;AACA;AACA;AACA,MAAME,oBAAoB,GAAGA,CAAA,KAAM;EACjCV,6BAA6B,CAAC,CAAC;EAC/B,OAAO,IAAI;AACb,CAAC;;AAED;AACA;AACA;AACA;AACA,MAAMW,0BAA0B,GAAGA,CAAA,KAAM;EACvCN,mCAAmC,CAAC,CAAC;EACrC,OAAO,IAAI;AACb,CAAC;;AAED;AACA;AACA;AACA;AACA,MAAMQ,qBAAqB,GAAGA,CAAA,KAAM;EAClCZ,yBAAyB,CAAC,CAAC;EAC3B,OAAO,IAAI;AACb,CAAC;;AAED;AACA;AACA;AACA;AACA,MAAMW,wBAAwB,GAAGA,CAAA,KAAM;EACrCd,SAAS,CAAC,MAAM;IACd;IACAM,2BAA2B,CAACU,OAAO,CAAEC,OAAO,IAC1CA,OAAO,CAACD,OAAO,CAAEE,EAAE,IAAKA,EAAE,CAAC,CAAC,CAC9B,CAAC;IACDZ,2BAA2B,CAACa,KAAK,CAAC,CAAC;IACnClB,4BAA4B,CAACmB,OAAO,GAAG,KAAK;IAC5C,OAAO,MAAM;MACXnB,4BAA4B,CAACmB,OAAO,GAAG,IAAI;IAC7C,CAAC;EACH,CAAC,EAAE,EAAE,CAAC;EACN,OAAO,IAAI;AACb,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["StreamCallProvider","React","useEffect","canAddPushWSSubscriptionsRef","useAndroidKeepCallAliveEffect","useScreenShareAudioMixing","AppStateListener","DeviceStats","AudioInterruptionTracer","pushUnsubscriptionCallbacks","useCallingExpWithCallingStateEffect","StreamCall","call","children","createElement","AndroidKeepCallAlive","CallingExpWithCallingState","ClearPushWSSubscriptions","ScreenShareAudioMixer","forEach","cbArray","cb","clear","current"],"sourceRoot":"../../../../src","sources":["providers/StreamCall/index.tsx"],"mappings":"AAAA,SAASA,kBAAkB,QAAQ,iCAAiC;AACpE,OAAOC,KAAK,IAA4BC,SAAS,QAAQ,OAAO;AAEhE,SAASC,4BAA4B,QAAQ,iCAAiC;AAC9E,SAASC,6BAA6B,QAAQ,2CAA2C;AACzF,SAASC,yBAAyB,QAAQ,uCAAuC;AACjF,SAASC,gBAAgB,QAAQ,oBAAoB;AACrD,SAASC,WAAW,QAAQ,eAAe;AAC3C,SAASC,uBAAuB,QAAQ,2BAA2B;AACnE,SAASC,2BAA2B,QAAQ,qCAAqC;AACjF,SAASC,mCAAmC,QAAQ,sDAAsD;;AAE1G;;AAEA;;AASA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,UAAU,GAAGA,CAAC;EACzBC,IAAI;EACJC;AACkC,CAAC,KAAK;EACxC,oBACEZ,KAAA,CAAAa,aAAA,CAACd,kBAAkB;IAACY,IAAI,EAAEA;EAAK,gBAC7BX,KAAA,CAAAa,aAAA,CAACR,gBAAgB,MAAE,CAAC,eACpBL,KAAA,CAAAa,aAAA,CAACC,oBAAoB,MAAE,CAAC,eACxBd,KAAA,CAAAa,aAAA,CAACE,0BAA0B,MAAE,CAAC,eAC9Bf,KAAA,CAAAa,aAAA,CAACG,wBAAwB,MAAE,CAAC,eAC5BhB,KAAA,CAAAa,aAAA,CAACI,qBAAqB,MAAE,CAAC,eACzBjB,KAAA,CAAAa,aAAA,CAACP,WAAW,MAAE,CAAC,eACfN,KAAA,CAAAa,aAAA,CAACN,uBAAuB,MAAE,CAAC,EAC1BK,QACiB,CAAC;AAEzB,CAAC;;AAED;AACA;AACA;AACA;AACA,MAAME,oBAAoB,GAAGA,CAAA,KAAM;EACjCX,6BAA6B,CAAC,CAAC;EAC/B,OAAO,IAAI;AACb,CAAC;;AAED;AACA;AACA;AACA;AACA,MAAMY,0BAA0B,GAAGA,CAAA,KAAM;EACvCN,mCAAmC,CAAC,CAAC;EACrC,OAAO,IAAI;AACb,CAAC;;AAED;AACA;AACA;AACA;AACA,MAAMQ,qBAAqB,GAAGA,CAAA,KAAM;EAClCb,yBAAyB,CAAC,CAAC;EAC3B,OAAO,IAAI;AACb,CAAC;;AAED;AACA;AACA;AACA;AACA,MAAMY,wBAAwB,GAAGA,CAAA,KAAM;EACrCf,SAAS,CAAC,MAAM;IACd;IACAO,2BAA2B,CAACU,OAAO,CAAEC,OAAO,IAC1CA,OAAO,CAACD,OAAO,CAAEE,EAAE,IAAKA,EAAE,CAAC,CAAC,CAC9B,CAAC;IACDZ,2BAA2B,CAACa,KAAK,CAAC,CAAC;IACnCnB,4BAA4B,CAACoB,OAAO,GAAG,KAAK;IAC5C,OAAO,MAAM;MACXpB,4BAA4B,CAACoB,OAAO,GAAG,IAAI;IAC7C,CAAC;EACH,CAAC,EAAE,EAAE,CAAC;EACN,OAAO,IAAI;AACb,CAAC","ignoreList":[]}
@@ -56,6 +56,11 @@ export const onVoipNotificationReceived = async (notification, pushConfig) => {
56
56
  if (mustEndCall) {
57
57
  logger.debug(`callingx.endCallWithReason for call_cid: ${call_cid} endCallReason: ${endCallReason}`);
58
58
  callingx.endCallWithReason(call_cid, endCallReason);
59
+ callFromPush.leave({
60
+ reject: false
61
+ }).catch(error => {
62
+ logger.error(`Failed to leave already-ended ringing call ${call_cid}: ${error}`);
63
+ });
59
64
  return true;
60
65
  }
61
66
  return false;
@@ -1 +1 @@
1
- {"version":3,"names":["videoLoggerSystem","Platform","getCallingxLib","pushUnsubscriptionCallbacks","canListenToWS","shouldCallBeClosed","onVoipNotificationReceived","notification","pushConfig","logger","getLogger","sender","stream","type","call_cid","OS","ios","pushProviderName","callingx","has","debug","client","createStreamVideoClient","callFromPush","onRingingCall","closeCallIfNecessary","mustEndCall","endCallReason","endCallWithReason","closed","unsubscribe","on","event","_canListenToWS","delete","_closed","get","forEach","cb","set"],"sourceRoot":"../../../../../src","sources":["utils/push/internal/ios.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["videoLoggerSystem","Platform","getCallingxLib","pushUnsubscriptionCallbacks","canListenToWS","shouldCallBeClosed","onVoipNotificationReceived","notification","pushConfig","logger","getLogger","sender","stream","type","call_cid","OS","ios","pushProviderName","callingx","has","debug","client","createStreamVideoClient","callFromPush","onRingingCall","closeCallIfNecessary","mustEndCall","endCallReason","endCallWithReason","leave","reject","catch","error","closed","unsubscribe","on","event","_canListenToWS","delete","_closed","get","forEach","cb","set"],"sourceRoot":"../../../../../src","sources":["utils/push/internal/ios.ts"],"mappings":"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","ignoreList":[]}
@@ -1,2 +1,2 @@
1
- export const version = '1.37.0';
1
+ export const version = '1.38.0';
2
2
  //# sourceMappingURL=version.js.map
@@ -1,4 +1,4 @@
1
- import { AudioDeviceStatus, StreamInCallManagerConfig } from './types';
1
+ import type { AudioDeviceStatus, IOSAudioInterruptionEvent, StreamInCallManagerConfig } from './types';
2
2
  declare class AndroidCallManager {
3
3
  private eventEmitter?;
4
4
  /**
@@ -18,10 +18,17 @@ declare class AndroidCallManager {
18
18
  addAudioDeviceChangeListener: (onChange: (audioDeviceStatus: AudioDeviceStatus) => void) => (() => void);
19
19
  }
20
20
  declare class IOSCallManager {
21
+ private eventEmitter?;
21
22
  /**
22
23
  * Will trigger the iOS device selector.
23
24
  */
24
25
  showDeviceSelector: () => void;
26
+ /**
27
+ * Register a listener for iOS audio interruptions.
28
+ *
29
+ * @param onInterruption callback to be called when iOS reports an audio interruption.
30
+ */
31
+ addAudioInterruptionListener: (onInterruption: (event: IOSAudioInterruptionEvent) => void) => (() => void);
25
32
  }
26
33
  declare class SpeakerManager {
27
34
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"CallManager.d.ts","sourceRoot":"","sources":["../../../../src/modules/call-manager/CallManager.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,yBAAyB,EAAE,MAAM,SAAS,CAAC;AAWvE,cAAM,kBAAkB;IACtB,OAAO,CAAC,YAAY,CAAC,CAAqB;IAE1C;;OAEG;IACH,oBAAoB,QAAa,OAAO,CAAC,iBAAiB,CAAC,CAGzD;IAEF;;;;OAIG;IACH,iBAAiB,GAAI,cAAc,MAAM,KAAG,IAAI,CAG9C;IAEF;;;OAGG;IACH,4BAA4B,GAC1B,UAAU,CAAC,iBAAiB,EAAE,iBAAiB,KAAK,IAAI,KACvD,CAAC,MAAM,IAAI,CAAC,CAKb;CACH;AAED,cAAM,cAAc;IAClB;;OAEG;IACH,kBAAkB,QAAO,IAAI,CAG3B;CACH;AAED,cAAM,cAAc;IAClB;;OAEG;IACH,OAAO,GAAI,MAAM,OAAO,KAAG,IAAI,CAM7B;IAEF;;OAEG;IACH,sBAAsB,GAAI,OAAO,OAAO,KAAG,IAAI,CAE7C;CACH;AAeD,qBAAa,WAAW;IACtB,OAAO,qBAA4B;IACnC,GAAG,iBAAwB;IAC3B,OAAO,iBAAwB;IAE/B;;;;;;;;;;;;;;;;OAgBG;IACH,KAAK,GAAI,SAAS,yBAAyB,KAAG,IAAI,CAwBhD;IAEF;;OAEG;IACH,IAAI,QAAO,IAAI,CAQb;IAEF;;;OAGG;IACH,aAAa,QAAO,IAAI,CAAkC;IAE1D;;;OAGG;IACH,gBAAgB,QAAO,MAAM,CAAqC;CACnE"}
1
+ {"version":3,"file":"CallManager.d.ts","sourceRoot":"","sources":["../../../../src/modules/call-manager/CallManager.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,iBAAiB,EACjB,yBAAyB,EACzB,yBAAyB,EAC1B,MAAM,SAAS,CAAC;AAYjB,cAAM,kBAAkB;IACtB,OAAO,CAAC,YAAY,CAAC,CAAqB;IAE1C;;OAEG;IACH,oBAAoB,QAAa,OAAO,CAAC,iBAAiB,CAAC,CAGzD;IAEF;;;;OAIG;IACH,iBAAiB,GAAI,cAAc,MAAM,KAAG,IAAI,CAG9C;IAEF;;;OAGG;IACH,4BAA4B,GAC1B,UAAU,CAAC,iBAAiB,EAAE,iBAAiB,KAAK,IAAI,KACvD,CAAC,MAAM,IAAI,CAAC,CAKb;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,CAE7C;CACH;AAeD,qBAAa,WAAW;IACtB,OAAO,qBAA4B;IACnC,GAAG,iBAAwB;IAC3B,OAAO,iBAAwB;IAE/B;;;;;;;;;;;;;;;;OAgBG;IACH,KAAK,GAAI,SAAS,yBAAyB,KAAG,IAAI,CAwBhD;IAEF;;OAEG;IACH,IAAI,QAAO,IAAI,CAQb;IAEF;;;OAGG;IACH,aAAa,QAAO,IAAI,CAAkC;IAE1D;;;OAGG;IACH,gBAAgB,QAAO,MAAM,CAAqC;CACnE"}
@@ -6,6 +6,12 @@ export type AudioDeviceStatus = {
6
6
  };
7
7
  export type AudioRole = 'communicator' | 'listener';
8
8
  export type DeviceEndpointType = 'speaker' | 'earpiece';
9
+ export type IOSAudioInterruptionEvent = {
10
+ source: 'callmanager' | 'callingx';
11
+ phase: 'began' | 'ended';
12
+ reason?: 'default' | 'builtInMicMuted' | 'routeDisconnected' | (string & {});
13
+ shouldResume?: boolean;
14
+ };
9
15
  export type StreamInCallManagerConfig = {
10
16
  audioRole: 'communicator';
11
17
  deviceEndpointType?: DeviceEndpointType;
@@ -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,iBAAiB,GAAG;IAC9B,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,mBAAmB,EAAE,uBAAuB,CAAC;IAC7C,cAAc,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG,cAAc,GAAG,UAAU,CAAC;AACpD,MAAM,MAAM,kBAAkB,GAAG,SAAS,GAAG,UAAU,CAAC;AAExD,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
+ {"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,iBAAiB,GAAG;IAC9B,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,mBAAmB,EAAE,uBAAuB,CAAC;IAC7C,cAAc,EAAE,MAAM,CAAC;CACxB,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"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Traces iOS audio interruptions while a StreamCall provider is mounted.
3
+ */
4
+ export declare const AudioInterruptionTracer: () => null;
5
+ //# sourceMappingURL=AudioInterruptionTracer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AudioInterruptionTracer.d.ts","sourceRoot":"","sources":["../../../../src/providers/StreamCall/AudioInterruptionTracer.tsx"],"names":[],"mappings":"AAeA;;GAEG;AACH,eAAO,MAAM,uBAAuB,YAgCnC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/providers/StreamCall/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,EAAE,KAAK,iBAAiB,EAAa,MAAM,OAAO,CAAC;AACjE,OAAO,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAC;AAa/C,MAAM,MAAM,eAAe,GAAG;IAC5B;;;OAGG;IACH,IAAI,EAAE,IAAI,CAAC;CACZ,CAAC;AACF;;;;;;GAMG;AACH,eAAO,MAAM,UAAU,GAAI,qBAGxB,iBAAiB,CAAC,eAAe,CAAC,sBAYpC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/providers/StreamCall/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,EAAE,KAAK,iBAAiB,EAAa,MAAM,OAAO,CAAC;AACjE,OAAO,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAC;AAc/C,MAAM,MAAM,eAAe,GAAG;IAC5B;;;OAGG;IACH,IAAI,EAAE,IAAI,CAAC;CACZ,CAAC;AACF;;;;;;GAMG;AACH,eAAO,MAAM,UAAU,GAAI,qBAGxB,iBAAiB,CAAC,eAAe,CAAC,sBAapC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"ios.d.ts","sourceRoot":"","sources":["../../../../../src/utils/push/internal/ios.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAK9D,eAAO,MAAM,0BAA0B,GACrC,cAAc,GAAG,EACjB,YAAY,WAAW,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,kBAyGnD,CAAC"}
1
+ {"version":3,"file":"ios.d.ts","sourceRoot":"","sources":["../../../../../src/utils/push/internal/ios.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAK9D,eAAO,MAAM,0BAA0B,GACrC,cAAc,GAAG,EACjB,YAAY,WAAW,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,kBA8GnD,CAAC"}
@@ -1,2 +1,2 @@
1
- export declare const version = "1.37.0";
1
+ export declare const version = "1.38.0";
2
2
  //# sourceMappingURL=version.d.ts.map
@@ -24,8 +24,11 @@ struct StreamBufferTransformer {
24
24
  let pixelBuffer: RTCVideoFrameBuffer? = {
25
25
  if let i420buffer = frame.buffer as? RTCI420Buffer {
26
26
  return i420buffer
27
+ } else if let cvPixelBuffer = frame.buffer as? RTCCVPixelBuffer {
28
+ return cvPixelBuffer
27
29
  } else {
28
- return frame.buffer
30
+ // Convert other buffer types (e.g. NV12) to i420 so the resize path can handle them.
31
+ return frame.buffer.toI420()
29
32
  }
30
33
  }()
31
34
 
@@ -87,10 +90,16 @@ struct StreamBufferTransformer {
87
90
 
88
91
  // Calculate the new size while maintaining the aspect ratio.
89
92
  let newSize = CGSize(
90
- width: size.width * ratioToUse,
91
- height: size.height * ratioToUse
93
+ width: roundedDownToEven(size.width * ratioToUse),
94
+ height: roundedDownToEven(size.height * ratioToUse)
92
95
  )
93
-
96
+
94
97
  return newSize
95
98
  }
99
+
100
+ /// Rounds down to the nearest even integer (minimum 2), required for YUV buffers.
101
+ private func roundedDownToEven(_ value: CGFloat) -> CGFloat {
102
+ let floored = Int(value)
103
+ return CGFloat(max(floored - (floored % 2), 2))
104
+ }
96
105
  }