Skip to content

HLS stream NumberFormatException issue #3747

@needz

Description

@needz

Issue description

A particular HLS stream cannot be played in ExoPlayer, but can be played back using VLC on the same device.

Is there anything that can be tweaked manually in the current (or 2.5.*) versions of the ExoPlayer?

Reproduction steps

Run the provided link in the ExoPlayer demo app.

Link to test content

http://tv.skyline.uz/hls/101ch.m3u8

m3u8 content:

#EXTM3U
#EXT-X-VERSION:3
#EXT-X-TARGETDURATION:4
#EXT-X-MEDIA-SEQUENCE:20180124171985
#EXTINF:2.240000,
101ch20180124171985.ts
#EXTINF:3.680000,
101ch20180124171986.ts
#EXTINF:2.880000,
101ch20180124171987.ts
#EXTINF:2.880000,
101ch20180124171988.ts
#EXTINF:2.880000,
101ch20180124171989.ts

Version of ExoPlayer being used

ExoPlayer 2.6.1

Device(s) and version(s) of Android being used

Nexus Player and nVidia Shield TV

A full bug report captured from the device

01-24 15:39:19.877 2829-2829/com.google.android.exoplayer2.demo I/ExoPlayerImpl: Init a735023 [ExoPlayerLib/2.6.1] [fugu, Nexus Player, Asus, 26]
01-24 15:39:19.905 2829-2829/com.google.android.exoplayer2.demo D/EventLogger: state [0.13, true, I]
01-24 15:39:19.947 2829-2829/com.google.android.exoplayer2.demo I/Choreographer: Skipped 33 frames!  The application may be doing too much work on its main thread.
01-24 15:39:19.971 2829-2895/com.google.android.exoplayer2.demo D/NetworkSecurityConfig: No Network Security Config specified, using platform default
01-24 15:39:20.024 2829-2829/com.google.android.exoplayer2.demo D/EventLogger: state [0.25, true, B]
01-24 15:39:20.135 323-348/? I/ActivityManager: Displayed com.google.android.exoplayer2.demo/.PlayerActivity: +765ms
01-24 15:39:20.306 2829-2895/com.google.android.exoplayer2.demo E/LoadTask: Unexpected exception loading stream
                                                                            java.lang.NumberFormatException: For input string: "20180124171998"
                                                                                at java.lang.Integer.parseInt(Integer.java:611)
                                                                                at java.lang.Integer.parseInt(Integer.java:643)
                                                                                at com.google.android.exoplayer2.source.hls.playlist.HlsPlaylistParser.parseIntAttr(HlsPlaylistParser.java:465)
                                                                                at com.google.android.exoplayer2.source.hls.playlist.HlsPlaylistParser.parseMediaPlaylist(HlsPlaylistParser.java:365)
                                                                                at com.google.android.exoplayer2.source.hls.playlist.HlsPlaylistParser.parse(HlsPlaylistParser.java:150)
                                                                                at com.google.android.exoplayer2.source.hls.playlist.HlsPlaylistParser.parse(HlsPlaylistParser.java:47)
                                                                                at com.google.android.exoplayer2.upstream.ParsingLoadable.load(ParsingLoadable.java:126)
                                                                                at com.google.android.exoplayer2.upstream.Loader$LoadTask.run(Loader.java:315)
                                                                                at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162)
                                                                                at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636)
                                                                                at java.lang.Thread.run(Thread.java:764)
01-24 15:39:20.311 2829-2829/com.google.android.exoplayer2.demo E/EventLogger: internalError [0.54, loadError]
                                                                               com.google.android.exoplayer2.upstream.Loader$UnexpectedLoaderException: Unexpected NumberFormatException: For input string: "20180124171998"
                                                                                   at com.google.android.exoplayer2.upstream.Loader$LoadTask.run(Loader.java:337)
                                                                                   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162)
                                                                                   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636)
                                                                                   at java.lang.Thread.run(Thread.java:764)
                                                                                Caused by: java.lang.NumberFormatException: For input string: "20180124171998"
                                                                                   at java.lang.Integer.parseInt(Integer.java:611)
                                                                                   at java.lang.Integer.parseInt(Integer.java:643)
                                                                                   at com.google.android.exoplayer2.source.hls.playlist.HlsPlaylistParser.parseIntAttr(HlsPlaylistParser.java:465)
                                                                                   at com.google.android.exoplayer2.source.hls.playlist.HlsPlaylistParser.parseMediaPlaylist(HlsPlaylistParser.java:365)
                                                                                   at com.google.android.exoplayer2.source.hls.playlist.HlsPlaylistParser.parse(HlsPlaylistParser.java:150)
                                                                                   at com.google.android.exoplayer2.source.hls.playlist.HlsPlaylistParser.parse(HlsPlaylistParser.java:47)
                                                                                   at com.google.android.exoplayer2.upstream.ParsingLoadable.load(ParsingLoadable.java:126)
                                                                                   at com.google.android.exoplayer2.upstream.Loader$LoadTask.run(Loader.java:315)
                                                                                   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162) 
                                                                                   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636) 
                                                                                   at java.lang.Thread.run(Thread.java:764) 
01-24 15:39:20.452 2829-2895/com.google.android.exoplayer2.demo E/LoadTask: Unexpected exception loading stream
                                                                            java.lang.NumberFormatException: For input string: "20180124171998"
                                                                                at java.lang.Integer.parseInt(Integer.java:611)
                                                                                at java.lang.Integer.parseInt(Integer.java:643)
                                                                                at com.google.android.exoplayer2.source.hls.playlist.HlsPlaylistParser.parseIntAttr(HlsPlaylistParser.java:465)
                                                                                at com.google.android.exoplayer2.source.hls.playlist.HlsPlaylistParser.parseMediaPlaylist(HlsPlaylistParser.java:365)
                                                                                at com.google.android.exoplayer2.source.hls.playlist.HlsPlaylistParser.parse(HlsPlaylistParser.java:150)
                                                                                at com.google.android.exoplayer2.source.hls.playlist.HlsPlaylistParser.parse(HlsPlaylistParser.java:47)
                                                                                at com.google.android.exoplayer2.upstream.ParsingLoadable.load(ParsingLoadable.java:126)
                                                                                at com.google.android.exoplayer2.upstream.Loader$LoadTask.run(Loader.java:315)
                                                                                at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162)
                                                                                at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636)
                                                                                at java.lang.Thread.run(Thread.java:764)
01-24 15:39:20.455 2829-2829/com.google.android.exoplayer2.demo E/EventLogger: internalError [0.68, loadError]
                                                                               com.google.android.exoplayer2.upstream.Loader$UnexpectedLoaderException: Unexpected NumberFormatException: For input string: "20180124171998"
                                                                                   at com.google.android.exoplayer2.upstream.Loader$LoadTask.run(Loader.java:337)
                                                                                   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162)
                                                                                   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636)
                                                                                   at java.lang.Thread.run(Thread.java:764)
                                                                                Caused by: java.lang.NumberFormatException: For input string: "20180124171998"
                                                                                   at java.lang.Integer.parseInt(Integer.java:611)
                                                                                   at java.lang.Integer.parseInt(Integer.java:643)
                                                                                   at com.google.android.exoplayer2.source.hls.playlist.HlsPlaylistParser.parseIntAttr(HlsPlaylistParser.java:465)
                                                                                   at com.google.android.exoplayer2.source.hls.playlist.HlsPlaylistParser.parseMediaPlaylist(HlsPlaylistParser.java:365)
                                                                                   at com.google.android.exoplayer2.source.hls.playlist.HlsPlaylistParser.parse(HlsPlaylistParser.java:150)
                                                                                   at com.google.android.exoplayer2.source.hls.playlist.HlsPlaylistParser.parse(HlsPlaylistParser.java:47)
                                                                                   at com.google.android.exoplayer2.upstream.ParsingLoadable.load(ParsingLoadable.java:126)
                                                                                   at com.google.android.exoplayer2.upstream.Loader$LoadTask.run(Loader.java:315)
                                                                                   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162) 
                                                                                   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636) 
                                                                                   at java.lang.Thread.run(Thread.java:764) 
01-24 15:39:21.608 2829-2895/com.google.android.exoplayer2.demo E/LoadTask: Unexpected exception loading stream
                                                                            java.lang.NumberFormatException: For input string: "20180124171998"
                                                                                at java.lang.Integer.parseInt(Integer.java:611)
                                                                                at java.lang.Integer.parseInt(Integer.java:643)
                                                                                at com.google.android.exoplayer2.source.hls.playlist.HlsPlaylistParser.parseIntAttr(HlsPlaylistParser.java:465)
                                                                                at com.google.android.exoplayer2.source.hls.playlist.HlsPlaylistParser.parseMediaPlaylist(HlsPlaylistParser.java:365)
                                                                                at com.google.android.exoplayer2.source.hls.playlist.HlsPlaylistParser.parse(HlsPlaylistParser.java:150)
                                                                                at com.google.android.exoplayer2.source.hls.playlist.HlsPlaylistParser.parse(HlsPlaylistParser.java:47)
                                                                                at com.google.android.exoplayer2.upstream.ParsingLoadable.load(ParsingLoadable.java:126)
                                                                                at com.google.android.exoplayer2.upstream.Loader$LoadTask.run(Loader.java:315)
                                                                                at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162)
                                                                                at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636)
                                                                                at java.lang.Thread.run(Thread.java:764)
01-24 15:39:21.612 2829-2829/com.google.android.exoplayer2.demo E/EventLogger: internalError [1.84, loadError]
                                                                               com.google.android.exoplayer2.upstream.Loader$UnexpectedLoaderException: Unexpected NumberFormatException: For input string: "20180124171998"
                                                                                   at com.google.android.exoplayer2.upstream.Loader$LoadTask.run(Loader.java:337)
                                                                                   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162)
                                                                                   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636)
                                                                                   at java.lang.Thread.run(Thread.java:764)
                                                                                Caused by: java.lang.NumberFormatException: For input string: "20180124171998"
                                                                                   at java.lang.Integer.parseInt(Integer.java:611)
                                                                                   at java.lang.Integer.parseInt(Integer.java:643)
                                                                                   at com.google.android.exoplayer2.source.hls.playlist.HlsPlaylistParser.parseIntAttr(HlsPlaylistParser.java:465)
                                                                                   at com.google.android.exoplayer2.source.hls.playlist.HlsPlaylistParser.parseMediaPlaylist(HlsPlaylistParser.java:365)
                                                                                   at com.google.android.exoplayer2.source.hls.playlist.HlsPlaylistParser.parse(HlsPlaylistParser.java:150)
                                                                                   at com.google.android.exoplayer2.source.hls.playlist.HlsPlaylistParser.parse(HlsPlaylistParser.java:47)
                                                                                   at com.google.android.exoplayer2.upstream.ParsingLoadable.load(ParsingLoadable.java:126)
                                                                                   at com.google.android.exoplayer2.upstream.Loader$LoadTask.run(Loader.java:315)
                                                                                   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162) 
                                                                                   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636) 
                                                                                   at java.lang.Thread.run(Thread.java:764) 
01-24 15:39:23.760 2829-2895/com.google.android.exoplayer2.demo E/LoadTask: Unexpected exception loading stream
                                                                            java.lang.NumberFormatException: For input string: "20180124171999"
                                                                                at java.lang.Integer.parseInt(Integer.java:611)
                                                                                at java.lang.Integer.parseInt(Integer.java:643)
                                                                                at com.google.android.exoplayer2.source.hls.playlist.HlsPlaylistParser.parseIntAttr(HlsPlaylistParser.java:465)
                                                                                at com.google.android.exoplayer2.source.hls.playlist.HlsPlaylistParser.parseMediaPlaylist(HlsPlaylistParser.java:365)
                                                                                at com.google.android.exoplayer2.source.hls.playlist.HlsPlaylistParser.parse(HlsPlaylistParser.java:150)
                                                                                at com.google.android.exoplayer2.source.hls.playlist.HlsPlaylistParser.parse(HlsPlaylistParser.java:47)
                                                                                at com.google.android.exoplayer2.upstream.ParsingLoadable.load(ParsingLoadable.java:126)
                                                                                at com.google.android.exoplayer2.upstream.Loader$LoadTask.run(Loader.java:315)
                                                                                at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162)
                                                                                at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636)
                                                                                at java.lang.Thread.run(Thread.java:764)
01-24 15:39:23.762 2829-2894/com.google.android.exoplayer2.demo E/ExoPlayerImplInternal: Source error.
                                                                                         com.google.android.exoplayer2.upstream.Loader$UnexpectedLoaderException: Unexpected NumberFormatException: For input string: "20180124171999"
                                                                                             at com.google.android.exoplayer2.upstream.Loader$LoadTask.run(Loader.java:337)
                                                                                             at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162)
                                                                                             at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636)
                                                                                             at java.lang.Thread.run(Thread.java:764)
                                                                                          Caused by: java.lang.NumberFormatException: For input string: "20180124171999"
                                                                                             at java.lang.Integer.parseInt(Integer.java:611)
                                                                                             at java.lang.Integer.parseInt(Integer.java:643)
                                                                                             at com.google.android.exoplayer2.source.hls.playlist.HlsPlaylistParser.parseIntAttr(HlsPlaylistParser.java:465)
                                                                                             at com.google.android.exoplayer2.source.hls.playlist.HlsPlaylistParser.parseMediaPlaylist(HlsPlaylistParser.java:365)
                                                                                             at com.google.android.exoplayer2.source.hls.playlist.HlsPlaylistParser.parse(HlsPlaylistParser.java:150)
                                                                                             at com.google.android.exoplayer2.source.hls.playlist.HlsPlaylistParser.parse(HlsPlaylistParser.java:47)
                                                                                             at com.google.android.exoplayer2.upstream.ParsingLoadable.load(ParsingLoadable.java:126)
                                                                                             at com.google.android.exoplayer2.upstream.Loader$LoadTask.run(Loader.java:315)
                                                                                             at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162) 
                                                                                             at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636) 
                                                                                             at java.lang.Thread.run(Thread.java:764) 
01-24 15:39:23.762 2829-2829/com.google.android.exoplayer2.demo E/EventLogger: internalError [3.99, loadError]
                                                                               com.google.android.exoplayer2.upstream.Loader$UnexpectedLoaderException: Unexpected NumberFormatException: For input string: "20180124171999"
                                                                                   at com.google.android.exoplayer2.upstream.Loader$LoadTask.run(Loader.java:337)
                                                                                   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162)
                                                                                   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636)
                                                                                   at java.lang.Thread.run(Thread.java:764)
                                                                                Caused by: java.lang.NumberFormatException: For input string: "20180124171999"
                                                                                   at java.lang.Integer.parseInt(Integer.java:611)
                                                                                   at java.lang.Integer.parseInt(Integer.java:643)
                                                                                   at com.google.android.exoplayer2.source.hls.playlist.HlsPlaylistParser.parseIntAttr(HlsPlaylistParser.java:465)
                                                                                   at com.google.android.exoplayer2.source.hls.playlist.HlsPlaylistParser.parseMediaPlaylist(HlsPlaylistParser.java:365)
                                                                                   at com.google.android.exoplayer2.source.hls.playlist.HlsPlaylistParser.parse(HlsPlaylistParser.java:150)
                                                                                   at com.google.android.exoplayer2.source.hls.playlist.HlsPlaylistParser.parse(HlsPlaylistParser.java:47)
                                                                                   at com.google.android.exoplayer2.upstream.ParsingLoadable.load(ParsingLoadable.java:126)
                                                                                   at com.google.android.exoplayer2.upstream.Loader$LoadTask.run(Loader.java:315)
                                                                                   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162) 
                                                                                   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636) 
                                                                                   at java.lang.Thread.run(Thread.java:764) 
01-24 15:39:23.767 2829-2829/com.google.android.exoplayer2.demo E/EventLogger: playerFailed [3.99]
                                                                               com.google.android.exoplayer2.ExoPlaybackException
                                                                                   at com.google.android.exoplayer2.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:355)
                                                                                   at android.os.Handler.dispatchMessage(Handler.java:101)
                                                                                   at android.os.Looper.loop(Looper.java:164)
                                                                                   at android.os.HandlerThread.run(HandlerThread.java:65)
                                                                                Caused by: com.google.android.exoplayer2.upstream.Loader$UnexpectedLoaderException: Unexpected NumberFormatException: For input string: "20180124171999"
                                                                                   at com.google.android.exoplayer2.upstream.Loader$LoadTask.run(Loader.java:337)
                                                                                   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162)
                                                                                   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636)
                                                                                   at java.lang.Thread.run(Thread.java:764)
                                                                                Caused by: java.lang.NumberFormatException: For input string: "20180124171999"
                                                                                   at java.lang.Integer.parseInt(Integer.java:611)
                                                                                   at java.lang.Integer.parseInt(Integer.java:643)
                                                                                   at com.google.android.exoplayer2.source.hls.playlist.HlsPlaylistParser.parseIntAttr(HlsPlaylistParser.java:465)
                                                                                   at com.google.android.exoplayer2.source.hls.playlist.HlsPlaylistParser.parseMediaPlaylist(HlsPlaylistParser.java:365)
                                                                                   at com.google.android.exoplayer2.source.hls.playlist.HlsPlaylistParser.parse(HlsPlaylistParser.java:150)
                                                                                   at com.google.android.exoplayer2.source.hls.playlist.HlsPlaylistParser.parse(HlsPlaylistParser.java:47)
                                                                                   at com.google.android.exoplayer2.upstream.ParsingLoadable.load(ParsingLoadable.java:126)
                                                                                   at com.google.android.exoplayer2.upstream.Loader$LoadTask.run(Loader.java:315)
                                                                                   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162) 
                                                                                   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:636) 
                                                                                   at java.lang.Thread.run(Thread.java:764) 

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions