Skip to content

Exception when parse RTSP url like rtsp://10.1.58.192/stream/0?config.login=web #613

@hoozh

Description

@hoozh

Version

ExoPlayer 2.19.1

More version details

No response

Devices that reproduce the issue

A tablet running android 7.1.2

Devices that do not reproduce the issue

VLC Android 3.5.4 on this tablet is OK

Reproducible in the demo app?

Yes

Reproduction steps

  1. Edit media.exolist.json
  2. Add rtsp url:
{
    "name": "RTSP",
    "samples": [
      {
        "name": "AVA Rbs",
        "uri": "rtsp://10.1.58.192/stream/0?config.login=web"
      }
    ]
  },
  1. Play this rtsp url in demo app

Expected result

play this rtsp video successfully

Actual result

demo app crashed:

14:38:34.485 androidx.media3.demo.main       D  loading [eventTime=43.95, mediaPos=0.00, window=0, period=0, true]
14:38:34.494 androidx.media3.demo.main       E  Playback error
                                                  androidx.media3.exoplayer.ExoPlaybackException: Source error
                                                      at androidx.media3.exoplayer.ExoPlayerImplInternal.handleIoException(ExoPlayerImplInternal.java:684)
                                                      at androidx.media3.exoplayer.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:660)
                                                      at android.os.Handler.dispatchMessage(Handler.java:98)
                                                      at android.os.Looper.loop(Looper.java:154)
                                                      at android.os.HandlerThread.run(HandlerThread.java:61)
                                                  Caused by: java.io.IOException: java.lang.IllegalArgumentException
                                                      at androidx.media3.exoplayer.rtsp.RtspMediaPeriod$InternalListener.onSessionTimelineRequestFailed(RtspMediaPeriod.java:689)
                                                      at androidx.media3.exoplayer.rtsp.RtspClient.dispatchRtspError(RtspClient.java:322)
                                                      at androidx.media3.exoplayer.rtsp.RtspClient.access$700(RtspClient.java:76)
                                                      at androidx.media3.exoplayer.rtsp.RtspClient$MessageListener.handleRtspResponse(RtspClient.java:682)
                                                      at androidx.media3.exoplayer.rtsp.RtspClient$MessageListener.handleRtspMessage(RtspClient.java:515)
                                                      at androidx.media3.exoplayer.rtsp.RtspClient$MessageListener.lambda$onRtspMessageReceived$0$androidx-media3-exoplayer-rtsp-RtspClient$MessageListener(RtspClient.java:508)
                                                      at androidx.media3.exoplayer.rtsp.RtspClient$MessageListener$$ExternalSyntheticLambda0.run(D8$$SyntheticClass)
                                                      at android.os.Handler.handleCallback(Handler.java:755)
                                                      at android.os.Handler.dispatchMessage(Handler.java:95)
                                                      at android.os.Looper.loop(Looper.java:154) 
                                                      at android.os.HandlerThread.run(HandlerThread.java:61) 
                                                  Caused by: androidx.media3.exoplayer.rtsp.RtspMediaSource$RtspPlaybackException: java.lang.IllegalArgumentException
                                                      at androidx.media3.exoplayer.rtsp.RtspClient$MessageListener.handleRtspResponse(RtspClient.java:682) 
                                                      at androidx.media3.exoplayer.rtsp.RtspClient$MessageListener.handleRtspMessage(RtspClient.java:515) 
                                                      at androidx.media3.exoplayer.rtsp.RtspClient$MessageListener.lambda$onRtspMessageReceived$0$androidx-media3-exoplayer-rtsp-RtspClient$MessageListener(RtspClient.java:508) 
                                                      at androidx.media3.exoplayer.rtsp.RtspClient$MessageListener$$ExternalSyntheticLambda0.run(D8$$SyntheticClass) 
                                                      at android.os.Handler.handleCallback(Handler.java:755) 
                                                      at android.os.Handler.dispatchMessage(Handler.java:95) 
                                                      at android.os.Looper.loop(Looper.java:154) 
                                                      at android.os.HandlerThread.run(HandlerThread.java:61) 
                                                  Caused by: java.lang.IllegalArgumentException
                                                      at androidx.media3.exoplayer.rtsp.RtspMessageUtil.parseMethodString(RtspMessageUtil.java:286)
                                                      at androidx.media3.exoplayer.rtsp.RtspMessageUtil.parsePublicHeader(RtspMessageUtil.java:389)
                                                      at androidx.media3.exoplayer.rtsp.RtspClient$MessageListener.handleRtspResponse(RtspClient.java:618)
                                                      at androidx.media3.exoplayer.rtsp.RtspClient$MessageListener.handleRtspMessage(RtspClient.java:515) 
                                                      at androidx.media3.exoplayer.rtsp.RtspClient$MessageListener.lambda$onRtspMessageReceived$0$androidx-media3-exoplayer-rtsp-RtspClient$MessageListener(RtspClient.java:508) 
                                                      at androidx.media3.exoplayer.rtsp.RtspClient$MessageListener$$ExternalSyntheticLambda0.run(D8$$SyntheticClass) 
                                                      at android.os.Handler.handleCallback(Handler.java:755) 
                                                      at android.os.Handler.dispatchMessage(Handler.java:95) 
                                                      at android.os.Looper.loop(Looper.java:154) 
                                                      at android.os.HandlerThread.run(HandlerThread.java:61) 
14:38:34.501 androidx.media3.demo.main       E  playerFailed [eventTime=43.96, mediaPos=0.00, window=0, period=0, errorCode=ERROR_CODE_IO_UNSPECIFIED
                                                  androidx.media3.exoplayer.ExoPlaybackException: Source error
                                                      at androidx.media3.exoplayer.ExoPlayerImplInternal.handleIoException(ExoPlayerImplInternal.java:684)
                                                      at androidx.media3.exoplayer.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:660)
                                                      at android.os.Handler.dispatchMessage(Handler.java:98)
                                                      at android.os.Looper.loop(Looper.java:154)
                                                      at android.os.HandlerThread.run(HandlerThread.java:61)
                                                  Caused by: java.io.IOException: java.lang.IllegalArgumentException
                                                      at androidx.media3.exoplayer.rtsp.RtspMediaPeriod$InternalListener.onSessionTimelineRequestFailed(RtspMediaPeriod.java:689)
                                                      at androidx.media3.exoplayer.rtsp.RtspClient.dispatchRtspError(RtspClient.java:322)
                                                      at androidx.media3.exoplayer.rtsp.RtspClient.access$700(RtspClient.java:76)
                                                      at androidx.media3.exoplayer.rtsp.RtspClient$MessageListener.handleRtspResponse(RtspClient.java:682)
                                                      at androidx.media3.exoplayer.rtsp.RtspClient$MessageListener.handleRtspMessage(RtspClient.java:515)
                                                      at androidx.media3.exoplayer.rtsp.RtspClient$MessageListener.lambda$onRtspMessageReceived$0$androidx-media3-exoplayer-rtsp-RtspClient$MessageListener(RtspClient.java:508)
                                                      at androidx.media3.exoplayer.rtsp.RtspClient$MessageListener$$ExternalSyntheticLambda0.run(D8$$SyntheticClass)
                                                      at android.os.Handler.handleCallback(Handler.java:755)
                                                      at android.os.Handler.dispatchMessage(Handler.java:95)
                                                      at android.os.Looper.loop(Looper.java:154) 
                                                      at android.os.HandlerThread.run(HandlerThread.java:61) 
                                                  Caused by: androidx.media3.exoplayer.rtsp.RtspMediaSource$RtspPlaybackException: java.lang.IllegalArgumentException
                                                      at androidx.media3.exoplayer.rtsp.RtspClient$MessageListener.handleRtspResponse(RtspClient.java:682) 
                                                      at androidx.media3.exoplayer.rtsp.RtspClient$MessageListener.handleRtspMessage(RtspClient.java:515) 
                                                      at androidx.media3.exoplayer.rtsp.RtspClient$MessageListener.lambda$onRtspMessageReceived$0$androidx-media3-exoplayer-rtsp-RtspClient$MessageListener(RtspClient.java:508) 
                                                      at androidx.media3.exoplayer.rtsp.RtspClient$MessageListener$$ExternalSyntheticLambda0.run(D8$$SyntheticClass) 
                                                      at android.os.Handler.handleCallback(Handler.java:755) 
                                                      at android.os.Handler.dispatchMessage(Handler.java:95) 
                                                      at android.os.Looper.loop(Looper.java:154) 
                                                      at android.os.HandlerThread.run(HandlerThread.java:61) 
                                                  Caused by: java.lang.IllegalArgumentException
                                                      at androidx.media3.exoplayer.rtsp.RtspMessageUtil.parseMethodString(RtspMessageUtil.java:286)
                                                      at androidx.media3.exoplayer.rtsp.RtspMessageUtil.parsePublicHeader(RtspMessageUtil.java:389)
                                                      at androidx.media3.exoplayer.rtsp.RtspClient$MessageListener.handleRtspResponse(RtspClient.java:618)
                                                      at androidx.media3.exoplayer.rtsp.RtspClient$MessageListener.handleRtspMessage(RtspClient.java:515) 
                                                      at androidx.media3.exoplayer.rtsp.RtspClient$MessageListener.lambda$onRtspMessageReceived$0$androidx-media3-exoplayer-rtsp-RtspClient$MessageListener(RtspClient.java:508) 
                                                      at androidx.media3.exoplayer.rtsp.RtspClient$MessageListener$$ExternalSyntheticLambda0.run(D8$$SyntheticClass) 
                                                      at android.os.Handler.handleCallback(Handler.java:755) 
                                                      at android.os.Handler.dispatchMessage(Handler.java:95) 
                                                      at android.os.Looper.loop(Looper.java:154) 
                                                      at android.os.HandlerThread.run(HandlerThread.java:61) 
                                                ]

Media

URL like this:

rtsp://10.1.58.192/stream/0?config.login=web

Bug Report

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions