ThibaultBee / StreamPack

SRT/RTMP/RTMPS live streaming libraries for Android
https://thibaultbee.github.io/StreamPack/index.html
Apache License 2.0
196 stars 70 forks source link

[Bug]: app crashes when start running #79

Closed min92822 closed 1 year ago

min92822 commented 1 year ago

Version

N/A

Environment that reproduces the issue

Android 8.1.0

RTMP/SRT/... Server

srt

Audio configuration

No response

Video configuration

No response

Is it reproducible in the demos application?

Yes

Reproduction steps

running apps

Expected result

camera and surfaceview connect

Actual result

crashing and finishing app

Additional context

it's not a phone. it's custom made android os device and fixed android version 8.1.0 and i've heard it's camera hal version is 1.x and fpsRangeList [5,19], [19, 19], [24, 24]

Relevant logs output

FATAL EXCEPTION: main
                                                                                                    Process: io.github.thibaultbee.streampack.sample, PID: 3136
                                                                                                    java.lang.RuntimeException: java.lang.reflect.InvocationTargetException
                                                                                                        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:448)
                                                                                                        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:807)
                                                                                                    Caused by: java.lang.reflect.InvocationTargetException
                                                                                                        at java.lang.reflect.Method.invoke(Native Method)
                                                                                                        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:438)
                                                                                                        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:807) 
                                                                                                    Caused by: io.github.thibaultbee.streampack.error.StreamPackError: java.security.InvalidParameterException: Failed to find a single FPS range that contains 30
                                                                                                        at io.github.thibaultbee.streampack.streamers.bases.BaseCameraStreamer$startPreview$2.invokeSuspend(BaseCameraStreamer.kt:111)
                                                                                                        at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
                                                                                                        at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106)
                                                                                                        at kotlinx.coroutines.EventLoopImplBase.processNextEvent(EventLoop.common.kt:284)
                                                                                                        at kotlinx.coroutines.BlockingCoroutine.joinBlocking(Builders.kt:85)
                                                                                                        at kotlinx.coroutines.BuildersKt__BuildersKt.runBlocking(Builders.kt:59)
                                                                                                        at kotlinx.coroutines.BuildersKt.runBlocking(Unknown Source:1)
                                                                                                        at kotlinx.coroutines.BuildersKt__BuildersKt.runBlocking$default(Builders.kt:38)
                                                                                                        at kotlinx.coroutines.BuildersKt.runBlocking$default(Unknown Source:1)
                                                                                                        at io.github.thibaultbee.streampack.streamers.bases.BaseCameraStreamer.startPreview(BaseCameraStreamer.kt:104)
                                                                                                        at io.github.thibaultbee.streampack.streamers.interfaces.ICameraStreamer$DefaultImpls.startPreview(ICameraStreamer.kt:61)
                                                                                                        at io.github.thibaultbee.streampack.streamers.bases.BaseCameraStreamer.startPreview(BaseCameraStreamer.kt:48)
                                                                                                        at io.github.thibaultbee.streampack.views.PreviewView.startPreviewIfReady$lambda-2$lambda-1(PreviewView.kt:181)
                                                                                                        at io.github.thibaultbee.streampack.views.PreviewView.$r8$lambda$f5A39jNuuJKrEWORZNCEhi7z1WU(Unknown Source:0)
                                                                                                        at io.github.thibaultbee.streampack.views.PreviewView$$ExternalSyntheticLambda0.run(Unknown Source:6)
                                                                                                        at android.os.Handler.handleCallback(Handler.java:790)
                                                                                                        at android.os.Handler.dispatchMessage(Handler.java:99)
                                                                                                        at android.os.Looper.loop(Looper.java:164)
                                                                                                        at android.app.ActivityThread.main(ActivityThread.java:6494)
                                                                                                        at java.lang.reflect.Method.invoke(Native Method) 
                                                                                                        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:438) 
                                                                                                        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:807) 
                                                                                                    Caused by: java.security.InvalidParameterException: Failed to find a single FPS range that contains 30
                                                                                                        at io.github.thibaultbee.streampack.internal.sources.camera.CameraController.getClosestFpsRange(CameraController.kt:60)
                                                                                                        at io.github.thibaultbee.streampack.internal.sources.camera.CameraController.startRequestSession(CameraController.kt:190)
                                                                                                        at io.github.thibaultbee.streampack.internal.sources.camera.CameraCapture.startPreview(CameraCapture.kt:81)
                                                                                                        at io.github.thibaultbee.streampack.internal.sources.camera.CameraCapture$startPreview$1.invokeSuspend(Unknown Source:16)
                                                                                                        at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33) 
                                                                                                        at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106) 
                                                                                                        at kotlinx.coroutines.EventLoopImplBase.processNextEvent(EventLoop.common.kt:284) 
                                                                                                        at kotlinx.coroutines.BlockingCoroutine.joinBlocking(Builders.kt:85) 
                                                                                                        at kotlinx.coroutines.BuildersKt__BuildersKt.runBlocking(Builders.kt:59) 
                                                                                                        at kotlinx.coroutines.BuildersKt.runBlocking(Unknown Source:1) 
                                                                                                        at kotlinx.coroutines.BuildersKt__BuildersKt.runBlocking$default(Builders.kt:38) 
                                                                                                        at kotlinx.coroutines.BuildersKt.runBlocking$default(Unknown Source:1) 
                                                                                                        at io.github.thibaultbee.streampack.streamers.bases.BaseCameraStreamer.startPreview(BaseCameraStreamer.kt:104) 
                                                                                                        at io.github.thibaultbee.streampack.streamers.interfaces.ICameraStreamer$DefaultImpls.startPreview(ICameraStreamer.kt:61) 
                                                                                                        at io.github.thibaultbee.streampack.streamers.bases.BaseCameraStreamer.startPreview(BaseCameraStreamer.kt:48) 
                                                                                                        at io.github.thibaultbee.streampack.views.PreviewView.startPreviewIfReady$lambda-2$lambda-1(PreviewView.kt:181) 
                                                                                                        at io.github.thibaultbee.streampack.views.PreviewView.$r8$lambda$f5A39jNuuJKrEWORZNCEhi7z1WU(Unknown Source:0) 
                                                                                                        at io.github.thibaultbee.streampack.views.PreviewView$$ExternalSyntheticLambda0.run(Unknown Source:6) 
                                                                                                        at android.os.Handler.handleCallback(Handler.java:790) 
                                                                                                        at android.os.Handler.dispatchMessage(Handler.java:99) 
                                                                                                        at android.os.Looper.loop(Looper.java:164) 
                                                                                                        at android.app.ActivityThread.main(ActivityThread.java:6494) 
                                                                                                        at java.lang.reflect.Method.invoke(Native Method) 
                                                                                                        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:438) 
                                                                                                        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:807) 
2023-09-26 18:29:20.897   408-533   InputDispatcher         system_server                        E  channel '77824fc io.github.thibaultbee.streampack.sample/io.github.thibaultbee.streampack.app.ui.main.MainActivity (server)' ~ Channel is unrecoverably broken and will be disposed!
2023-09-26 18:29:20.903   238-1041  SurfaceFlinger          surfaceflinger                       E  Failed to find layer (SurfaceView - io.github.thibaultbee.streampack.sample/io.github.thibaultbee.streampack.app.ui.main.MainActivity#0) in layer parent (no-parent).
2023-09-26 18:29:20.904   238-1041  SurfaceFlinger          surfaceflinger                       E  Failed to find layer (Background for - SurfaceView - io.github.thibaultbee.streampack.sample/io.github.thibaultbee.streampack.app.ui.main.MainActivity#0) in layer parent (no-parent).
min92822 commented 1 year ago

close issue remove fpsRanegList and it's work

ThibaultBee commented 1 year ago

Hello,

I don't understand how you fix your issue, so if anyone faces the same issue:

The best way to fix this issue is to look for the list of framerate (fps) ranges that are printed in logcat. It looks like this: [5,19], [19, 19], [24, 24]

By default, the example asks for a fps of 30 which is not supported by your camera: [5,19], [19, 19], [24, 24]. In your case, you should set the framerate of VideoConfig to 24.

Best regards, Thibault