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)
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:
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