Skip to content

Add support for voice SDK or interopability with webrtc:android-prefixed-stripped #1034

Description

@hyzam-ali-fk

Is your feature request related to a problem? Please describe.
For size conscious consumer apps who only requires the voice capability, can we add a voice only SDK or atleast an interopability with io.github.webrtc-sdk:android-prefixed-stripped. I tried the following changes in my consumer app, but it crashed during runtime

implementation(libs.livekit.android) {
        exclude(group = "io.github.webrtc-sdk", module = "android-prefixed")
    }
    implementation(libs.webrtc.android.prefixed.stripped)
    

resulted in:

FATAL EXCEPTION: main (Fix with AI)
Process: com.myapp.webrtc_android, PID: 5227
java.lang.NoSuchFieldError: No field activeResetSrtpParams of type Z in class Llivekit/org/webrtc/PeerConnection$RTCConfiguration; or its superclasses (declaration of 'livekit.org.webrtc.PeerConnection$RTCConfiguration' appears in /data/app/~~T44gh22xHDrJo-qyvsKPRw==/com.myapp.webrtc_android-dVfgxRfvFiSfYVDNqjtUpQ==/base.apk!classes12.dex)
at io.livekit.android.webrtc.PeerConnectionExtKt.copyFrom(PeerConnectionExt.kt:88)
at io.livekit.android.webrtc.PeerConnectionExtKt.copy(PeerConnectionExt.kt:48)
at io.livekit.android.room.RTCEngine.makeRTCConfig(RTCEngine.kt:701)
at io.livekit.android.room.RTCEngine.access$makeRTCConfig(RTCEngine.kt:93)
at io.livekit.android.room.RTCEngine$configure$2.invokeSuspend(RTCEngine.kt:238)
at io.livekit.android.room.RTCEngine$configure$2.invoke(Unknown Source:8)
at io.livekit.android.room.RTCEngine$configure$2.invoke(Unknown Source:4)
at io.livekit.android.webrtc.peerconnection.RTCThreadUtilsKt$launchBlockingOnRTCThread$2$1.invokeSuspend(RTCThreadUtils.kt:101)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:101)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1154)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:652)
at java.lang.Thread.run(Thread.java:1563)
Suppressed: kotlinx.coroutines.internal.DiagnosticCoroutineContextException: [StandaloneCoroutine{Cancelling}@b4bb458, Dispatchers.Main]

Describe the solution you'd like
Introduce a Livekit voice only SDK or atlease allow support for to be used with webrtc:android-prefixed-stripped

Describe alternatives you've considered
Tried to exclude io.github.webrtc-sdk:android-prefixed and substitute with io.github.webrtc-sdk:android-prefixed-stripped, however that resulted in run time crashes

Additional context
NA

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions