@stream-io/video-react-native-sdk 1.37.1-beta.0 → 1.38.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +33 -0
- package/android/src/main/java/com/streamvideo/reactnative/StreamVideoReactNativeModule.kt +0 -81
- package/dist/commonjs/hooks/index.js +0 -11
- package/dist/commonjs/hooks/index.js.map +1 -1
- package/dist/commonjs/modules/call-manager/CallManager.js +13 -0
- package/dist/commonjs/modules/call-manager/CallManager.js.map +1 -1
- package/dist/commonjs/providers/StreamCall/AudioInterruptionTracer.js +37 -0
- package/dist/commonjs/providers/StreamCall/AudioInterruptionTracer.js.map +1 -0
- package/dist/commonjs/providers/StreamCall/index.js +2 -1
- package/dist/commonjs/providers/StreamCall/index.js.map +1 -1
- package/dist/commonjs/utils/internal/callingx/callingx.js +2 -2
- package/dist/commonjs/utils/internal/callingx/callingx.js.map +1 -1
- package/dist/commonjs/utils/internal/registerSDKGlobals.js +16 -0
- package/dist/commonjs/utils/internal/registerSDKGlobals.js.map +1 -1
- package/dist/commonjs/utils/push/internal/ios.js +5 -0
- package/dist/commonjs/utils/push/internal/ios.js.map +1 -1
- package/dist/commonjs/version.js +1 -1
- package/dist/commonjs/version.js.map +1 -1
- package/dist/module/hooks/index.js +0 -1
- package/dist/module/hooks/index.js.map +1 -1
- package/dist/module/modules/call-manager/CallManager.js +13 -0
- package/dist/module/modules/call-manager/CallManager.js.map +1 -1
- package/dist/module/providers/StreamCall/AudioInterruptionTracer.js +30 -0
- package/dist/module/providers/StreamCall/AudioInterruptionTracer.js.map +1 -0
- package/dist/module/providers/StreamCall/index.js +2 -1
- package/dist/module/providers/StreamCall/index.js.map +1 -1
- package/dist/module/utils/internal/callingx/callingx.js +2 -2
- package/dist/module/utils/internal/callingx/callingx.js.map +1 -1
- package/dist/module/utils/internal/registerSDKGlobals.js +17 -1
- package/dist/module/utils/internal/registerSDKGlobals.js.map +1 -1
- package/dist/module/utils/push/internal/ios.js +5 -0
- package/dist/module/utils/push/internal/ios.js.map +1 -1
- package/dist/module/version.js +1 -1
- package/dist/module/version.js.map +1 -1
- package/dist/typescript/hooks/index.d.ts +0 -1
- package/dist/typescript/hooks/index.d.ts.map +1 -1
- package/dist/typescript/modules/call-manager/CallManager.d.ts +8 -1
- package/dist/typescript/modules/call-manager/CallManager.d.ts.map +1 -1
- package/dist/typescript/modules/call-manager/types.d.ts +6 -0
- package/dist/typescript/modules/call-manager/types.d.ts.map +1 -1
- package/dist/typescript/providers/StreamCall/AudioInterruptionTracer.d.ts +5 -0
- package/dist/typescript/providers/StreamCall/AudioInterruptionTracer.d.ts.map +1 -0
- package/dist/typescript/providers/StreamCall/index.d.ts.map +1 -1
- package/dist/typescript/utils/internal/registerSDKGlobals.d.ts.map +1 -1
- package/dist/typescript/utils/push/internal/ios.d.ts.map +1 -1
- package/dist/typescript/version.d.ts +1 -1
- package/dist/typescript/version.d.ts.map +1 -1
- package/ios/PictureInPicture/PictureInPictureAvatarView.swift +3 -1
- package/ios/PictureInPicture/StreamBufferTransformer.swift +13 -4
- package/ios/PictureInPicture/StreamPictureInPictureVideoRenderer.swift +79 -71
- package/ios/PictureInPicture/StreamRTCYUVBuffer.swift +20 -16
- package/ios/StreamInCallManager.swift +256 -81
- package/ios/StreamVideoReactNative-Bridging-Header.h +0 -2
- package/ios/StreamVideoReactNative.m +0 -81
- package/package.json +11 -11
- package/src/hooks/index.ts +0 -1
- package/src/modules/call-manager/CallManager.ts +25 -1
- package/src/modules/call-manager/types.ts +7 -0
- package/src/providers/StreamCall/AudioInterruptionTracer.tsx +51 -0
- package/src/providers/StreamCall/index.tsx +2 -0
- package/src/utils/internal/callingx/callingx.ts +2 -2
- package/src/utils/internal/registerSDKGlobals.ts +23 -1
- package/src/utils/push/internal/ios.ts +5 -0
- package/src/version.ts +1 -1
- package/android/src/main/java/com/streamvideo/reactnative/recorder/AudioPipeline.kt +0 -436
- package/android/src/main/java/com/streamvideo/reactnative/recorder/EncoderConstants.kt +0 -17
- package/android/src/main/java/com/streamvideo/reactnative/recorder/PipelineHost.kt +0 -36
- package/android/src/main/java/com/streamvideo/reactnative/recorder/RecorderPlaybackSamplesSink.kt +0 -60
- package/android/src/main/java/com/streamvideo/reactnative/recorder/RecorderVideoSink.kt +0 -31
- package/android/src/main/java/com/streamvideo/reactnative/recorder/TracksRecorderManager.kt +0 -329
- package/android/src/main/java/com/streamvideo/reactnative/recorder/VideoPipeline.kt +0 -472
- package/dist/commonjs/hooks/useLoopbackRecording.js +0 -243
- package/dist/commonjs/hooks/useLoopbackRecording.js.map +0 -1
- package/dist/module/hooks/useLoopbackRecording.js +0 -238
- package/dist/module/hooks/useLoopbackRecording.js.map +0 -1
- package/dist/typescript/hooks/useLoopbackRecording.d.ts +0 -85
- package/dist/typescript/hooks/useLoopbackRecording.d.ts.map +0 -1
- package/ios/TracksRecorder/AudioPipeline.swift +0 -270
- package/ios/TracksRecorder/PipelineHost.swift +0 -56
- package/ios/TracksRecorder/RecorderAudioRenderTap.swift +0 -154
- package/ios/TracksRecorder/RecorderVideoSink.swift +0 -137
- package/ios/TracksRecorder/TracksRecorderManager.swift +0 -327
- package/ios/TracksRecorder/VideoPipeline.swift +0 -297
- package/src/hooks/useLoopbackRecording.ts +0 -438
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,39 @@
|
|
|
2
2
|
|
|
3
3
|
This file was generated using [@jscutlery/semver](https://github.com/jscutlery/semver).
|
|
4
4
|
|
|
5
|
+
## [1.38.1](https://github.com/GetStream/stream-video-js/compare/@stream-io/video-react-native-sdk-1.38.0...@stream-io/video-react-native-sdk-1.38.1) (2026-06-12)
|
|
6
|
+
|
|
7
|
+
### Dependency Updates
|
|
8
|
+
|
|
9
|
+
- `@stream-io/react-native-callingx` updated to version `0.5.1`
|
|
10
|
+
- `@stream-io/video-client` updated to version `1.53.1`
|
|
11
|
+
- `@stream-io/video-react-bindings` updated to version `1.16.4`
|
|
12
|
+
|
|
13
|
+
### Bug Fixes
|
|
14
|
+
|
|
15
|
+
- avoid constraint warning log spam in iOS PiP ([ead822b](https://github.com/GetStream/stream-video-js/commit/ead822b2d12e5f09a14d8b179f1d6a49450b2491))
|
|
16
|
+
- **ios:** joining a call muted may break remote audio playout ([#2282](https://github.com/GetStream/stream-video-js/issues/2282)) ([dc672a6](https://github.com/GetStream/stream-video-js/commit/dc672a69971d6ca46648696c242609c687cb42d7))
|
|
17
|
+
|
|
18
|
+
## [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)
|
|
19
|
+
|
|
20
|
+
### Dependency Updates
|
|
21
|
+
|
|
22
|
+
- `@stream-io/noise-cancellation-react-native` updated to version `0.8.0`
|
|
23
|
+
- `@stream-io/react-native-callingx` updated to version `0.5.0`
|
|
24
|
+
- `@stream-io/video-filters-react-native` updated to version `0.13.0`
|
|
25
|
+
- `@stream-io/video-client` updated to version `1.53.0`
|
|
26
|
+
- `@stream-io/video-react-bindings` updated to version `1.16.3`
|
|
27
|
+
|
|
28
|
+
- 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))
|
|
29
|
+
|
|
30
|
+
### Features
|
|
31
|
+
|
|
32
|
+
- 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)
|
|
33
|
+
|
|
34
|
+
### Bug Fixes
|
|
35
|
+
|
|
36
|
+
- 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))
|
|
37
|
+
|
|
5
38
|
## [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
39
|
|
|
7
40
|
### Dependency Updates
|
|
@@ -25,10 +25,8 @@ import com.facebook.react.bridge.ReactContextBaseJavaModule
|
|
|
25
25
|
import com.facebook.react.bridge.ReactMethod
|
|
26
26
|
import com.facebook.react.bridge.WritableMap
|
|
27
27
|
import com.facebook.react.modules.core.DeviceEventManagerModule.RCTDeviceEventEmitter
|
|
28
|
-
import com.facebook.react.bridge.ReadableMap
|
|
29
28
|
import com.oney.WebRTCModule.WebRTCModule
|
|
30
29
|
import com.oney.WebRTCModule.WebRTCModuleOptions
|
|
31
|
-
import com.streamvideo.reactnative.recorder.TracksRecorderManager
|
|
32
30
|
import com.streamvideo.reactnative.screenshare.ScreenAudioCapture
|
|
33
31
|
import com.streamvideo.reactnative.keepalive.StreamCallKeepAliveHeadlessService
|
|
34
32
|
import com.streamvideo.reactnative.util.CallAlivePermissionsHelper
|
|
@@ -43,7 +41,6 @@ import kotlinx.coroutines.launch
|
|
|
43
41
|
import org.webrtc.VideoSink
|
|
44
42
|
import org.webrtc.VideoTrack
|
|
45
43
|
import java.io.ByteArrayOutputStream
|
|
46
|
-
import java.io.File
|
|
47
44
|
import kotlin.math.sin
|
|
48
45
|
|
|
49
46
|
|
|
@@ -609,86 +606,8 @@ class StreamVideoReactNativeModule(reactContext: ReactApplicationContext) :
|
|
|
609
606
|
}
|
|
610
607
|
}
|
|
611
608
|
|
|
612
|
-
// ── Track recorder bridge ────────────────────────────────────────────
|
|
613
|
-
|
|
614
|
-
@ReactMethod
|
|
615
|
-
fun startTrackRecording(options: ReadableMap, promise: Promise) {
|
|
616
|
-
val videoTrackId = if (options.hasKey("videoTrackId") && !options.isNull("videoTrackId")) {
|
|
617
|
-
options.getString("videoTrackId")
|
|
618
|
-
} else {
|
|
619
|
-
null
|
|
620
|
-
}
|
|
621
|
-
val maxDurationMs = if (options.hasKey("maxDurationMs") && !options.isNull("maxDurationMs")) {
|
|
622
|
-
options.getInt("maxDurationMs").toLong()
|
|
623
|
-
} else {
|
|
624
|
-
DEFAULT_RECORDING_DURATION_MS
|
|
625
|
-
}
|
|
626
|
-
val targetWidth = if (options.hasKey("targetWidth") && !options.isNull("targetWidth")) {
|
|
627
|
-
options.getInt("targetWidth")
|
|
628
|
-
} else {
|
|
629
|
-
0
|
|
630
|
-
}
|
|
631
|
-
val targetHeight = if (options.hasKey("targetHeight") && !options.isNull("targetHeight")) {
|
|
632
|
-
options.getInt("targetHeight")
|
|
633
|
-
} else {
|
|
634
|
-
0
|
|
635
|
-
}
|
|
636
|
-
|
|
637
|
-
val webRTCModule = reactApplicationContext.getNativeModule(WebRTCModule::class.java)
|
|
638
|
-
if (webRTCModule == null) {
|
|
639
|
-
promise.reject(RECORDING_ERROR_CODE, "WebRTCModule not available")
|
|
640
|
-
return
|
|
641
|
-
}
|
|
642
|
-
|
|
643
|
-
TracksRecorderManager.shared.startRecording(
|
|
644
|
-
context = reactApplicationContext,
|
|
645
|
-
webRTCModule = webRTCModule,
|
|
646
|
-
videoTrackId = videoTrackId,
|
|
647
|
-
maxDurationMs = maxDurationMs,
|
|
648
|
-
targetWidth = targetWidth,
|
|
649
|
-
targetHeight = targetHeight,
|
|
650
|
-
) { file, error ->
|
|
651
|
-
if (error != null) {
|
|
652
|
-
promise.reject(RECORDING_ERROR_CODE, error.message ?: "recording failed", error)
|
|
653
|
-
} else {
|
|
654
|
-
promise.resolve(file?.let { "file://${it.absolutePath}" })
|
|
655
|
-
}
|
|
656
|
-
}
|
|
657
|
-
}
|
|
658
|
-
|
|
659
|
-
@ReactMethod
|
|
660
|
-
fun stopTrackRecording(promise: Promise) {
|
|
661
|
-
TracksRecorderManager.shared.stopRecording {
|
|
662
|
-
promise.resolve(null)
|
|
663
|
-
}
|
|
664
|
-
}
|
|
665
|
-
|
|
666
|
-
@ReactMethod
|
|
667
|
-
fun clearStreamRecordings(promise: Promise) {
|
|
668
|
-
TracksRecorderManager.shared.clearRecordingsDirectory(reactApplicationContext) { error ->
|
|
669
|
-
if (error != null) {
|
|
670
|
-
promise.reject(RECORDING_CLEAR_ERROR_CODE, error.message ?: "clear failed", error)
|
|
671
|
-
} else {
|
|
672
|
-
promise.resolve(null)
|
|
673
|
-
}
|
|
674
|
-
}
|
|
675
|
-
}
|
|
676
|
-
|
|
677
|
-
@ReactMethod
|
|
678
|
-
fun getStreamRecordings(promise: Promise) {
|
|
679
|
-
val files: List<File> = TracksRecorderManager.shared.listRecordings(reactApplicationContext)
|
|
680
|
-
val arr = Arguments.createArray()
|
|
681
|
-
for (f in files) {
|
|
682
|
-
arr.pushString("file://${f.absolutePath}")
|
|
683
|
-
}
|
|
684
|
-
promise.resolve(arr)
|
|
685
|
-
}
|
|
686
|
-
|
|
687
609
|
companion object {
|
|
688
610
|
private const val NAME = "StreamVideoReactNative"
|
|
689
611
|
private const val SAMPLE_RATE = 22050
|
|
690
|
-
private const val DEFAULT_RECORDING_DURATION_MS = 5000L
|
|
691
|
-
private const val RECORDING_ERROR_CODE = "recording_error"
|
|
692
|
-
private const val RECORDING_CLEAR_ERROR_CODE = "clear_error"
|
|
693
612
|
}
|
|
694
613
|
}
|
|
@@ -102,17 +102,6 @@ Object.keys(_useScreenShareAudioMixing).forEach(function (key) {
|
|
|
102
102
|
}
|
|
103
103
|
});
|
|
104
104
|
});
|
|
105
|
-
var _useLoopbackRecording = require("./useLoopbackRecording");
|
|
106
|
-
Object.keys(_useLoopbackRecording).forEach(function (key) {
|
|
107
|
-
if (key === "default" || key === "__esModule") return;
|
|
108
|
-
if (key in exports && exports[key] === _useLoopbackRecording[key]) return;
|
|
109
|
-
Object.defineProperty(exports, key, {
|
|
110
|
-
enumerable: true,
|
|
111
|
-
get: function () {
|
|
112
|
-
return _useLoopbackRecording[key];
|
|
113
|
-
}
|
|
114
|
-
});
|
|
115
|
-
});
|
|
116
105
|
var _useTrackDimensions = require("./useTrackDimensions");
|
|
117
106
|
Object.keys(_useTrackDimensions).forEach(function (key) {
|
|
118
107
|
if (key === "default" || key === "__esModule") return;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_usePermissionRequest","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get","_usePermissionNotification","_push","_useAndroidKeepCallAliveEffect","_useIsIosScreenshareBroadcastStarted","_useIsInPiPMode","_useAutoEnterPiPEffect","_useScreenShareButton","_useScreenShareAudioMixing","
|
|
1
|
+
{"version":3,"names":["_usePermissionRequest","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get","_usePermissionNotification","_push","_useAndroidKeepCallAliveEffect","_useIsIosScreenshareBroadcastStarted","_useIsInPiPMode","_useAutoEnterPiPEffect","_useScreenShareButton","_useScreenShareAudioMixing","_useTrackDimensions","_useScreenshot","_useModeration"],"sourceRoot":"../../../src","sources":["hooks/index.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -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":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;
|
|
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":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AAMA,IAAAC,SAAA,GAAAD,OAAA;AACA,IAAAE,YAAA,GAAAF,OAAA;AAEA,MAAMG,aAAa,GAAGC,0BAAa,CAACC,mBAAmB;AACvD,MAAMC,cAAc,GAAG,IAAAC,mCAAyB,EAAC,CAAC;AAClD,MAAMC,wBAAwB,GAAG,sCAAsC;AAEvE,MAAMC,SAAS,GAAGA,CAACC,SAAkB,EAAEC,OAAe,KAAK;EACzD,IAAI,CAACD,SAAS,EAAE,MAAM,IAAIE,KAAK,CAACD,OAAO,CAAC;AAC1C,CAAC;AAED,MAAME,kBAAkB,CAAC;EAGvB;AACF;AACA;EACEC,oBAAoB,GAAG,MAAAA,CAAA,KAAwC;IAC7DL,SAAS,CAACM,qBAAQ,CAACC,EAAE,KAAK,SAAS,EAAE,2BAA2B,CAAC;IACjE,OAAOb,aAAa,CAACW,oBAAoB,CAAC,CAAC;EAC7C,CAAC;;EAED;AACF;AACA;AACA;AACA;EACEG,iBAAiB,GAAIC,YAAoB,IAAW;IAClDT,SAAS,CAACM,qBAAQ,CAACC,EAAE,KAAK,SAAS,EAAE,2BAA2B,CAAC;IACjEb,aAAa,CAACgB,yBAAyB,CAACD,YAAY,CAAC;EACvD,CAAC;;EAED;AACF;AACA;AACA;EACEE,4BAA4B,GAC1BC,QAAwD,IACvC;IACjBZ,SAAS,CAACM,qBAAQ,CAACC,EAAE,KAAK,SAAS,EAAE,2BAA2B,CAAC;IACjE,IAAI,CAACM,YAAY,KAAK,IAAIC,+BAAkB,CAACpB,aAAa,CAAC;IAC3D,MAAMqB,CAAC,GAAG,IAAI,CAACF,YAAY,CAACG,WAAW,CAAC,sBAAsB,EAAEJ,QAAQ,CAAC;IACzE,OAAO,MAAMG,CAAC,CAACE,MAAM,CAAC,CAAC;EACzB,CAAC;AACH;AAEA,MAAMC,cAAc,CAAC;EAGnB;AACF;AACA;EACEC,kBAAkB,GAAGA,CAAA,KAAY;IAC/BnB,SAAS,CAACM,qBAAQ,CAACC,EAAE,KAAK,KAAK,EAAE,uBAAuB,CAAC;IACzDb,aAAa,CAAC0B,oBAAoB,CAAC,CAAC;EACtC,CAAC;;EAED;AACF;AACA;AACA;AACA;EACEC,4BAA4B,GAC1BC,cAA0D,IACzC;IACjBtB,SAAS,CAACM,qBAAQ,CAACC,EAAE,KAAK,KAAK,EAAE,uBAAuB,CAAC;IACzD,IAAI,CAACM,YAAY,KAAK,IAAIC,+BAAkB,CAACpB,aAAa,CAAC;IAC3D,MAAMqB,CAAC,GAAG,IAAI,CAACF,YAAY,CAACG,WAAW,CACrCjB,wBAAwB,EACxBuB,cACF,CAAC;IACD,OAAO,MAAMP,CAAC,CAACE,MAAM,CAAC,CAAC;EACzB,CAAC;AACH;AAEA,MAAMM,cAAc,CAAC;EACnB;AACF;AACA;EACEC,OAAO,GAAIC,IAAa,IAAW;IACjC,IAAIA,IAAI,EAAE;MACR/B,aAAa,CAACgC,eAAe,CAAC,CAAC;IACjC,CAAC,MAAM;MACLhC,aAAa,CAACiC,iBAAiB,CAAC,CAAC;IACnC;EACF,CAAC;;EAED;AACF;AACA;EACEC,sBAAsB,GAAIC,KAAc,IAAW;IACjDnC,aAAa,CAACkC,sBAAsB,CAACC,KAAK,CAAC;EAC7C,CAAC;AACH;AAEA,MAAMC,sBAAsB,GAAGA,CAAA,KAAe;EAC5C,IAAIxB,qBAAQ,CAACC,EAAE,KAAK,KAAK,EAAE;IACzB,OAAO,KAAK;EACd;EACA,IAAI,CAACV,cAAc,EAAE;IACnB,OAAO,KAAK;EACd;EACA,OACEA,cAAc,CAACkC,OAAO,KACrBlC,cAAc,CAACmC,iBAAiB,CAAC,CAAC,IAAInC,cAAc,CAACoC,qBAAqB,CAAC;AAEhF,CAAC;AAEM,MAAMC,WAAW,CAAC;EACvBC,OAAO,GAAG,IAAI/B,kBAAkB,CAAC,CAAC;EAClCgC,GAAG,GAAG,IAAIlB,cAAc,CAAC,CAAC;EAC1BmB,OAAO,GAAG,IAAId,cAAc,CAAC,CAAC;;EAE9B;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACEe,KAAK,GAAIC,MAAkC,IAAW;IACpD,IAAIT,sBAAsB,CAAC,CAAC,EAAE;MAC5B;MACA;MACA,IAAIS,MAAM,EAAEC,SAAS,KAAK,cAAc,IAAI3C,cAAc,EAAE;QAC1D,MAAM4C,IAAI,GAAGF,MAAM,CAACG,kBAAkB,IAAI,SAAS;QACnD7C,cAAc,CAAC8C,iCAAiC,CAACF,IAAI,CAAC;MACxD;MACAG,8BAAiB,CACdC,SAAS,CAAC,aAAa,CAAC,CACxBC,KAAK,CACJ,gEACF,CAAC;MACH;IACF;IACApD,aAAa,CAACqD,YAAY,CAACR,MAAM,EAAEC,SAAS,IAAI,cAAc,CAAC;IAC/D,IAAID,MAAM,EAAEC,SAAS,KAAK,cAAc,EAAE;MACxC,MAAMC,IAAI,GAAGF,MAAM,CAACG,kBAAkB,IAAI,SAAS;MACnDhD,aAAa,CAACiD,iCAAiC,CAACF,IAAI,CAAC;IACvD;IACA,IAAIF,MAAM,EAAEC,SAAS,KAAK,UAAU,IAAID,MAAM,CAACS,uBAAuB,EAAE;MACtEtD,aAAa,CAACuD,0BAA0B,CAAC,IAAI,CAAC;IAChD;IACAvD,aAAa,CAAC4C,KAAK,CAAC,CAAC;EACvB,CAAC;;EAED;AACF;AACA;EACEY,IAAI,GAAGA,CAAA,KAAY;IACjB,IAAIpB,sBAAsB,CAAC,CAAC,EAAE;MAC5Bc,8BAAiB,CACdC,SAAS,CAAC,aAAa,CAAC,CACxBC,KAAK,CAAC,8DAA8D,CAAC;MACxE;IACF;IACApD,aAAa,CAACwD,IAAI,CAAC,CAAC;EACtB,CAAC;;EAED;AACF;AACA;AACA;EACEC,aAAa,GAAGA,CAAA,KAAYzD,aAAa,CAACyD,aAAa,CAAC,CAAC;;EAEzD;AACF;AACA;AACA;EACEC,gBAAgB,GAAGA,CAAA,KAAc1D,aAAa,CAAC0D,gBAAgB,CAAC,CAAC;AACnE;AAACC,OAAA,CAAAnB,WAAA,GAAAA,WAAA","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":";;;;;;AAAA,IAAAA,mBAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAC,uBAAA,CAAAF,OAAA;AAEA,IAAAG,MAAA,GAAAH,OAAA;AACA,IAAAI,8BAAA,GAAAJ,OAAA;AACA,IAAAK,0BAAA,GAAAL,OAAA;AACA,IAAAM,iBAAA,GAAAN,OAAA;AACA,IAAAO,YAAA,GAAAP,OAAA;AACA,IAAAQ,
|
|
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":[]}
|
|
@@ -44,7 +44,7 @@ function getCallDisplayNameFromCall(call) {
|
|
|
44
44
|
return call.state.custom?.display_name ?? getCallDisplayName(call.state.members, call.state.participants, call.currentUserId);
|
|
45
45
|
}
|
|
46
46
|
async function registerOutgoingCall(call) {
|
|
47
|
-
if (!CallingxModule || !CallingxModule.isSetup
|
|
47
|
+
if (!CallingxModule || !CallingxModule.isSetup) {
|
|
48
48
|
return;
|
|
49
49
|
}
|
|
50
50
|
const isOutcomingCall = call.ringing && call.isCreatedByMe;
|
|
@@ -77,7 +77,7 @@ async function registerOutgoingCall(call) {
|
|
|
77
77
|
* 3. Optionally for non-ringing calls also when ongoing calls are enabled.
|
|
78
78
|
*/
|
|
79
79
|
async function joinCallingxCall(call, activeCalls) {
|
|
80
|
-
if (!CallingxModule || !CallingxModule.isSetup
|
|
80
|
+
if (!CallingxModule || !CallingxModule.isSetup) {
|
|
81
81
|
return;
|
|
82
82
|
}
|
|
83
83
|
const logger = _videoClient.videoLoggerSystem.getLogger('callingx');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_reactNative","require","_callingx","_audioSessionPromise","_videoClient","CallingxModule","getCallingxLibIfAvailable","getCallDisplayName","callMembers","participants","currentUserId","names","length","filter","member","user","id","map","name","undefined","participant","userId","Boolean","find","sort","join","getCallDisplayNameFromCall","call","state","custom","display_name","members","registerOutgoingCall","isSetup","
|
|
1
|
+
{"version":3,"names":["_reactNative","require","_callingx","_audioSessionPromise","_videoClient","CallingxModule","getCallingxLibIfAvailable","getCallDisplayName","callMembers","participants","currentUserId","names","length","filter","member","user","id","map","name","undefined","participant","userId","Boolean","find","sort","join","getCallDisplayNameFromCall","call","state","custom","display_name","members","registerOutgoingCall","isSetup","isOutcomingCall","ringing","isCreatedByMe","logger","videoLoggerSystem","getLogger","debug","cid","callDisplayName","startCall","createdBy","settings","video","enabled","error","joinCallingxCall","activeCalls","isIncomingCall","startCallInCallingx","Platform","OS","waitForAudioSessionActivation","isOngoingCallsEnabled","activeCallsToLeave","c","callingState","CallingState","LEFT","activeCall","leave","reason","catch","e","displayIncomingCall","answerIncomingCall","endCallingxCall","isCallTracked","endCallWithReason"],"sourceRoot":"../../../../../src","sources":["utils/internal/callingx/callingx.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -73,6 +73,22 @@ const streamRNVideoSDKGlobals = {
|
|
|
73
73
|
return;
|
|
74
74
|
}
|
|
75
75
|
StreamInCallManagerNativeModule.stop();
|
|
76
|
+
},
|
|
77
|
+
// iOS-only. Keep the AVAudioEngine mic-input (voice-processing) chain
|
|
78
|
+
// prepared while muted so the engine stays full-duplex and remote audio
|
|
79
|
+
// renders when joining muted. Intentionally NOT gated by
|
|
80
|
+
// `shouldBypassForCallKit`: it acts on the shared `RTCAudioDeviceModule`, so
|
|
81
|
+
// it must run for both the StreamInCallManager and CallKit/callingx paths.
|
|
82
|
+
setMutedRecordingPrepared: enabled => {
|
|
83
|
+
if (_reactNative.Platform.OS !== 'ios') {
|
|
84
|
+
return;
|
|
85
|
+
}
|
|
86
|
+
if (enabled) {
|
|
87
|
+
// Mute via the voice-processing unit (it's the default, fail safe config here) so the input chain
|
|
88
|
+
// stays built while muted, rather than tearing the engine down.
|
|
89
|
+
_reactNativeWebrtc.AudioDeviceModule.setMuteMode(_reactNativeWebrtc.AudioEngineMuteMode.VoiceProcessing).catch(() => {});
|
|
90
|
+
}
|
|
91
|
+
_reactNativeWebrtc.AudioDeviceModule.setRecordingAlwaysPreparedMode(enabled).catch(() => {});
|
|
76
92
|
}
|
|
77
93
|
},
|
|
78
94
|
permissions: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_reactNative","require","_reactNativeWebrtc","_callingx","_callingx2","StreamInCallManagerNativeModule","NativeModules","StreamInCallManager","StreamVideoReactNativeModule","StreamVideoReactNative","CallingxModule","getCallingxLibIfAvailable","shouldBypassForCallKit","isRingingTypeCall","Platform","OS","bypass","isSetup","isOngoingCallsEnabled","streamRNVideoSDKGlobals","callingX","joinCall","joinCallingxCall","endCall","endCallingxCall","registerOutgoingCall","callManager","setup","defaultDevice","setDefaultAudioDeviceEndpointType","start","stop","permissions","check","permission","nativeAndroidPermission","PermissionsAndroid","PERMISSIONS","CAMERA","RECORD_AUDIO","Boolean","checkPermission","nativeEvents","speechActivity","subscribe","cb","subscription","audioDeviceModuleEvents","addSpeechActivityListener","data","isSoundDetected","event","remove","registerSDKGlobals","global","streamRNVideoSDK"],"sourceRoot":"../../../../src","sources":["utils/internal/registerSDKGlobals.ts"],"mappings":";;;;;;AACA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,kBAAA,GAAAD,OAAA;
|
|
1
|
+
{"version":3,"names":["_reactNative","require","_reactNativeWebrtc","_callingx","_callingx2","StreamInCallManagerNativeModule","NativeModules","StreamInCallManager","StreamVideoReactNativeModule","StreamVideoReactNative","CallingxModule","getCallingxLibIfAvailable","shouldBypassForCallKit","isRingingTypeCall","Platform","OS","bypass","isSetup","isOngoingCallsEnabled","streamRNVideoSDKGlobals","callingX","joinCall","joinCallingxCall","endCall","endCallingxCall","registerOutgoingCall","callManager","setup","defaultDevice","setDefaultAudioDeviceEndpointType","start","stop","setMutedRecordingPrepared","enabled","AudioDeviceModule","setMuteMode","AudioEngineMuteMode","VoiceProcessing","catch","setRecordingAlwaysPreparedMode","permissions","check","permission","nativeAndroidPermission","PermissionsAndroid","PERMISSIONS","CAMERA","RECORD_AUDIO","Boolean","checkPermission","nativeEvents","speechActivity","subscribe","cb","subscription","audioDeviceModuleEvents","addSpeechActivityListener","data","isSoundDetected","event","remove","registerSDKGlobals","global","streamRNVideoSDK"],"sourceRoot":"../../../../src","sources":["utils/internal/registerSDKGlobals.ts"],"mappings":";;;;;;AACA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,kBAAA,GAAAD,OAAA;AAKA,IAAAE,SAAA,GAAAF,OAAA;AACA,IAAAG,UAAA,GAAAH,OAAA;AAMA,MAAMI,+BAA+B,GAAGC,0BAAa,CAACC,mBAAmB;AACzE,MAAMC,4BAA4B,GAAGF,0BAAa,CAACG,sBAElD;AAED,MAAMC,cAAc,GAAG,IAAAC,mCAAyB,EAAC,CAAC;;AAElD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMC,sBAAsB,GAAGA,CAAC;EAC9BC;AAGF,CAAC,KAAc;EACb,IAAIC,qBAAQ,CAACC,EAAE,KAAK,KAAK,EAAE;IACzB,OAAO,KAAK;EACd;EACA,IAAI,CAACL,cAAc,EAAE;IACnB,OAAO,KAAK;EACd;EACA,MAAMM,MAAM,GACVN,cAAc,CAACO,OAAO,KACrBJ,iBAAiB,IAAIH,cAAc,CAACQ,qBAAqB,CAAC;EAC7D,OAAOF,MAAM;AACf,CAAC;AAED,MAAMG,uBAAgD,GAAG;EACvDC,QAAQ,EAAE;IACRC,QAAQ,EAAEC,2BAAgB;IAC1BC,OAAO,EAAEC,0BAAe;IACxBC,oBAAoB,EAAEA;EACxB,CAAC;EACDC,WAAW,EAAE;IACXC,KAAK,EAAEA,CAAC;MAAEC,aAAa;MAAEf;IAAkB,CAAC,KAAK;MAC/C,IAAID,sBAAsB,CAAC;QAAEC;MAAkB,CAAC,CAAC,EAAE;QACjD;QACAH,cAAc,EAAEmB,iCAAiC,CAACD,aAAa,CAAC;QAChE;MACF;MACAvB,+BAA+B,CAACwB,iCAAiC,CAC/DD,aACF,CAAC;MACDvB,+BAA+B,CAACsB,KAAK,CAAC,CAAC;IACzC,CAAC;IACDG,KAAK,EAAEA,CAAC;MAAEjB;IAAkB,CAAC,KAAK;MAChC,IAAID,sBAAsB,CAAC;QAAEC;MAAkB,CAAC,CAAC,EAAE;QACjD;MACF;MACAR,+BAA+B,CAACyB,KAAK,CAAC,CAAC;IACzC,CAAC;IACDC,IAAI,EAAEA,CAAC;MAAElB;IAAkB,CAAC,KAAK;MAC/B,IAAID,sBAAsB,CAAC;QAAEC;MAAkB,CAAC,CAAC,EAAE;QACjD;MACF;MACAR,+BAA+B,CAAC0B,IAAI,CAAC,CAAC;IACxC,CAAC;IACD;IACA;IACA;IACA;IACA;IACAC,yBAAyB,EAAGC,OAAO,IAAK;MACtC,IAAInB,qBAAQ,CAACC,EAAE,KAAK,KAAK,EAAE;QACzB;MACF;MACA,IAAIkB,OAAO,EAAE;QACX;QACA;QACAC,oCAAiB,CAACC,WAAW,CAC3BC,sCAAmB,CAACC,eACtB,CAAC,CAACC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;MACnB;MACAJ,oCAAiB,CAACK,8BAA8B,CAACN,OAAO,CAAC,CAACK,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;IAC3E;EACF,CAAC;EACDE,WAAW,EAAE;IACXC,KAAK,EAAE,MAAOC,UAAU,IAAK;MAC3B,IAAI5B,qBAAQ,CAACC,EAAE,KAAK,SAAS,EAAE;QAC7B,MAAM4B,uBAAuB,GAC3BD,UAAU,KAAK,QAAQ,GACnBE,+BAAkB,CAACC,WAAW,CAACC,MAAM,GACrCF,+BAAkB,CAACC,WAAW,CAACE,YAAY;QACjD,OAAOH,+BAAkB,CAACH,KAAK,CAACE,uBAAuB,CAAC;MAC1D;;MAEA;MACA,OAAOK,OAAO,CACZ,MAAMxC,4BAA4B,CAACyC,eAAe,GAAGP,UAAU,CACjE,CAAC;IACH;EACF,CAAC;EACDQ,YAAY,EAAE;IACZC,cAAc,EAAE;MACdC,SAASA,CAACC,EAAE,EAAE;QACZ,MAAMC,YAAY,GAAGC,0CAAuB,CAACC,yBAAyB,CACnEC,IAAI,IAAK;UACRJ,EAAE,CAAC;YAAEK,eAAe,EAAED,IAAI,CAACE,KAAK,KAAK;UAAU,CAAC,CAAC;QACnD,CACF,CAAC;QACD,OAAO,MAAML,YAAY,CAACM,MAAM,CAAC,CAAC;MACpC;IACF;EACF;AACF,CAAC;;AAED;AACA;AACA;AACO,SAASC,kBAAkBA,CAAA,EAAG;EACnC,IAAI,CAACC,MAAM,CAACC,gBAAgB,EAAE;IAC5BD,MAAM,CAACC,gBAAgB,GAAG5C,uBAAuB;EACnD;AACF","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":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAEA,IAAAE,SAAA,GAAAF,OAAA;AACA,IAAAG,UAAA,GAAAH,OAAA;AACA,IAAAI,MAAA,GAAAJ,OAAA;AAEO,MAAMK,0BAA0B,GAAG,MAAAA,CACxCC,YAAiB,EACjBC,UAAkD,KAC/C;EACH;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACE,MAAMC,MAAM,GAAGC,8BAAiB,CAACC,SAAS,CACxC,uCACF,CAAC;EAED,MAAMC,MAAM,GAAGL,YAAY,EAAEM,MAAM,EAAED,MAAM;EAC3C,MAAME,IAAI,GAAGP,YAAY,EAAEM,MAAM,EAAEC,IAAI;EACvC;EACA,IAAIF,MAAM,KAAK,cAAc,IAAIE,IAAI,KAAK,WAAW,EAAE;IACrD;EACF;EAEA,MAAMC,QAAQ,GAAGR,YAAY,EAAEM,MAAM,EAAEE,QAAQ;EAC/C,IAAI,CAACA,QAAQ,IAAIC,qBAAQ,CAACC,EAAE,KAAK,KAAK,IAAI,CAACT,UAAU,CAACU,GAAG,EAAEC,gBAAgB,EAAE;IAC3E;EACF;EAEA,MAAMC,QAAQ,GAAG,IAAAC,wBAAc,EAAC,CAAC;EACjC,IAAIC,sCAA2B,CAACC,GAAG,CAACR,QAAQ,CAAC,EAAE;IAC7CN,MAAM,CAACe,KAAK,CACV,qBAAqBT,QAAQ,gEAC/B,CAAC;IACD;EACF;EAEA,MAAMU,MAAM,GAAG,MAAMjB,UAAU,CAACkB,uBAAuB,CAAC,CAAC;EACzD,IAAI,CAACD,MAAM,EAAE;IACXhB,MAAM,CAACe,KAAK,CACV,mEACF,CAAC;IACD;EACF;EAEA,MAAMG,YAAY,GAAG,MAAMF,MAAM,CAACG,aAAa,CAACb,QAAQ,CAAC;EAEzD,SAASc,oBAAoBA,CAAA,EAAG;IAC9B,MAAM;MAAEC,WAAW;MAAEC;IAAc,CAAC,GAAG,IAAAC,yBAAkB,EACvDL,YAAY,EACZpB,YAAY,EAAEM,MAChB,CAAC;IACD,IAAIiB,WAAW,EAAE;MACfrB,MAAM,CAACe,KAAK,CACV,4CAA4CT,QAAQ,mBAAmBgB,aAAa,EACtF,CAAC;MACDX,QAAQ,CAACa,iBAAiB,CAAClB,QAAQ,EAAEgB,aAAa,CAAC;
|
|
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":[]}
|
package/dist/commonjs/version.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["version","exports"],"sourceRoot":"../../src","sources":["version.ts"],"mappings":";;;;;;AAAO,MAAMA,OAAO,GAAAC,OAAA,CAAAD,OAAA,GAAG,
|
|
1
|
+
{"version":3,"names":["version","exports"],"sourceRoot":"../../src","sources":["version.ts"],"mappings":";;;;;;AAAO,MAAMA,OAAO,GAAAC,OAAA,CAAAD,OAAA,GAAG,QAAQ","ignoreList":[]}
|
|
@@ -7,7 +7,6 @@ export * from './useIsInPiPMode';
|
|
|
7
7
|
export * from './useAutoEnterPiPEffect';
|
|
8
8
|
export * from './useScreenShareButton';
|
|
9
9
|
export * from './useScreenShareAudioMixing';
|
|
10
|
-
export * from './useLoopbackRecording';
|
|
11
10
|
export * from './useTrackDimensions';
|
|
12
11
|
export * from './useScreenshot';
|
|
13
12
|
export * from './useModeration';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":[],"sourceRoot":"../../../src","sources":["hooks/index.ts"],"mappings":"AAAA,cAAc,wBAAwB;AACtC,cAAc,6BAA6B;AAC3C,cAAc,QAAQ;AACtB,cAAc,iCAAiC;AAC/C,cAAc,uCAAuC;AACrD,cAAc,kBAAkB;AAChC,cAAc,yBAAyB;AACvC,cAAc,wBAAwB;AACtC,cAAc,6BAA6B;AAC3C,cAAc,
|
|
1
|
+
{"version":3,"names":[],"sourceRoot":"../../../src","sources":["hooks/index.ts"],"mappings":"AAAA,cAAc,wBAAwB;AACtC,cAAc,6BAA6B;AAC3C,cAAc,QAAQ;AACtB,cAAc,iCAAiC;AAC/C,cAAc,uCAAuC;AACrD,cAAc,kBAAkB;AAChC,cAAc,yBAAyB;AACvC,cAAc,wBAAwB;AACtC,cAAc,6BAA6B;AAC3C,cAAc,sBAAsB;AACpC,cAAc,iBAAiB;AAC/B,cAAc,iBAAiB","ignoreList":[]}
|
|
@@ -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":"AAAA,SAASA,kBAAkB,EAAEC,aAAa,EAAEC,QAAQ,QAAQ,cAAc;
|
|
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
|
/**
|