google / google/ExoPlayer

Exoplayer can't plays HLS video.

Open
#10,720 0 comments 0 reactions 1 assignee Claimed by @rohitjoins View on GitHub
bug needs triage
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

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.