Skip to content
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 doesn't check if any other stream in .m3u8 works if one of them gives 403 (HLS) #4044

Closed
pju-intive opened this issue Mar 27, 2018 · 2 comments
Assignees

Comments

@pju-intive
Copy link

pju-intive commented Mar 27, 2018

Issue description

Having stream with different bitrates, one of them returns 403.
ExoPlayer checks it 4 times then gives up and returns with 403.
Even if there is one with lower bitrate it doesn't check it, to save stream.
Other platforms works this way (checks all of possible streams) and make it more failure tolerant for us.

Reproduction steps

Have .m3u8 with one or few streams in it returns 403 and other works fine.

Link to test content

sorry, but I only had it for brief time, will work with provider to make one available in future.

Version of ExoPlayer being used

r2.5.1
2.7.1

Device(s) and version(s) of Android being used

Google Pixel with Android 8.0
Emulator with 7.1 image in

A full bug report captured from the device

com.google.android.exoplayer2.upstream.HttpDataSource$InvalidResponseCodeException: Response code: 403
at com.google.android.exoplayer2.ext.okhttp.OkHttpDataSource.open(OkHttpDataSource.java:175)
at com.google.android.exoplayer2.upstream.DataSourceInputStream.checkOpened(DataSourceInputStream.java:102)
at com.google.android.exoplayer2.upstream.DataSourceInputStream.open(DataSourceInputStream.java:65)
at com.google.android.exoplayer2.upstream.ParsingLoadable.load(ParsingLoadable.java:129)
at com.google.android.exoplayer2.upstream.Loader$LoadTask.run(Loader.java:308)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
at java.lang.Thread.run(Thread.java:761)

@AquilesCanta AquilesCanta self-assigned this Mar 27, 2018
@AquilesCanta
Copy link
Contributor

403 is not considered to be blacklistable (404 and 410 currently are). The customizabilty of error handling across media sources (mainly adaptive ones) is tracked by #2981. If you control the media, you might want to try using 404 instead.

@pju-intive
Copy link
Author

thanks for response, will work with it

@google google locked and limited conversation to collaborators Aug 10, 2018
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

2 participants