8000 Unexpected exception loading stream HEVC HDR10+ · Issue #10316 · google/ExoPlayer · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content
Unexpected exception loading stream HEVC HDR10+ #10316
Closed
@jvl711

Description

@jvl711

ExoPlayer Version

2.17.1

Devices that reproduce the issue

Onn Android TV box
Pixel 3 XL
FIreTV 4k Stick

Devices that do not reproduce the issue

No response

Reproducible in the demo app?

No

Reproduction steps

Playing the file

Expected result

Media playsback

Actual result

I am making an assumption that the issue might be the HDR10+. I have played back almost identical files without the HDR, and they seem to work without issue. I have tried a few examples with HDR10+ and they all seem to fail. I was able to playback the same file using a different player on the same devices.

I tried version 2.17.1 and 2.16.1 and they both throw the same stack trace. There is no video displayed at all. It appears to fail prior to completly loading the file.

Thanks,
Josh

Here is the media format info:

Format : Matroska
Format version : Version 4
File size : 4.33 GiB
Duration : 45 min 45 s
Overall bit rate : 13.6 Mb/s
Writing application : mkvmerge v49.0.0 ('Sick Of Losing Soulmates') 64-bit
Writing library : libebml v1.4.0 + libmatroska v1.6.1

Video
ID : 1
Format : HEVC
Format/Info : High Efficiency Video Coding
Format profile : Main 10@L5@Main
HDR format : SMPTE ST 2094 App 4, Version 1, HDR10+ Profile B compatible
Codec ID : V_MPEGH/ISO/HEVC
Duration : 45 min 45 s
Bit rate : 13.1 Mb/s
Width : 3 840 pixels
Height : 2 160 pixels
Display aspect ratio : 16:9
Frame rate mode : Constant
Frame rate : 23.976 (24000/1001) FPS
Color space : YUV
Chroma subsampling : 4:2:0 (Type 2)
Bit depth : 10 bits
Bits/(Pixel*Frame) : 0.066
Stream size : 4.19 GiB (97%)
Default : Yes
Forced : No
Color range : Limited
Color primaries : BT.2020
Transfer characteristics : PQ
Matrix coefficients : BT.2020 non-constant
Mastering display color primaries : Display P3
Mastering display luminance : min: 0.0001 cd/m2, max: 1000 cd/m2

Audio
ID : 2
Format : E-AC-3
Format/Info : Enhanced AC-3
Commercial name : Dolby Digital Plus
Codec ID : A_EAC3
Duration : 45 min 45 s
Bit rate mode : Constant
Bit rate : 192 kb/s
Channel(s) : 6 channels
Channel layout : L R C LFE Ls Rs
Sampling rate : 48.0 kHz
Frame rate : 31.250 FPS (1536 SPF)
Compression mode : Lossy
Stream size : 62.8 MiB (1%)
Language : English
Service kind : Complete Main
Default : Yes
Forced : No

Text #1
ID : 3
Format : UTF-8
Codec ID : S_TEXT/UTF8
Codec ID/Info : UTF-8 Plain Text
Title : English
Language : English
Default : No
Forced : No

Text #2
ID : 4
Format : UTF-8
Codec ID : S_TEXT/UTF8
Codec ID/Info : UTF-8 Plain Text
Title : English [SDH]
Language : English
Default : No
Forced : No

Here is the stack trace:

