google / google/ExoPlayer

TsExtractor: select PesReader based on HDMV format identifier

Open
#8,911 10 comments 0 reactions 1 assignee Claimed by @andrewlewis View on GitHub
enhancement
Dominant language
Java
Stars
21.9k
Forks
6k
PR merge metrics
No merged PRs in 30d

Description

> - Clear reproduction steps including observed and expected behavior

Download M2TS_DTSHD_AC3_MP2_MP3_DTS.ts and put it on your HTTP server.
Add URI for M2TS_DTSHD_AC3_MP2_MP3_DTS.ts file to the media.exolist.json.
Run ExoPlayer demo app and try to play the file.

> - URI to test content for reproduction

Sample file: [M2TS_DTSHD_AC3_MP2_MP3_DTS.ts](https://www.dropbox.com/s/tq5od0jknqstf5n/M2TS_DTSHD_AC3_MP2_MP3_DTS.ts?dl=0)

> - ExoPlayer version number

2.13.2 (Any I suspect.)
SHA1 ID 4364b9150f236813a2070fc79d3bcb76e11969ac

> - Android version

7

> - Android device

Any.

```
Tracks in logcat:
2021-05-07 14:25:20.026 11471-11471/com.google.android.exoplayer2.demo D/EventLogger: tracks [eventTime=0.77, mediaPos=0.00, window=0, period=0
2021-05-07 14:25:20.026 11471-11471/com.google.android.exoplayer2.demo D/EventLogger: MediaCodecVideoRenderer [
2021-05-07 14:25:20.026 11471-11471/com.google.android.exoplayer2.demo D/EventLogger: Group:0, adaptive_supported=N/A [
2021-05-07 14:25:20.026 11471-11471/com.google.android.exoplayer2.demo D/EventLogger: [X] Track:0, id=1/4113, mimeType=video/avc, codecs=avc1.640029, res=1920x1080, supported=YES
2021-05-07 14:25:20.026 11471-11471/com.google.android.exoplayer2.demo D/EventLogger: ]
2021-05-07 14:25:20.026 11471-11471/com.google.android.exoplayer2.demo D/EventLogger: ]
2021-05-07 14:25:20.026 11471-11471/com.google.android.exoplayer2.demo D/EventLogger: LibvpxVideoRenderer []
2021-05-07 14:25:20.026 11471-11471/com.google.android.exoplayer2.demo D/EventLogger: Libgav1VideoRenderer []
2021-05-07 14:25:20.026 11471-11471/com.google.android.exoplayer2.demo D/EventLogger: MediaCodecAudioRenderer [
2021-05-07 14:25:20.026 11471-11471/com.google.android.exoplayer2.demo D/EventLogger: Group:0, adaptive_supported=N/A [
2021-05-07 14:25:20.027 11471-11471/com.google.android.exoplayer2.demo D/EventLogger: [X] Track:0, id=1/4353, mimeType=audio/ac3, channels=6, sample_rate=48000, language=en, supported=YES
2021-05-07 14:25:20.027 11471-11471/com.google.android.exoplayer2.demo D/EventLogger: ]
2021-05-07 14:25:20.027 11471-11471/com.google.android.exoplayer2.demo D/EventLogger: Group:1, adaptive_supported=N/A [
2021-05-07 14:25:20.027 11471-11471/com.google.android.exoplayer2.demo D/EventLogger: [ ] Track:0, id=1/4354, mimeType=audio/mpeg, channels=2, sample_rate=48000, language=en, supported=YES
2021-05-07 14:25:20.027 11471-11471/com.google.android.exoplayer2.demo D/EventLogger: ]
2021-05-07 14:25:20.027 11471-11471/com.google.android.exoplayer2.demo D/EventLogger: Group:2, adaptive_supported=N/A [
2021-05-07 14:25:20.027 11471-11471/com.google.android.exoplayer2.demo D/EventLogger: [ ] Track:0, id=1/4355, mimeType=audio/mpeg-L2, channels=2, sample_rate=48000, language=en, supported=YES
2021-05-07 14:25:20.027 11471-11471/com.google.android.exoplayer2.demo D/EventLogger: ]
2021-05-07 14:25:20.027 11471-11471/com.google.android.exoplayer2.demo D/EventLogger: ]
2021-05-07 14:25:20.027 11471-11471/com.google.android.exoplayer2.demo D/EventLogger: LibopusAudioRenderer []
2021-05-07 14:25:20.027 11471-11471/com.google.android.exoplayer2.demo D/EventLogger: LibflacAudioRenderer []
2021-05-07 14:25:20.027 11471-11471/com.google.android.exoplayer2.demo D/EventLogger: FfmpegAudioRenderer []
2021-05-07 14:25:20.027 11471-11471/com.google.android.exoplayer2.demo D/EventLogger: TextRenderer []
2021-05-07 14:25:20.027 11471-11471/com.google.android.exoplayer2.demo D/EventLogger: MetadataRenderer [
2021-05-07 14:25:20.027 11471-11471/com.google.android.exoplayer2.demo D/EventLogger: Group:0, adaptive_supported=N/A [
2021-05-07 14:25:20.027 11471-11471/com.google.android.exoplayer2.demo D/EventLogger: [X] Track:0, id=null, mimeType=application/x-scte35, supported=YES
2021-05-07 14:25:20.027 11471-11471/com.google.android.exoplayer2.demo D/EventLogger: ]
2021-05-07 14:25:20.028 11471-11471/com.google.android.exoplayer2.demo D/EventLogger: ]
2021-05-07 14:25:20.028 11471-11471/com.google.android.exoplayer2.demo D/EventLogger: CameraMotionRenderer []
2021-05-07 14:25:20.028 11471-11471/com.google.android.exoplayer2.demo D/EventLogger: ]

Exception in SCTE35 parser:
2021-05-07 14:25:22.500 11471-11834/com.google.android.exoplayer2.demo E/ExoPlayerImplInternal: Playback error
com.google.android.exoplayer2.ExoPlaybackException: Unexpected runtime error
at com.google.android.exoplayer2.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:586)
at android.os.Handler.dispatchMessage(Handler.java:98)
at android.os.Looper.loop(Looper.java:154)
at android.os.HandlerThread.run(HandlerThread.java:61)
Caused by: java.lang.IllegalStateException
at com.google.android.exoplayer2.util.Assertions.checkState(Assertions.java:86)
at com.google.android.exoplayer2.util.ParsableBitArray.assertValidOffset(ParsableBitArray.java:349)
at com.google.android.exoplayer2.util.ParsableBitArray.readBits(ParsableBitArray.java:189)
at com.google.android.exoplayer2.metadata.scte35.SpliceInfoDecoder.decode(SpliceInfoDecoder.java:65)
at com.google.android.exoplayer2.metadata.SimpleMetadataDecoder.decode(SimpleMetadataDecoder.java:34)
at com.google.android.exoplayer2.metadata.MetadataRenderer.render(MetadataRenderer.java:135)
at com.google.android.exoplayer2.ExoPlayerImplInternal.doSomeWork(ExoPlayerImplInternal.java:947)
at com.google.android.exoplayer2.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:477)
at android.os.Handler.dispatchMessage(Handler.java:98) 
at android.os.Looper.loop(Looper.java:154) 
at android.os.HandlerThread.run(HandlerThread.java:61) `
```

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.