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

EOFException during playback of specific ogg file #1506

Closed
zsmatyas opened this issue May 6, 2016 · 2 comments
Closed

EOFException during playback of specific ogg file #1506

zsmatyas opened this issue May 6, 2016 · 2 comments
Assignees
Labels

Comments

@zsmatyas
Copy link
Contributor

zsmatyas commented May 6, 2016

Ogg sample throws and exception. Might be a problem with the content, but I cannot tell the cause at the moment. Other ogg files play correctly.

CALLSTACK

 java.io.EOFException
at com.google.android.exoplayer.extractor.ogg.OggUtil.populatePageHeader(OggUtil.java:108)
at com.google.android.exoplayer.extractor.ogg.OggReader.readGranuleOfLastPage(OggReader.java:119)
at com.google.android.exoplayer.extractor.ogg.OggVorbisExtractor.read(OggVorbisExtractor.java:118)
at com.google.android.exoplayer.extractor.ExtractorSampleSource$ExtractingLoadable.load(ExtractorSampleSource.java:836)
at com.google.android.exoplayer.upstream.Loader$LoadTask.run(Loader.java:209)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:423)
at java.util.concurrent.FutureTask.run(FutureTask.java:237)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588)
at java.lang.Thread.run(Thread.java:818)

Repro steps:

  • Add sample to Samples.java:

new Sample( "Short ogg file", "http://www.w3schools.com/tags/horse.ogg", Util.TYPE_OTHER),

  • attempt to play it

Content:
http://www.w3schools.com/tags/horse.ogg
**
The version of ExoPlayer being used:**

    android:versionCode="1507"
    android:versionName="1.5.7"
  • Reproduced on all android devices I have, like Nexus 5x, Nexus player.

bugreport.txt

@ojw28
Copy link
Contributor

ojw28 commented May 9, 2016

@marcbaechinger - Could you take a look at this?

  • Where does the -8000 come from in VorbisReader.read? Could this be made a named constant or could an inline comment be added for clarification?
  • After seeking to length-8000 readGranuleOfLastPage finds lots of page headers, but none for which the condition to exit the while loop is true. I think the file probably doesn't have "last page" flag set on the last page. It should be trivial to handle this case by breaking out of the loop if the input's position ends up being equal to its length after the body for the previous page has been skipped?

@marcbaechinger
Copy link
Contributor

Yes, that's right. Seems to have no last page. I'll take a look. Thanks.

ojw28 pushed a commit that referenced this issue May 10, 2016
Such files are slightly off spec but easy to support.

Issue: #1506
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=121927762
@ojw28 ojw28 closed this as completed May 10, 2016
ojw28 pushed a commit that referenced this issue Jun 15, 2016
Such files are slightly off spec but easy to support.(#1506)
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=121927762
@google google locked and limited conversation to collaborators Jun 28, 2017
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Projects
None yet
Development

No branches or pull requests

3 participants