apivideo / api.video-reactnative-live-stream

React Native RTMP live stream client. Made with ♥ by api.video
https://api.video
MIT License
171 stars 33 forks source link

[Bug]: NPE on AcousticEchoCanceler #82

Open Pitros opened 1 month ago

Pitros commented 1 month ago

Version

v2.0.0

Which operating systems have you used?

Environment that reproduces the issue

Pixel 7 - Android 14 Samsung S10 - Android 10

Is it reproducible in the example application?

Not tested

RTMP Server

-

Reproduction steps

Minimize app, reopen app, at some point crashes.

Expected result

App does not crash.

Actual result

App crashes.

Additional context

RN 0.74

Relevant logs output

Fatal Exception: io.github.thibaultbee.streampack.error.StreamPackError: java.lang.NullPointerException: Attempt to invoke virtual method 'int android.media.audiofx.AcousticEchoCanceler.setEnabled(boolean)' on a null object reference
       at io.github.thibaultbee.streampack.streamers.bases.BaseStreamer.configure(BaseStreamer.kt:213)
       at video.api.livestream.ApiVideoLiveStream$audioConfig$2.invoke(ApiVideoLiveStream.kt:89)
       at video.api.livestream.ApiVideoLiveStream$audioConfig$2.invoke(ApiVideoLiveStream.kt:84)
       at video.api.reactnative.livestream.LiveStreamView$1$1.invoke(LiveStreamView.kt:75)
       at video.api.reactnative.livestream.LiveStreamView$1$1.invoke(LiveStreamView.kt:72)
       at video.api.reactnative.livestream.utils.permissions.SerialPermissionsManager$requestPermissions$request$1$1.invoke(SerialPermissionsManager.kt:38)
       at video.api.reactnative.livestream.utils.permissions.SerialPermissionsManager$requestPermissions$request$1$1.invoke(SerialPermissionsManager.kt:35)
       at video.api.reactnative.livestream.utils.permissions.PermissionsManager$requestPermissions$1.onAllGranted(PermissionsManager.kt:51)
       at video.api.reactnative.livestream.utils.permissions.PermissionsManager.requestPermissions(PermissionsManager.kt:76)
       at video.api.reactnative.livestream.utils.permissions.PermissionsManager.requestPermissions(PermissionsManager.kt:49)
       at video.api.reactnative.livestream.utils.permissions.SerialPermissionsManager.requestPermissions$lambda$1(SerialPermissionsManager.kt:35)
       at video.api.reactnative.livestream.utils.permissions.SerialPermissionsManager.$r8$lambda$dzig6asy22NzT_1QrKBawhgieas()
       at video.api.reactnative.livestream.utils.permissions.SerialPermissionsManager$$ExternalSyntheticLambda1.run(:10)
       at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
       at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:644)
       at java.lang.Thread.run(Thread.java:1012)
ThibaultBee commented 1 month ago

Hi,

Hopefully, this https://github.com/ThibaultBee/StreamPack/commit/cc0705939578ad3ae7396247b0232812fab4e38d and https://github.com/ThibaultBee/StreamPack/commit/e44c7de60baf92b94279f5e3ea90bb1aa6cdc8e2 fix this crash.

Pitros commented 3 weeks ago

@ThibaultBee awesome, any ETA for 2.0.1?