livekit / client-sdk-android

LiveKit SDK for Android
https://docs.livekit.io
Apache License 2.0
160 stars 63 forks source link

SoftwareVideoEncoderFactory nativeCreateFactory error #373

Closed ganlong-2016 closed 5 months ago

ganlong-2016 commented 5 months ago

No implementation found for long livekit.org.webrtc.SoftwareVideoEncoderFactory.nativeCreateFactory() (tried Java_livekit_org_webrtc_SoftwareVideoEncoderFactory_nativeCreateFactory and Java_livekit_org_webrtc_SoftwareVideoEncoderFactory_nativeCreateFactory) java.lang.UnsatisfiedLinkError: No implementation found for long livekit.org.webrtc.SoftwareVideoEncoderFactory.nativeCreateFactory() (tried Java_livekit_org_webrtc_SoftwareVideoEncoderFactory_nativeCreateFactory and Java_livekit_org_webrtc_SoftwareVideoEncoderFactory_nativeCreateFactory) at livekit.org.webrtc.SoftwareVideoEncoderFactory.nativeCreateFactory(Native Method) at livekit.org.webrtc.SoftwareVideoEncoderFactory.(SoftwareVideoEncoderFactory.java:23) at livekit.org.webrtc.DefaultVideoEncoderFactory.(DefaultVideoEncoderFactory.java:20) at io.livekit.android.videoencodedecode.WhitelistDefaultVideoEncoderFactory.(WhitelistDefaultVideoEncoderFactory.kt:28) at io.livekit.android.videoencodedecode.CallViewModel$1.invokeSuspend(CallViewModel.kt:78) at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33) at kotlinx.coroutines.internal.DispatchedContinuationKt.resumeCancellableWith(DispatchedContinuation.kt:367) at kotlinx.coroutines.intrinsics.CancellableKt.startCoroutineCancellable(Cancellable.kt:30) at kotlinx.coroutines.intrinsics.CancellableKt.startCoroutineCancellable$default(Cancellable.kt:25) at kotlinx.coroutines.CoroutineStart.invoke(CoroutineStart.kt:110) at kotlinx.coroutines.AbstractCoroutine.start(AbstractCoroutine.kt:126) at kotlinx.coroutines.BuildersKt__Builders_commonKt.launch(Builders.common.kt:56) at kotlinx.coroutines.BuildersKt.launch(Unknown Source:1) at kotlinx.coroutines.BuildersKt__Builders_commonKt.launch$default(Builders.common.kt:47) at kotlinx.coroutines.BuildersKt.launch$default(Unknown Source:1) at io.livekit.android.videoencodedecode.CallViewModel.(CallViewModel.kt:69) at io.livekit.android.videoencodedecode.CallActivity$onCreate$viewModelProvider$1.create(CallActivity.kt:42) at androidx.lifecycle.ViewModelProvider.get(ViewModelProvider.kt:187) at io.livekit.android.videoencodedecode.CallActivity.onCreate(CallActivity.kt:52) at android.app.Activity.performCreate(Activity.java:8290) at android.app.Activity.performCreate(Activity.java:8269) at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1384) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3657) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3813) at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:101) at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135) at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2308) at android.os.Handler.dispatchMessage(Handler.java:106) at android.os.Looper.loopOnce(Looper.java:201) at android.os.Looper.loop(Looper.java:288) at android.app.ActivityThread.main(ActivityThread.java:7898) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:548) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:936)

roshanaryal commented 5 months ago

@ganlong-2016 getting same error `java.lang.UnsatisfiedLinkError: No implementation found for long org.webrtc.SoftwareVideoEncoderFactory.nativeCreateFactory() (tried Java_org_webrtc_SoftwareVideoEncoderFactory_nativeCreateFactory and Java_org_webrtc_SoftwareVideoEncoderFactory_nativeCreateFactory__) at org.webrtc.SoftwareVideoEncoderFactory.nativeCreateFactory(Native Method) at org.webrtc.SoftwareVideoEncoderFactory.(SoftwareVideoEncoderFactory.java:23) at io.livekit.android.webrtc.CustomVideoEncoderFactory.(CustomVideoEncoderFactory.kt:32) at io.livekit.android.webrtc.CustomVideoEncoderFactory.(CustomVideoEncoderFactory.kt:25) at io.livekit.android.dagger.RTCModule.videoEncoderFactory(RTCModule.kt:210) at io.livekit.android.dagger.RTCModule_VideoEncoderFactoryFactory.videoEncoderFactory(RTCModule_VideoEncoderFactoryFactory.java:56) at io.livekit.android.dagger.RTCModule_VideoEncoderFactoryFactory.get(RTCModule_VideoEncoderFactoryFactory.java:43) at io.livekit.android.dagger.RTCModule_VideoEncoderFactoryFactory.get(RTCModule_VideoEncoderFactoryFactory.java:13) at io.livekit.android.dagger.RTCModule_PeerConnectionFactoryFactory.get(RTCModule_PeerConnectionFactoryFactory.java:51) at io.livekit.android.dagger.RTCModule_PeerConnectionFactoryFactory.get(RTCModule_PeerConnectionFactoryFactory.java:16) at dagger.internal.DoubleCheck.get(DoubleCheck.java:47) at io.livekit.android.room.participant.LocalParticipant_Factory.get(LocalParticipant_Factory.java:68) at io.livekit.android.room.participant.LocalParticipant_Factory_Impl.create(LocalParticipant_Factory_Impl.java:24) at io.livekit.android.room.Room.(Room.kt:202) at io.livekit.android.room.Room_Factory.newInstance(Room_Factory.java:90) at io.livekit.android.room.Room_Factory.get(Room_Factory.java:69) at io.livekit.android.room.Room_Factory_Impl.create(Room_Factory_Impl.java:25) at io.livekit.android.LiveKit$Companion.create(LiveKit.kt:91) at .

Did you find any solution?

@davidliu can you look into it.

ganlong-2016 commented 5 months ago

@ganlong-2016 getting same error java.lang.UnsatisfiedLinkError: No implementation found for long org.webrtc.SoftwareVideoEncoderFactory.nativeCreateFactory() (tried Java_org_webrtc_SoftwareVideoEncoderFactory_nativeCreateFactory and Java_org_webrtc_SoftwareVideoEncoderFactory_nativeCreateFactory__) at org.webrtc.SoftwareVideoEncoderFactory.nativeCreateFactory(Native Method) at org.webrtc.SoftwareVideoEncoderFactory.<init>(SoftwareVideoEncoderFactory.java:23) at io.livekit.android.webrtc.CustomVideoEncoderFactory.<init>(CustomVideoEncoderFactory.kt:32) at io.livekit.android.webrtc.CustomVideoEncoderFactory.<init>(CustomVideoEncoderFactory.kt:25) at io.livekit.android.dagger.RTCModule.videoEncoderFactory(RTCModule.kt:210) at io.livekit.android.dagger.RTCModule_VideoEncoderFactoryFactory.videoEncoderFactory(RTCModule_VideoEncoderFactoryFactory.java:56) at io.livekit.android.dagger.RTCModule_VideoEncoderFactoryFactory.get(RTCModule_VideoEncoderFactoryFactory.java:43) at io.livekit.android.dagger.RTCModule_VideoEncoderFactoryFactory.get(RTCModule_VideoEncoderFactoryFactory.java:13) at io.livekit.android.dagger.RTCModule_PeerConnectionFactoryFactory.get(RTCModule_PeerConnectionFactoryFactory.java:51) at io.livekit.android.dagger.RTCModule_PeerConnectionFactoryFactory.get(RTCModule_PeerConnectionFactoryFactory.java:16) at dagger.internal.DoubleCheck.get(DoubleCheck.java:47) at io.livekit.android.room.participant.LocalParticipant_Factory.get(LocalParticipant_Factory.java:68) at io.livekit.android.room.participant.LocalParticipant_Factory_Impl.create(LocalParticipant_Factory_Impl.java:24) at io.livekit.android.room.Room.<init>(Room.kt:202) at io.livekit.android.room.Room_Factory.newInstance(Room_Factory.java:90) at io.livekit.android.room.Room_Factory.get(Room_Factory.java:69) at io.livekit.android.room.Room_Factory_Impl.create(Room_Factory_Impl.java:25) at io.livekit.android.LiveKit$Companion.create(LiveKit.kt:91) at com.hamropatro.hamrolivekit.live_stream.activity.LiveActivitySingleViewModel.<init>(LiveActivitySingleViewModel.kt:63) at com.hamropatro.hamrolivekit.live_stream.activity.LiveActivitySingleViewModel$MyViewModelFactory.create(LiveActivitySingleViewModel.kt:676) at com.hamropatro.hamrolivekit.live_stream.activity.LiveActivitySingleViewModel$Companion.get(LiveActivitySingleViewModel.kt:715) at com.hamropatro.hamrolivekit.live_stream.activity.LiveActivitySingle.onCreate(LiveActivitySingle.kt:106) at android.app.Activity.performCreate(Activity.java:8290) at android.app.Activity.performCreate(Activity.java:8270) at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1329) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:4009) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:4201) at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:103) at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135) at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2438) at android.os.Handler.dispatchMessage(Handler.java:106) at android.os.Looper.loopOnce(Looper.java:226) at android.os.Looper.loop(Looper.java:313) at android.app.ActivityThread.main(ActivityThread.java:8669) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:571) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1135).

Did you find any solution?

@davidliu can you look into it.

no,

davidzhao commented 5 months ago

Please follow Bug report template. There's not much we can do given a stack trace with zero context

davidliu commented 5 months ago

Just call LiveKit.init first.