Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
54 commits
Select commit Hold shift + click to select a range
6cb9ced
feat: ios audio switch
santhoshvai Jun 18, 2025
caf3e7c
move the main thread stuff to utils method
santhoshvai Jun 23, 2025
a7edeac
add android device listing method
santhoshvai Jun 25, 2025
b3e0987
init android module
santhoshvai Jun 27, 2025
fc7b3f8
remove existing in call manager
santhoshvai Jun 27, 2025
845fdc8
remove testing code
santhoshvai Jun 30, 2025
e48084c
add android switching
santhoshvai Jun 30, 2025
2e3f356
fix: do not show all bt devices on android 11 and below
santhoshvai Jul 2, 2025
5993f27
reformatting of files
santhoshvai Jul 3, 2025
0995cba
wip: mute and unmute android
santhoshvai Jul 8, 2025
37cc418
Merge branch 'main' into audio-sdk-impl
santhoshvai Jul 24, 2025
2ba7caf
wip audio modes
santhoshvai Jul 25, 2025
c3c0cb5
Merge branch 'main' into audio-sdk-impl
santhoshvai Jul 28, 2025
fabe824
minor: removal of unused refs
santhoshvai Jul 28, 2025
0deb81e
android v1
santhoshvai Jul 31, 2025
f327a8b
Merge branch 'main' into audio-sdk-impl
santhoshvai Aug 4, 2025
278c5a4
fix compilatior error
santhoshvai Aug 4, 2025
e4012d7
Merge branch 'main' into audio-sdk-impl
santhoshvai Aug 6, 2025
141a9df
fix: listener creation before js bridge being ready
santhoshvai Aug 6, 2025
26773fd
chore: best to not create listener before js bridge being ready
santhoshvai Aug 6, 2025
51f13cb
Merge branch 'main' into audio-sdk-impl
santhoshvai Aug 7, 2025
9837612
feat: add iOS support
santhoshvai Aug 7, 2025
5764fec
fix: viewer livestream issues
santhoshvai Aug 8, 2025
c8fcd6b
add incallmanager to livestream
santhoshvai Aug 8, 2025
8736323
wip ios
santhoshvai Aug 8, 2025
c8e35d8
fix: dimensions in live stream
santhoshvai Aug 8, 2025
7d26cd7
add more log
santhoshvai Aug 12, 2025
80157e1
fix typo
santhoshvai Aug 12, 2025
50039ad
remove method
santhoshvai Aug 15, 2025
2a9039f
last addition for listener mode
santhoshvai Aug 18, 2025
0873f4d
render swithc drawer only on android
santhoshvai Aug 18, 2025
6ade133
add lib detector
santhoshvai Aug 18, 2025
75d9f5d
prev lib detection addtion
santhoshvai Aug 18, 2025
9dbcfdf
wip api changes after docs
santhoshvai Aug 21, 2025
f97e00c
renamed to StreamInCallManagerModule
santhoshvai Sep 8, 2025
6abe090
wip - mute or unmute for ios
santhoshvai Sep 9, 2025
b38f735
move to using own mute and unmute for livestream
santhoshvai Sep 9, 2025
ec2e804
update webrtc
santhoshvai Sep 9, 2025
c68ef73
Merge remote-tracking branch 'origin/main' into audio-sdk-impl
santhoshvai Sep 10, 2025
9af0247
fix: android audio attributes setting
santhoshvai Sep 11, 2025
e097568
chore: lint fixes and unnecessary change removals
santhoshvai Sep 12, 2025
84fb94c
update the webrtc version
santhoshvai Sep 15, 2025
1a1adaa
Merge remote-tracking branch 'origin/main' into audio-sdk-impl
santhoshvai Oct 1, 2025
927a221
ios cleanup
santhoshvai Oct 2, 2025
cbcc80b
duplicate static method removed
santhoshvai Oct 2, 2025
d3b7d3c
fix: no need of json parsing let rn bridge do it
santhoshvai Oct 3, 2025
e16d101
improve the API
oliverlaz Oct 3, 2025
896b8af
improve js-docs
oliverlaz Oct 6, 2025
b2b878f
handle participant volume better, expose forceSpeakerphoneOn
oliverlaz Oct 6, 2025
a2bcc7b
Merge branch 'main' into audio-sdk-impl
oliverlaz Oct 6, 2025
831095f
ensure "onAudioChanged" event fires on Android
oliverlaz Oct 7, 2025
06e2100
ensure "onAudioChanged" event fires on Android
oliverlaz Oct 7, 2025
a105f1d
ensure the "onAudioChanged" event fires when the device list changes
oliverlaz Oct 7, 2025
6966a52
reorganize
oliverlaz Oct 7, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 9 additions & 6 deletions packages/client/src/devices/SpeakerManager.ts
Original file line number Diff line number Diff line change
Expand Up @@ -113,14 +113,17 @@ export class SpeakerManager {
* @param volume a number between 0 and 1. Set it to `undefined` to use the default volume.
*/
setParticipantVolume(sessionId: string, volume: number | undefined) {
if (isReactNative()) {
throw new Error(
'This feature is not supported in React Native. Please visit https://getstream.io/video/docs/reactnative/core/camera-and-microphone/#speaker-management for more details',
);
}
if (volume && (volume < 0 || volume > 1)) {
throw new Error('Volume must be between 0 and 1, or undefined');
}
this.call.state.updateParticipant(sessionId, { audioVolume: volume });
this.call.state.updateParticipant(sessionId, (p) => {
if (isReactNative() && p.audioStream) {
for (const track of p.audioStream.getAudioTracks()) {
// @ts-expect-error track._setVolume is present in react-native-webrtc
track?._setVolume(volume);
}
}
return { audioVolume: volume };
});
}
}
13 changes: 13 additions & 0 deletions packages/noise-cancellation-react-native/android/build.gradle
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

unrelevant to this PR, but i found this small optimisation while doing webrtc snapsots myself

Original file line number Diff line number Diff line change
Expand Up @@ -79,6 +79,19 @@ rootProject.allprojects {
}
}

rootProject.allprojects {
repositories {
maven {
name = 'Central Sonatype Portal Snapshots'
url = 'https://oss.sonatype.org/content/repositories/snapshots/'
content {
// This efficiently tells Gradle to only look for this specific dependency here
includeModule('io.getstream', 'stream-video-android-noise-cancellation')
}
}
}
}

repositories {
mavenCentral()
google()
Expand Down

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -82,6 +82,7 @@ class StreamVideoReactNativeModule(reactContext: ReactApplicationContext) :
})
}


@ReactMethod
fun getDefaultRingtoneUrl(promise: Promise) {
val defaultRingtoneUri: Uri? =
Expand Down Expand Up @@ -131,6 +132,15 @@ class StreamVideoReactNativeModule(reactContext: ReactApplicationContext) :
fun removeListeners(count: Int) {
}

// This method was removed upstream in react-native 0.74+, replaced with invalidate
// We will leave this stub here for older react-native versions compatibility
// ...but it will just delegate to the new invalidate method
@Deprecated("Deprecated in Java", ReplaceWith("invalidate()"))
@Suppress("removal")
override fun onCatalystInstanceDestroy() {
invalidate()
}

override fun invalidate() {
StreamVideoReactNative.clearPipListeners()
reactApplicationContext.unregisterReceiver(powerReceiver)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,12 @@ import com.facebook.react.ReactPackage
import com.facebook.react.bridge.NativeModule
import com.facebook.react.bridge.ReactApplicationContext
import com.facebook.react.uimanager.ViewManager
import com.streamvideo.reactnative.callmanager.StreamInCallManagerModule


class StreamVideoReactNativePackage : ReactPackage {
override fun createNativeModules(reactContext: ReactApplicationContext): List<NativeModule> {
return listOf(StreamVideoReactNativeModule(reactContext))
return listOf(StreamVideoReactNativeModule(reactContext), StreamInCallManagerModule(reactContext))
}

override fun createViewManagers(reactContext: ReactApplicationContext): List<ViewManager<*, *>> {
Expand Down
Loading
Loading