-
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
ExoPlayer 2.15.1 throws NoSuchElementException on loading Live LL HLS manifest #9592
Comments
The playlist link provided in the email returns HTTP code 500 for me. Could you check it's actually accessible? Other than that, the error is thrown when parsing #EXT-X-RENDITION-REPORT in the media playlist. Our code currently assumes these tags come after all media segments and parts and that the list of media segments isn't empty. @marcbaechinger Would you mind taking a look? Looks like we need to save rendition reports with some UNSET value if the default fallback (=current number of segments) should be used and only fill it in once we parsed the whole playlist. |
@tonihei Thanks so much for the quick response. I will check with the team to make sure that that stream is not geo-blocked (it plays for me here in the US), and provide a new stream if necessary. |
@tonihei I've heard back from team, that the issue with the 500 errors has been resolved. Further, another teammate outside the US has confirmed that the 500 errors are gone. Please let me know if the content continues to be inaccessible, though. Thanks again. |
I think I have a fix ready for parsing the playlist with the #EXT-X-RENDITION-REPORT tags before the segment/part list in the media playlist. I tried accessing the playlist you sent in the email, but it seems like I get a HTTP/503 currently.Yesterday, it seemed to me that I was able to curl the master and a media playlist, but then got a 503 for the media segments. Now I get a |
@marcbaechinger I will let the team know about this. Apologies for this problem. |
@marcbaechinger |
This makes sure that #EXT-X-RENDITION-REPORT tags can be placed before the list of segments/parts as well. We were previously assuming that these come at the end, which naturally would make sense and is done like this in all examples, but it is not explicitly defined by the spec. Issue: #9592 PiperOrigin-RevId: 406329684
Thanks! I was able to play your stream. |
@marcbaechinger Thanks for fixing this so quickly.
Thanks again. |
Looks like gradle JDK needs to be to Java 11. You can configure this in File > Settings. Then search for gradle where you can select the JDK used by gradle. The fix will land in the next release. I think this will happen approximately within the next two weeks or so. |
This makes sure that #EXT-X-RENDITION-REPORT tags can be placed before the list of segments/parts as well. We were previously assuming that these come at the end, which naturally would make sense and is done like this in all examples, but it is not explicitly defined by the spec. Issue: google/ExoPlayer#9592 PiperOrigin-RevId: 406329684
I'll forward a link to the stream to the dev email, along with a bugreport.zip.
Reproducible in:
ExoPlayer 2.15.1 demo
ExoPlayer 2.13.0 demo
Notable that the stream plays in the ExoPlayer 2.10.8 demo (although also noted that LL HLS support was not announced until 2.13.0, just noting here that it played without apparent problems in ExoPlayer 2.10.8).
Describe how the issue can be reproduced, ideally using the ExoPlayer demo app:
Expected:
Actual:
Output of running "adb bugreport" in the console shortly after encountering the issue
URI to test content for reproduction
ExoPlayer version number
Android versions: 6.0.1 and 11
Android devices: Samsung S5 (Android 6.0.1) and Google Pixel 4a (Android 11)
The text was updated successfully, but these errors were encountered: