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
Possible to ignore an EOFException? #2024
Comments
Could you elaborate on what you mean by "flakey"? Are the files truncated? We may need an example file to investigate further so please share one, and also the output of |
When playing the video I'm getting:
This is the URL of the content I'm trying to play:
I've tried loading the URL directly and also caching the file locally and then loading the content both to no avail. Finally I've run the source through ffmpeg just in case that helps
|
I've spoken with the video host and they have informed me this was down to a bug in ffmpeg:
The link provided above has since been fixed but this link still has the same behaviour: If the issue is down to the audio encoding being incorrect which in turn is down to ffmpeg (and seems to be troubling other hosting sites too), is it possible to get a more elegant notification of this in ExoPlayer? For example a callback that the audio stream is invalid with an option to ignore the audio and just play the video? The use case here is for small looping clips that often do not even require audio but having just the video stream play is better than telling the user EOFException. Thanks |
I think having elegant failures for this kind of thing in general would require us to do a huge amount of validation on the stream as we're processing it, which is quite expensive, would add a lot of weight to the codebase, and probably doesn't represent a good trade-off. If this problem is widespread across multiple providers then we could consider an elegant failure specifically for this case. I somewhat doubt it is though. I'd expect most streaming providers to catch this kind of thing when testing a new ffmpeg version, before adopting it. I'd also expect a streaming provider to fairly quickly re-transcode any bad content they've produced, thereby rectifying the issue. Is that accurate, or do you really think we need to be handling this? If so, please provide concrete numbers / data to justify :). As an aside, could you link to the corresponding ffmpeg issue? It would be good to know the root cause and the exact versions of ffmpeg in which the issue was present. |
I've maybe seen a few thousand badly encoded MP4s over the last week. The provider for these MP4s was Gfycat.com and if you want to message me privately (contact@laurencedawson.com) I can make the introduction to their team to discuss the issue. |
As per above, unless the issue is affecting multiple providers or is widespread, I think we're happy to assume the problem will be cleared up as that provider re-transcodes any bad content they've produced. Closing for now. A link to the ffmpeg issue would still be appreciated. |
I'm trying to play a few "flakey" MP4 files that are throwing an EOFException.
Is it possible to ignore an EOFException and attempt to play the file regardless of this?
Thanks
The text was updated successfully, but these errors were encountered: