-
Notifications
You must be signed in to change notification settings - Fork 582
Description
Version
Media3 1.5.0
More version details
No response
Devices that reproduce the issue
Samsung S24 running on Android 14
Devices that do not reproduce the issue
No response
Reproducible in the demo app?
Yes
Reproduction steps
- download androidx-media3
- add the following to media.exolist.json
{
"name": "WebVTT Sample",
"uri": "https://devstreaming-cdn.apple.com/videos/streaming/examples/adv_dv_atmos/main.m3u8"
}, - run demo
- change subtitle to Tradition Chinese or Simplified Chinese
Expected result
It should show subtitle but not in Tradition Chinese or Simplified Chinese.
Actual result
E Unexpected exception loading stream
java.lang.IllegalArgumentException: Out of range: -27
at com.google.common.base.Preconditions.checkArgument(Preconditions.java:204)
at com.google.common.primitives.Chars.checkedCast(Chars.java:83)
at androidx.media3.common.util.ParsableByteArray.peekCharacterAndSize(ParsableByteArray.java:750)
at androidx.media3.common.util.ParsableByteArray.readCharacterIfInList(ParsableByteArray.java:712)
at androidx.media3.common.util.ParsableByteArray.skipLineTerminator(ParsableByteArray.java:698)
at androidx.media3.common.util.ParsableByteArray.readLine(ParsableByteArray.java:566)
at androidx.media3.common.util.ParsableByteArray.readLine(ParsableByteArray.java:532)
at androidx.media3.extractor.text.webvtt.WebvttCueParser.parseCue(WebvttCueParser.java:359)
at androidx.media3.extractor.text.webvtt.WebvttCueParser.parseCue(WebvttCueParser.java:218)
at androidx.media3.extractor.text.webvtt.WebvttParser.parse(WebvttParser.java:101)
at androidx.media3.extractor.text.SubtitleTranscodingTrackOutput.sampleMetadata(SubtitleTranscodingTrackOutput.java:146)
at androidx.media3.exoplayer.hls.WebvttExtractor.processSample(WebvttExtractor.java:220)
at androidx.media3.exoplayer.hls.WebvttExtractor.read(WebvttExtractor.java:162)
at androidx.media3.exoplayer.hls.BundledHlsMediaChunkExtractor.read(BundledHlsMediaChunkExtractor.java:102)
at androidx.media3.exoplayer.hls.HlsMediaChunk.feedDataToExtractor(HlsMediaChunk.java:503)
at androidx.media3.exoplayer.hls.HlsMediaChunk.loadMedia(HlsMediaChunk.java:467)
at androidx.media3.exoplayer.hls.HlsMediaChunk.load(HlsMediaChunk.java:424)
at androidx.media3.exoplayer.upstream.Loader$LoadTask.run(Loader.java:450)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:644)
at java.lang.Thread.run(Thread.java:1012)
2025-02-20 10:09:09.517 20876-20876 EventLogger androidx.media3.demo.main D downstreamFormat [eventTime=6.30, mediaPos=3.17, window=0, period=0, id=subtitles:中文(繁體), mimeType=text/vtt, container=application/x-mpegURL, language=zh-cmn-hant, labels=[zh-cmn-hant: 中文(繁體)], selectionFlags=[auto]]
2025-02-20 10:09:09.519 20876-20876 EventLogger androidx.media3.demo.main E internalError [eventTime=6.30, mediaPos=3.17, window=0, period=0, loadError
androidx.media3.exoplayer.upstream.Loader$UnexpectedLoaderException: Unexpected IllegalArgumentException: Out of range: -27
at androidx.media3.exoplayer.upstream.Loader$LoadTask.run(Loader.java:471)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:644)
at java.lang.Thread.run(Thread.java:1012)
Caused by: java.lang.IllegalArgumentException: Out of range: -27
at com.google.common.base.Preconditions.checkArgument(Preconditions.java:204)
at com.google.common.primitives.Chars.checkedCast(Chars.java:83)
at androidx.media3.common.util.ParsableByteArray.peekCharacterAndSize(ParsableByteArray.java:750)
at androidx.media3.common.util.ParsableByteArray.readCharacterIfInList(ParsableByteArray.java:712)
at androidx.media3.common.util.ParsableByteArray.skipLineTerminator(ParsableByteArray.java:698)
at androidx.media3.common.util.ParsableByteArray.readLine(ParsableByteArray.java:566)
at androidx.media3.common.util.ParsableByteArray.readLine(ParsableByteArray.java:532)
at androidx.media3.extractor.text.webvtt.WebvttCueParser.parseCue(WebvttCueParser.java:359)
at androidx.media3.extractor.text.webvtt.WebvttCueParser.parseCue(WebvttCueParser.java:218)
at androidx.media3.extractor.text.webvtt.WebvttParser.parse(WebvttParser.java:101)
at androidx.media3.extractor.text.SubtitleTranscodingTrackOutput.sampleMetadata(SubtitleTranscodingTrackOutput.java:146)
at androidx.media3.exoplayer.hls.WebvttExtractor.processSample(WebvttExtractor.java:220)
at androidx.media3.exoplayer.hls.WebvttExtractor.read(WebvttExtractor.java:162)
at androidx.media3.exoplayer.hls.BundledHlsMediaChunkExtractor.read(BundledHlsMediaChunkExtractor.java:102)
at androidx.media3.exoplayer.hls.HlsMediaChunk.feedDataToExtractor(HlsMediaChunk.java:503)
at androidx.media3.exoplayer.hls.HlsMediaChunk.loadMedia(HlsMediaChunk.java:467)
at androidx.media3.exoplayer.hls.HlsMediaChunk.load(HlsMediaChunk.java:424)
at androidx.media3.exoplayer.upstream.Loader$LoadTask.run(Loader.java:450)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:644)
at java.lang.Thread.run(Thread.java:1012)
]
2025-02-20 10:09:09.527 20876-21622 ExoPlayerImplInternal androidx.media3.demo.main E Disabling track due to error: id=subtitles:中文(繁體), mimeType=application/x-media3-cues, container=application/x-mpegURL, codecs=text/vtt, language=zh-cmn-hant, labels=[zh-cmn-hant: 中文(繁體)], selectionFlags=[auto]
androidx.media3.exoplayer.upstream.Loader$UnexpectedLoaderException: Unexpected IllegalArgumentException: Out of range: -27
at androidx.media3.exoplayer.upstream.Loader$LoadTask.run(Loader.java:471)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:644)
at java.lang.Thread.run(Thread.java:1012)
Caused by: java.lang.IllegalArgumentException: Out of range: -27
at com.google.common.base.Preconditions.checkArgument(Preconditions.java:204)
at com.google.common.primitives.Chars.checkedCast(Chars.java:83)
at androidx.media3.common.util.ParsableByteArray.peekCharacterAndSize(ParsableByteArray.java:750)
at androidx.media3.common.util.ParsableByteArray.readCharacterIfInList(ParsableByteArray.java:712)
at androidx.media3.common.util.ParsableByteArray.skipLineTerminator(ParsableByteArray.java:698)
at androidx.media3.common.util.ParsableByteArray.readLine(ParsableByteArray.java:566)
at androidx.media3.common.util.ParsableByteArray.readLine(ParsableByteArray.java:532)
at androidx.media3.extractor.text.webvtt.WebvttCueParser.parseCue(WebvttCueParser.java:359)
at androidx.media3.extractor.text.webvtt.WebvttCueParser.parseCue(WebvttCueParser.java:218)
at androidx.media3.extractor.text.webvtt.WebvttParser.parse(WebvttParser.java:101)
at androidx.media3.extractor.text.SubtitleTranscodingTrackOutput.sampleMetadata(SubtitleTranscodingTrackOutput.java:146)
at androidx.media3.exoplayer.hls.WebvttExtractor.processSample(WebvttExtractor.java:220)
at androidx.media3.exoplayer.hls.WebvttExtractor.read(WebvttExtractor.java:162)
at androidx.media3.exoplayer.hls.BundledHlsMediaChunkExtractor.read(BundledHlsMediaChunkExtractor.java:102)
at androidx.media3.exoplayer.hls.HlsMediaChunk.feedDataToExtractor(HlsMediaChunk.java:503)
at androidx.media3.exoplayer.hls.HlsMediaChunk.loadMedia(HlsMediaChunk.java:467)
at androidx.media3.exoplayer.hls.HlsMediaChunk.load(HlsMediaChunk.java:424)
at androidx.media3.exoplayer.upstream.Loader$LoadTask.run(Loader.java:450)
Media
media url:
https://devstreaming-cdn.apple.com/videos/streaming/examples/adv_dv_atmos/main.m3u8"
Bug Report
- You will email the zip file produced by
adb bugreport
to android-media-github@google.com after filing this issue.