google / google/ExoPlayer

Some vorbis files does not play in ogg container

Open
#10,502 10 comments 0 reactions 1 assignee Assigned to @rohitjoins View on GitHub
enhancement low priority
Dominant language
Java
Stars
21.9k
Forks
6k
PR merge metrics
No merged PRs in 30d

Description

### ExoPlayer Version

2.18.1

### Devices that reproduce the issue

All

### Devices that do not reproduce the issue

None

### Reproducible in the demo app?

Yes

### Reproduction steps

Play the attached file

### Expected result

The media should play.

From my understanding after some research, it seems that this file also embed a "fake" Theora track that stream the cover.
But the file have a valid Vorbis track that plays normally on other players.

The ogg parser should support those file and only return the Vorbis tracks, specially when providing a music only player.

### Actual result

2022-08-03 10:25:55.919 Error/ExoPlayer: playerFailed [eventTime=3707.62, mediaPos=0.00, window=3, period=3, errorCode=ERROR_CODE_PARSING_CONTAINER_UNSUPPORTED
com.google.android.exoplayer2.ExoPlaybackException: Source error
at com.google.android.exoplayer2.ExoPlayerImplInternal.handleIoException(ExoPlayerImplInternal.java:632)
at com.google.android.exoplayer2.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:602)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loopOnce(Looper.java:201)
at android.os.Looper.loop(Looper.java:288)
at android.os.HandlerThread.run(HandlerThread.java:67)
Caused by: com.google.android.exoplayer2.source.UnrecognizedInputFormatException: None of the available extractors (Mp3Extractor, FlacExtractor, OggExtractor, WavExtractor, MatroskaExtractor, Mp4Extractor, FragmentedMp4Extractor) could read the stream.
at com.google.android.exoplayer2.source.BundledExtractorsAdapter.init(BundledExtractorsAdapter.java:92)
at com.google.android.exoplayer2.source.ProgressiveMediaPeriod$ExtractingLoadable.load(ProgressiveMediaPeriod.java:1017)
at com.google.android.exoplayer2.upstream.Loader$LoadTask.run(Loader.java:412)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
at java.lang.Thread.run(Thread.java:920)

### Media

[01 - Living In A Ghost Town.ogg.zip](https://github.com/google/ExoPlayer/files/9249493/01.-.Living.In.A.Ghost.Town.ogg.zip)

### Bug Report

- [ ] You will email the zip file produced by `adb bugreport` to dev.exoplayer@gmail.com after filing this issue.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.