E/LoadTask: Unexpected exception loading stream
      java.lang.IllegalStateException
        at com.google.android.exoplayer2.util.Assertions.checkState(Assertions.java:84)
        at com.google.android.exoplayer2.util.ParsableNalUnitBitArray.assertValidOffset(ParsableNalUnitBitArray.java:209)
        at com.google.android.exoplayer2.util.ParsableNalUnitBitArray.readBits(ParsableNalUnitBitArray.java:149)
        at com.google.android.exoplayer2.util.ParsableNalUnitBitArray.readExpGolombCodeNum(ParsableNalUnitBitArray.java:196)
        at com.google.android.exoplayer2.util.ParsableNalUnitBitArray.readUnsignedExpGolombCodedInt(ParsableNalUnitBitArray.java:178)
        at com.google.android.exoplayer2.util.NalUnitUtil.skipShortTermReferencePictureSets(NalUnitUtil.java:795)
        at com.google.android.exoplayer2.util.NalUnitUtil.parseH265SpsNalUnitPayload(NalUnitUtil.java:542)
        at com.google.android.exoplayer2.util.NalUnitUtil.parseH265SpsNalUnit(NalUnitUtil.java:451)
        at com.google.android.exoplayer2.video.HevcConfig.parse(HevcConfig.java:81)
        at com.google.android.exoplayer2.extractor.mkv.MatroskaExtractor$Track.initializeOutput(MatroskaExtractor.java:2012)
        at com.google.android.exoplayer2.extractor.mkv.MatroskaExtractor.endMasterElement(MatroskaExtractor.java:770)
        at com.google.android.exoplayer2.extractor.mkv.MatroskaExtractor$InnerEbmlProcessor.endMasterElement(MatroskaExtractor.java:1879)
        at com.google.android.exoplayer2.extractor.mkv.DefaultEbmlReader.read(DefaultEbmlReader.java:84)
        at com.google.android.exoplayer2.extractor.mkv.MatroskaExtractor.read(MatroskaExtractor.java:480)
        at com.google.android.exoplayer2.source.BundledExtractorsAdapter.read(BundledExtractorsAdapter.java:127)
        at com.google.android.exoplayer2.source.ProgressiveMediaPeriod$ExtractingLoadable.load(ProgressiveMediaPeriod.java:1046)
        at com.google.android.exoplayer2.upstream.Loader$LoadTask.run(Loader.java:409)
        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:919)
2022-06-03 12:31:04.869 9050-9195/jvl.sage.miniclient.android.tv.debug.debug E/ExoPlayerImplInternal: Playback error
      com.google.android.exoplayer2.ExoPlaybackException: Source error
        at com.google.android.exoplayer2.ExoPlayerImplInternal.handleIoException(ExoPlayerImplInternal.java:628)
        at com.google.android.exoplayer2.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:604)
        at android.os.Handler.dispatchMessage(Handler.java:103)
        at android.os.Looper.loop(Looper.java:214)
        at android.os.HandlerThread.run(HandlerThread.java:67)
     Caused by: com.google.android.exoplayer2.upstream.Loader$UnexpectedLoaderException: Unexpected IllegalStateException: null
        at com.google.android.exoplayer2.upstream.Loader$LoadTask.run(Loader.java:430)
        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:919)
     Caused by: java.lang.IllegalStateException
        at com.google.android.exoplayer2.util.Assertions.checkState(Assertions.java:84)
        at com.google.android.exoplayer2.util.ParsableNalUnitBitArray.assertValidOffset(ParsableNalUnitBitArray.java:209)
        at com.google.android.exoplayer2.util.ParsableNalUnitBitArray.readBits(ParsableNalUnitBitArray.java:149)
        at com.google.android.exoplayer2.util.ParsableNalUnitBitArray.readExpGolombCodeNum(ParsableNalUnitBitArray.java:196)
        at com.google.android.exoplayer2.util.ParsableNalUnitBitArray.readUnsignedExpGolombCodedInt(ParsableNalUnitBitArray.java:178)
        at com.google.android.exoplayer2.util.NalUnitUtil.skipShortTermReferencePictureSets(NalUnitUtil.java:795)
        at com.google.android.exoplayer2.util.NalUnitUtil.parseH265SpsNalUnitPayload(NalUnitUtil.java:542)
        at com.google.android.exoplayer2.util.NalUnitUtil.parseH265SpsNalUnit(NalUnitUtil.java:451)
        at com.google.android.exoplayer2.video.HevcConfig.parse(HevcConfig.java:81)
        at com.google.android.exoplayer2.extractor.mkv.MatroskaExtractor$Track.initializeOutput(MatroskaExtractor.java:2012)
        at com.google.android.exoplayer2.extractor.mkv.MatroskaExtractor.endMasterElement(MatroskaExtractor.java:770)
        at com.google.android.exoplayer2.extractor.mkv.MatroskaExtractor$InnerEbmlProcessor.endMasterElement(MatroskaExtractor.java:1879)
        at com.google.android.exoplayer2.extractor.mkv.DefaultEbmlReader.read(DefaultEbmlReader.java:84)
        at com.google.android.exoplayer2.extractor.mkv.MatroskaExtractor.read(MatroskaExtractor.java:480)
        at com.google.android.exoplayer2.source.BundledExtractorsAdapter.read(BundledExtractorsAdapter.java:127)
        at com.google.android.exoplayer2.source.ProgressiveMediaPeriod$ExtractingLoadable.load(ProgressiveMediaPeriod.java:1046)
        at com.google.android.exoplayer2.upstream.Loader$LoadTask.run(Loader.java:409)
        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:919) 

Media

I can provide an example if needed.

Bug Report

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions

    0