这是indexloc提供的服务,不要输入任何密码
Skip to content

[BUG] RTSP Url stream presumed incompatibility in Maui.Toolkit Android Exoplayer component #972

@Anioz

Description

@Anioz

Is there an existing issue for this?

  • I have searched the existing issues

Did you read the "Reporting a bug" section on Contributing file?

Current Behavior

Crashes the app on the latest version at current time with following error:

"
[AndroidRuntime] FATAL EXCEPTION: ExoPlayer:Playback
[AndroidRuntime] Process: com.solid.HomeCon, PID: 18345
[AndroidRuntime] java.lang.IllegalArgumentException
[AndroidRuntime] at com.google.android.exoplayer2.util.Assertions.checkArgument(Assertions.java:39)
[AndroidRuntime] at com.google.android.exoplayer2.source.rtsp.RtspMediaTrack.generatePayloadFormat(RtspMediaTrack.java:260)
[AndroidRuntime] at com.google.android.exoplayer2.source.rtsp.RtspMediaTrack.(RtspMediaTrack.java:161)
[AndroidRuntime] at com.google.android.exoplayer2.source.rtsp.RtspClient.buildTrackList(RtspClient.java:347)
[AndroidRuntime] at com.google.android.exoplayer2.source.rtsp.RtspClient.access$1700(RtspClient.java:75)
[AndroidRuntime] at com.google.android.exoplayer2.source.rtsp.RtspClient$MessageListener.onDescribeResponseReceived(RtspClient.java:690)
[AndroidRuntime] at com.google.android.exoplayer2.source.rtsp.RtspClient$MessageListener.handleRtspResponse(RtspClient.java:598)
[AndroidRuntime] at com.google.android.exoplayer2.source.rtsp.RtspClient$MessageListener.handleRtspMessage(RtspClient.java:507)
[AndroidRuntime] at com.google.android.exoplayer2.source.rtsp.RtspClient$MessageListener.lambda$onRtspMessageReceived$0$com-google-android-exoplayer2-source-rtsp-RtspClient$MessageListener(RtspClient.java:500)
[AndroidRuntime] at com.google.android.exoplayer2.source.rtsp.RtspClient$MessageListener$$ExternalSyntheticLambda0.run(Unknown Source:4)
[AndroidRuntime] at android.os.Handler.handleCallback(Handler.java:883)
[AndroidRuntime] at android.os.Handler.dispatchMessage(Handler.java:100)
[AndroidRuntime] at android.os.Looper.loop(Looper.java:237)
[AndroidRuntime] at android.os.HandlerThread.run(HandlerThread.java:67)
[m.solid.HomeCo] 0xebadde09 skipped times: 0
[libc] exiting due to SIG_DFL handler for signal 11"

Hikvision IP camera model HWI-D140H x 3 works great without any problems (maui toolkit rtsp://user:pswd@ip:554/ch1/sub/live)
Hikvision Doorbell camera model DS-KD8003-IME1 x1 crashes the app (maui toolkit rtsp://user:pswd@ip:554/ch1/sub/live works both in vlc and xamarin forms)
Foscam IP camera model R4M x 1 crashes the app (maui toolkit rtsp://user:pswd@ip:88/ch1/sub/live, works both in vlc and xamarin forms)
Foscam IP camera model R4M-B x 1 crashes the app (maui toolkit rtsp://user:pswd@ip:88/ch1/sub/live, works both in vlc and xamarin forms)

Ive tested with other ports this seems NOT to be the cause of the problem since the hikvision Doorbell crashes with the same error and uses the same url as the hikvision ip camera's (ive also tested a video only stream on the doorbell and it fails with the same exception)

Please advise on what tests to additionally try and if this will be looked at in an upcoming release of maui toolkit mediaelement, since at current time theres no real viable alternative

Expected Behavior

Plays any rtsp URL as long as given url format is a valid working one.

Steps To Reproduce

  1. Create new maui .net 7 framework solution
  2. Install maui toolkit nuget and follow readme instructions
  3. Add mediaelement xmlns and the element itself to one of the contentpages
  4. Prove to yourself that the specific given model of the Foscam and/or Hikvision camera is up and running with any other validation method (for example vlc or a previous xamarin forms project)
  5. Set the mediaelement source as the proven working rtsp url
  6. Run your Android app (debug or release)
  7. Check the log for the above fatal app crash

Link to public reproduction project repository

https://1drv.ms/u/s!AqVY9RkzgdHIrRJpCfa_rIgyBW7A?e=8oxTBc

Environment

- .NET MAUI CommunityToolkit: 1.0.1
- OS: Android 10 (SDK 29)
- .NET MAUI: 7.0

Anything else?

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions