Exoplayer can't plays HLS video.
- 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
Android TV 8.0
### Devices that do not reproduce the issue
_No response_
### Reproducible in the demo app?
Yes
### Reproduction steps
1. plays attached media
2. seek to 104s (last HLS chunk) when media starts playback.
### Expected result
The media is plays successfully.
### Actual result
Playback crashes error log with belows...
10-25 14:49:52.481 E 6019 6116 MediaCodec: Codec reported err 0x80001001, actionCode 0, while in state 6
10-25 14:49:52.492 E 6019 6091 MediaCodecAudioRenderer: Audio codec error
10-25 14:49:52.492 E 6019 6091 MediaCodecAudioRenderer: java.lang.IllegalStateException
10-25 14:49:52.492 E 6019 6091 MediaCodecAudioRenderer: at android.media.MediaCodec.native_dequeueInputBuffer(Native Method)
10-25 14:49:52.492 E 6019 6091 MediaCodecAudioRenderer: at android.media.MediaCodec.dequeueInputBuffer(MediaCodec.java:2559)
10-25 14:49:52.492 E 6019 6091 MediaCodecAudioRenderer: at com.google.android.exoplayer2.mediacodec.SynchronousMediaCodecAdapter.dequeueInputBufferIndex(SynchronousMediaCodecAdapter.java:99)
10-25 14:49:52.492 E 6019 6091 MediaCodecAudioRenderer: at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.feedInputBuffer(MediaCodecRenderer.java:1190)
10-25 14:49:52.492 E 6019 6091 MediaCodecAudioRenderer: at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.render(MediaCodecRenderer.java:794)
10-25 14:49:52.492 E 6019 6091 MediaCodecAudioRenderer: at com.google.android.exoplayer2.ExoPlayerImplInternal.doSomeWork(ExoPlayerImplInternal.java:989)
10-25 14:49:52.492 E 6019 6091 MediaCodecAudioRenderer: at com.google.android.exoplayer2.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:490)
10-25 14:49:52.492 E 6019 6091 MediaCodecAudioRenderer: at android.os.Handler.dispatchMessage(Handler.java:101)
10-25 14:49:52.492 E 6019 6091 MediaCodecAudioRenderer: at android.os.Looper.loop(Looper.java:164)
10-25 14:49:52.492 E 6019 6091 MediaCodecAudioRenderer: at android.os.HandlerThread.run(HandlerThread.java:65)
10-25 14:49:52.505 E 6019 6091 ExoPlayerImplInternal: Playback error
10-25 14:49:52.505 E 6019 6091 ExoPlayerImplInternal: com.google.android.exoplayer2.ExoPlaybackException: MediaCodecAudioRenderer error, index=1, format=Format(1/15, null, null, audio/mp4a-latm, mp4a.40.2, -1, und, [-1, -1, -1.0], [0, 7350]), format_supported=NO_EXCEEDS_CAPABILITIES
10-25 14:49:52.505 E 6019 6091 ExoPlayerImplInternal: at com.google.android.exoplayer2.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:566)
10-25 14:49:52.505 E 6019 6091 ExoPlayerImplInternal: at android.os.Handler.dispatchMessage(Handler.java:101)
10-25 14:49:52.505 E 6019 6091 ExoPlayerImplInternal: at android.os.Looper.loop(Looper.java:164)
10-25 14:49:52.505 E 6019 6091 ExoPlayerImplInternal: at android.os.HandlerThread.run(HandlerThread.java:65)
10-25 14:49:52.505 E 6019 6091 ExoPlayerImplInternal: Caused by: com.google.android.exoplayer2.mediacodec.MediaCodecDecoderException: Decoder failed: OMX.broadcom.audio_decoder.aac
10-25 14:49:52.505 E 6019 6091 ExoPlayerImplInternal: at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.createDecoderException(MediaCodecRenderer.java:945)
10-25 14:49:52.505 E 6019 6091 ExoPlayerImplInternal: at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.render(MediaCodecRenderer.java:813)
10-25 14:49:52.505 E 6019 6091 ExoPlayerImplInternal: at com.google.android.exoplayer2.ExoPlayerImplInternal.doSomeWork(ExoPlayerImplInternal.java:989)
10-25 14:49:52.505 E 6019 6091 ExoPlayerImplInternal: at com.google.android.exoplayer2.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:490)
10-25 14:49:52.505 E 6019 6091 ExoPlayerImplInternal: ... 3 more
10-25 14:49:52.505 E 6019 6091 ExoPlayerImplInternal: Caused by: java.lang.IllegalStateException
10-25 14:49:52.505 E 6019 6091 ExoPlayerImplInternal: at android.media.MediaCodec.native_dequeueInputBuffer(Native Method)
10-25 14:49:52.505 E 6019 6091 ExoPlayerImplInternal: at android.media.MediaCodec.dequeueInputBuffer(MediaCodec.java:2559)
10-25 14:49:52.505 E 6019 6091 ExoPlayerImplInternal: at com.google.android.exoplayer2.mediacodec.SynchronousMediaCodecAdapter.dequeueInputBufferIndex(SynchronousMediaCodecAdapter.java:99)
10-25 14:49:52.505 E 6019 6091 ExoPlayerImplInternal: at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.feedInputBuffer(MediaCodecRenderer.java:1190)
10-25 14:49:52.505 E 6019 6091 ExoPlayerImplInternal: at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.render(MediaCodecRenderer.java:794)
10-25 14:49:52.505 E 6019 6091 ExoPlayerImplInternal: ... 5 more
10-25 14:49:52.525 E 6019 6091 ExoPlayerImplInternal: Disable failed.
10-25 14:49:52.525 E 6019 6091 ExoPlayerImplInternal: java.lang.IllegalStateException
10-25 14:49:52.525 E 6019 6091 ExoPlayerImplInternal: at android.media.MediaCodec.native_flush(Native Method)
10-25 14:49:52.525 E 6019 6091 ExoPlayerImplInternal: at android.media.MediaCodec.flush(MediaCodec.java:2106)
10-25 14:49:52.525 E 6019 6091 ExoPlayerImplInternal: at com.google.android.exoplayer2.mediacodec.SynchronousMediaCodecAdapter.flush(SynchronousMediaCodecAdapter.java:166)
10-25 14:49:52.525 E 6019 6091 ExoPlayerImplInternal: at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.flushCodec(MediaCodecRenderer.java:877)
10-25 14:49:52.525 E 6019 6091 ExoPlayerImplInternal: at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.flushOrReleaseCodec(MediaCodecRenderer.java:870)
10-25 14:49:52.525 E 6019 6091 ExoPlayerImplInternal: at com.google.android.exoplayer2.mediacodec.MediaCodecRenderer.onDisabled(MediaCodecRenderer.java:710)
10-25 14:49:52.525 E 6019 6091 ExoPlayerImplInternal: at com.google.android.exoplayer2.audio.MediaCodecAudioRenderer.onDisabled(MediaCodecAudioRenderer.java:603)
10-25 14:49:52.525 E 6019 6091 ExoPlayerImplInternal: at com.google.android.exoplayer2.BaseRenderer.disable(BaseRenderer.java:186)
10-25 14:49:52.525 E 6019 6091 ExoPlayerImplInternal: at com.google.android.exoplayer2.ExoPlayerImplInternal.disableRenderer(ExoPlayerImplInternal.java:1651)
10-25 14:49:52.525 E 6019 6091 ExoPlayerImplInternal: at com.google.android.exoplayer2.ExoPlayerImplInternal.resetInternal(ExoPlayerImplInternal.java:1392)
10-25 14:49:52.525 E 6019 6091 ExoPlayerImplInternal: at com.google.android.exoplayer2.ExoPlayerImplInternal.stopInternal(ExoPlayerImplInternal.java:1355)
10-25 14:49:52.525 E 6019 6091 ExoPlayerImplInternal: at com.google.android.exoplayer2.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:582)
10-25 14:49:52.525 E 6019 6091 ExoPlayerImplInternal: at android.os.Handler.dispatchMessage(Handler.java:101)
10-25 14:49:52.525 E 6019 6091 ExoPlayerImplInternal: at android.os.Looper.loop(Looper.java:164)
10-25 14:49:52.525 E 6019 6091 ExoPlayerImplInternal: at android.os.HandlerThread.run(HandlerThread.java:65)
### Media
https://drive.google.com/file/d/158niHFchu7SbFqswIyJ__K3Ay6ULRIEY/view?usp=sharing
Zip file contains sample App & media chunk file.
The chunk has problem is '999.ts'.
success case
1. keep play media from begining
2. play only the last chunk (999.ts)
fail case
1. try to seek to 104s when media starts.
on fail case, ExoPlayer get AAC audio sample_rate '7350' and channel_count 0.
### Bug Report
- [ ] You will email the zip file produced by `adb bugreport` to dev.exoplayer@gmail.com after filing this issue.
Contributor guide
Assessment
This issue has not been assessed yet.