-
Notifications
You must be signed in to change notification settings - Fork 6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Crash when reading a non-existing Adaptation Set from DASH manifest #2795
Comments
I can be a little bit more specific about the crash now. It happens due to an error in the playout of the stream which results in an incorrect dash manifest. Due to the playout error the manifest contains only the video AdaptionSet but none for the audio. It seems that the player currently does no check there but just assumes that at least two sets are included. We will fix the bug on the server side but I think the ExoPlayer should be able to handle the situation as well. Broken Manifest mpd.txt If you need more information just let us know. |
Yup, understood. It's pretty difficult (and a lot of extra code) to validate all parts of all media for correctness, so we have a pretty broad We'll use this issue to track getting them covered correctly, after which the |
Sounds good, thanks for your effort! |
Thank you very much for the effort on this. We're looking forward to seeing this issue fixed. Could you please tell me if there is an ETA for the fix? |
We do not have an ETA for this. It's preferable to fix this on the client side as a defensive measure. However if you're aware of your manifest server generating invalid manifests, you should really fix the problem on the server side at which point this becomes a non-issue. We have multiple large third party providers using ExoPlayer, who simply don't encounter this issue because their servers do the right thing. |
👍 |
Issue: #2795 ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=174836960
Issue: #2795 ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=174836960
Issue description
When reading the AdaptationSet from the Dash manifest (MPD) the ExoPlayer didn’t check the provided indices of the Period and AdaptationSet elements. This could result in an
IndexOutOfBoundsException
when the referenced period or adaption set didn’t exist.Reproduction steps
The reason for the faulty reference is probably an error in the manifest file, but the ExoPlayer should handle it more robustly and without a crash. Currently I can’t provide a manifest to reproduce the crash. However, the crash has occurred several times on different devices. I'm not sure if a simple check of the indices is sufficient. Maybe the correct index of the period and the adaption set must be checked and handled earlier.
Version of ExoPlayer being used
ExoPlayer r2.3.1
Device(s) and version(s) of Android being used
Stacktrace
The text was updated successfully, but these errors were encountered: