-
Notifications
You must be signed in to change notification settings - Fork 70
ios,android: move to prefixed webrtc #455
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from all commits
Commits
Show all changes
6 commits
Select commit
Hold shift + click to select a range
a6fc49d
ios,android: move to prefixed webrtc
davidliu 419e1f5
docs: no Podfile source changes needed
hiroshihorie 9fd387c
chore: regenerate example Podfile.lock against the trunk pod
hiroshihorie 55c4ba3
target new npm release for react-native-webrtc
davidliu aaecd40
audio changes and cleanup
davidliu 5c2cb05
fix bad rebase
davidliu File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,21 @@ | ||
| --- | ||
| '@livekit/react-native': minor | ||
| --- | ||
|
|
||
| iOS: align the default `playAndRecord` presets with the LiveKit Swift SDK. | ||
|
|
||
| The duplex (recording) presets now request `mixWithOthers`, `allowBluetooth`, | ||
| `allowBluetoothA2DP` and `allowAirPlay`, matching `playAndRecordOptions` in the | ||
| Swift SDK. Previously only `allowBluetooth` and `mixWithOthers` were requested, | ||
| so A2DP output devices and AirPlay routes were unavailable during a call on this | ||
| platform but available on others. | ||
|
|
||
| When `preferSpeakerOutput` is set, `defaultToSpeaker` is now requested as well. | ||
| The `videoChat` mode implies a speaker route, but iOS may rewrite the mode when | ||
| Voice Processing I/O is instantiated - the Swift SDK observed it switching to | ||
| `voiceChat`, which routes to the receiver. Requesting the option explicitly | ||
| keeps the speaker route across that rewrite. | ||
|
|
||
| This affects the defaults used by `setupIOSAudioManagement` and the deprecated | ||
| `getDefaultAppleAudioConfigurationForMode`. A custom `IOSAudioSessionPolicy` or | ||
| `AppleAudioConfiguration` is unaffected - those supply their own options. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,13 @@ | ||
| --- | ||
| '@livekit/react-native': major | ||
| --- | ||
|
|
||
| Move to the LiveKit prefixed WebRTC builds: `io.github.webrtc-sdk:android-prefixed` on Android and the `LiveKitWebRTC` pod on iOS. This prevents collisions against any other WebRTC implementations. | ||
|
|
||
| Apps that only use the JavaScript API need no changes. | ||
|
|
||
| Native integrations must migrate to the prefixed symbols: | ||
|
|
||
| * Android: `org.webrtc.*` becomes `livekit.org.webrtc.*`. | ||
| Custom `-keep class org.webrtc.**` ProGuard rules must be updated to `livekit.org.webrtc.**`. | ||
| * iOS: types gain an `LK` prefix (`RTCAudioRenderer` becomes `LKRTCAudioRenderer`, `RTCAudioBuffer` becomes `LKRTCAudioBuffer`, and so on). |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,30 @@ | ||
| --- | ||
| '@livekit/react-native': minor | ||
| --- | ||
|
|
||
| iOS: pick the audio session mode based on Apple Voice Processing I/O state. | ||
|
|
||
| iOS applies a reduced, call-tuned speaker gain while capture is active under the | ||
| `voiceChat`/`videoChat` session modes. Apple Voice Processing I/O compensates | ||
| with its own loudness stage, so with VPIO off remote audio played back | ||
| noticeably quieter. | ||
|
|
||
| `LiveKitWebRTC` 144.7559.15 reports the resolved VPIO state to the audio device | ||
| module's `willEnableEngine` hook. The default recording configuration now uses | ||
| that: with VPIO running it keeps `voiceChat`/`videoChat` as before, and with VPIO | ||
| off (for example after `AudioDeviceModule.setVoiceProcessingEnabled(false)`) it | ||
| switches to the `default` mode, which keeps media gain. That mode routes to the | ||
| receiver, so `preferSpeakerOutput` is expressed through the `defaultToSpeaker` | ||
| category option instead of the implicit routing the chat modes provide. This | ||
| matches what the LiveKit Swift SDK already does. | ||
|
|
||
| `IOSAudioSessionPolicy` gains an optional `recordingWithoutVoiceProcessing` | ||
| configuration for the VPIO-off case. Policies that omit it keep using their | ||
| `recording` configuration for both, so existing setups are unaffected. | ||
| `AudioEngineConfigurationState`, passed to the deprecated | ||
| `setupIOSAudioManagement` callback form, gains a matching | ||
| `isVoiceProcessingEnabled` field. | ||
|
|
||
| Requires `@livekit/react-native-webrtc` with the five-argument `willEnableEngine` | ||
| delegate method. Older versions crash with an unrecognized selector when the | ||
| audio engine first enables. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
2 changes: 1 addition & 1 deletion
2
...id/src/main/java/com/livekit/reactnative/audio/processing/CustomAudioProcessingFactory.kt
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
8 changes: 4 additions & 4 deletions
8
android/src/main/java/com/livekit/reactnative/video/WrappedVideoDecoderFactoryProxy.kt
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
2 changes: 1 addition & 1 deletion
2
...rg/webrtc/audio/WebRtcAudioTrackHelper.kt → ...rg/webrtc/audio/WebRtcAudioTrackHelper.kt
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,4 +1,4 @@ | ||
| package org.webrtc.audio | ||
| package livekit.org.webrtc.audio | ||
|
|
||
| import android.media.AudioAttributes | ||
|
|
||
|
|
||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.