google / ExoPlayer

This project is deprecated and stale. The latest ExoPlayer code is available in https://github.com/androidx/media
https://developer.android.com/media/media3/exoplayer
Apache License 2.0
21.7k stars 6.02k forks source link

Rtsp: missing word "Basic" in RTSP Authorization header #10206

Open NicolasGodfather opened 2 years ago

NicolasGodfather commented 2 years ago

I can't auth on server, in line "Authorization: YWRtaW4xOmFkbWlu" missing word "Basic". My rtsp url is "rtsp://admin1:admin@yakubouski.navek.dev:9554/stream3/live", but you can't test it url cause need my office vpn - please see my Logs and tell me why it happens:

D/RtspClient: OPTIONS rtsp://yakubouski.navek.dev:9554/stream3/live RTSP/1.0 User-Agent: ExoPlayerLib/2.17.1 CSeq: 0 D/RtspClient: RTSP/1.0 401 Unauthorized CSeq: 0 Session: 18338383835658;timeout=20 WWW-Authenticate: Basic realm="Stream" D/RtspClient: OPTIONS rtsp://yakubouski.navek.dev:9554/stream3/live RTSP/1.0 User-Agent: ExoPlayerLib/2.17.1 CSeq: 1 Authorization: YWRtaW4xOmFkbWlu D/RtspClient: RTSP/1.0 403 Forbidden CSeq: 1 Session: 18338383835658;timeout=20

E/ExoPlayerImplInternal: Playback error com.google.android.exoplayer2.ExoPlaybackException: Source error at com.google.android.exoplayer2.ExoPlayerImplInternal.handleIoException(ExoPlayerImplInternal.java:641) at com.google.android.exoplayer2.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:617) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loopOnce(Looper.java:226) at android.os.Looper.loop(Looper.java:313) at android.os.HandlerThread.run(HandlerThread.java:67) Caused by: java.io.IOException: OPTIONS 403 at com.google.android.exoplayer2.source.rtsp.RtspMediaPeriod$InternalListener.onSessionTimelineRequestFailed(RtspMediaPeriod.java:652) at com.google.android.exoplayer2.source.rtsp.RtspClient.dispatchRtspError(RtspClient.java:317) at com.google.android.exoplayer2.source.rtsp.RtspClient.access$700(RtspClient.java:75) at com.google.android.exoplayer2.source.rtsp.RtspClient$MessageListener.handleRtspResponse(RtspClient.java:583) at com.google.android.exoplayer2.source.rtsp.RtspClient$MessageListener.handleRtspMessage(RtspClient.java:507) at com.google.android.exoplayer2.source.rtsp.RtspClient$MessageListener.lambda$onRtspMessageReceived$0$com-google-android-exoplayer2-source-rtsp-RtspClient$MessageListener(RtspClient.java:500) at com.google.android.exoplayer2.source.rtsp.RtspClient$MessageListener$$ExternalSyntheticLambda0.run(Unknown Source:4) at android.os.Handler.handleCallback(Handler.java:938) at android.os.Handler.dispatchMessage(Handler.java:99) at android.os.Looper.loopOnce(Looper.java:226)  at android.os.Looper.loop(Looper.java:313)  at android.os.HandlerThread.run(HandlerThread.java:67)  Caused by: com.google.android.exoplayer2.source.rtsp.RtspMediaSource$RtspPlaybackException: OPTIONS 403 at com.google.android.exoplayer2.source.rtsp.RtspClient$MessageListener.handleRtspResponse(RtspClient.java:585) at com.google.android.exoplayer2.source.rtsp.RtspClient$MessageListener.handleRtspMessage(RtspClient.java:507)  at com.google.android.exoplayer2.source.rtsp.RtspClient$MessageListener.lambda$onRtspMessageReceived$0$com-google-android-exoplayer2-source-rtsp-RtspClient$MessageListener(RtspClient.java:500)  at com.google.android.exoplayer2.source.rtsp.RtspClient$MessageListener$$ExternalSyntheticLambda0.run(Unknown Source:4)  at android.os.Handler.handleCallback(Handler.java:938)  at android.os.Handler.dispatchMessage(Handler.java:99)  at android.os.Looper.loopOnce(Looper.java:226)  at android.os.Looper.loop(Looper.java:313)  at android.os.HandlerThread.run(HandlerThread.java:67) 

I test it on a real device - Samsung a52, Android 12, but it doesn't matter.

NicolasGodfather commented 2 years ago

I also ask it here with @LupuFlaviu https://github.com/google/ExoPlayer/issues/9544 but nobody answered.

claincly commented 2 years ago

A fix is on its way.

NicolasGodfather commented 2 years ago

Thanks! We waiting for.