{"action":"closed","issue":{"url":"https://api.github.com/repos/google/ExoPlayer/issues/1715","repository_url":"https://api.github.com/repos/google/ExoPlayer","labels_url":"https://api.github.com/repos/google/ExoPlayer/issues/1715/labels{/name}","comments_url":"https://api.github.com/repos/google/ExoPlayer/issues/1715/comments","events_url":"https://api.github.com/repos/google/ExoPlayer/issues/1715/events","html_url":"https://github.com/google/ExoPlayer/issues/1715","id":169285882,"number":1715,"title":"[DASH] IndexOutOfBoundsException when ExoPlayer#seekTo to a future timestamp","user":{"login":"azabujuban","id":445372,"avatar_url":"https://avatars.githubusercontent.com/u/445372?v=3","gravatar_id":"","url":"https://api.github.com/users/azabujuban","html_url":"https://github.com/azabujuban","followers_url":"https://api.github.com/users/azabujuban/followers","following_url":"https://api.github.com/users/azabujuban/following{/other_user}","gists_url":"https://api.github.com/users/azabujuban/gists{/gist_id}","starred_url":"https://api.github.com/users/azabujuban/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/azabujuban/subscriptions","organizations_url":"https://api.github.com/users/azabujuban/orgs","repos_url":"https://api.github.com/users/azabujuban/repos","events_url":"https://api.github.com/users/azabujuban/events{/privacy}","received_events_url":"https://api.github.com/users/azabujuban/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":1,"created_at":"2016-08-04T03:55:31Z","updated_at":"2016-08-04T07:38:01Z","closed_at":"2016-08-04T07:38:01Z","body":"I have a DASH audio-only stream produced by ffmpeg. The MPD file is as follows:\r\n```xml\r\n<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n<MPD xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\r\n\txmlns=\"urn:mpeg:dash:schema:mpd:2011\"\r\n\txmlns:xlink=\"http://www.w3.org/1999/xlink\"\r\n\txsi:schemaLocation=\"urn:mpeg:DASH:schema:MPD:2011 http://standards.iso.org/ittf/PubliclyAvailableStandards/MPEG-DASH_schema_files/DASH-MPD.xsd\"\r\n\tprofiles=\"urn:mpeg:dash:profile:isoff-live:2011\"\r\n\ttype=\"dynamic\"\r\n\tminimumUpdatePeriod=\"PT5S\"\r\n\tsuggestedPresentationDelay=\"PT5S\"\r\n\tavailabilityStartTime=\"2016-08-04T01:45:46\"\r\n\tpublishTime=\"2016-08-04T01:50:01\"\r\n\ttimeShiftBufferDepth=\"PT10.0S\"\r\n\tminBufferTime=\"PT5.0S\">\r\n\t<ProgramInformation>\r\n\t</ProgramInformation>\r\n\t<Period start=\"PT0.0S\">\r\n\t\t<AdaptationSet contentType=\"audio\" segmentAlignment=\"true\" bitstreamSwitching=\"true\">\r\n\t\t\t<Representation id=\"0\" mimeType=\"audio/mp4\" codecs=\"mp4a.40.2\" bandwidth=\"128000\" audioSamplingRate=\"22050\">\r\n\t\t\t\t<AudioChannelConfiguration schemeIdUri=\"urn:mpeg:dash:23003:3:audio_channel_configuration:2011\" value=\"1\" />\r\n\t\t\t\t<SegmentTemplate timescale=\"22050\" initialization=\"init-stream$RepresentationID$.m4s\" media=\"chunk-stream$RepresentationID$-$Number%05d$.m4s\" startNumber=\"51\">\r\n\t\t\t\t\t<SegmentTimeline>\r\n\t\t\t\t\t\t<S t=\"5511168\" d=\"109568\" />\r\n\t\t\t\t\t\t<S d=\"110592\" />\r\n\t\t\t\t\t</SegmentTimeline>\r\n\t\t\t\t</SegmentTemplate>\r\n\t\t\t</Representation>\r\n\t\t</AdaptationSet>\r\n\t</Period>\r\n</MPD>\r\n```\r\n\r\nIn total, only two segments are available for the total length of 10 seconds. This is working fine for quite long periods. However, when i use the `ExoPlayer#seekTo` method to seek `beyond` what's currently available sometimes there is a crash. It correctly waits until the timestamp is available and plays it, however it crashes after that. The same happens if i `seekTo` more than once into the future - it works a bit, but crashes a few seconds after that.\r\n\r\nBelow is the log:\r\n```\r\n08-04 10:35:44.753 4118-4118/com.google.android.exoplayer.demo V/EventLogger: loadStart [32.12, 1, 1, 74907, 79923]\r\n08-04 10:35:44.768 4118-4118/com.google.android.exoplayer.demo D/EventLogger: bandwidth [32.13, 80864, 0.01, 53411332]\r\n08-04 10:35:44.768 4118-4118/com.google.android.exoplayer.demo V/EventLogger: loadEnd [32.13, 1, 16]\r\n08-04 10:35:49.761 4118-4118/com.google.android.exoplayer.demo D/EventLogger: availableRange [true, 74907573, 84938593] current position: 75523ms\r\n08-04 10:35:49.762 4118-4118/com.google.android.exoplayer.demo V/EventLogger: loadStart [37.13, 1, 1, 79923, 84938]\r\n08-04 10:35:49.779 4118-4118/com.google.android.exoplayer.demo D/EventLogger: bandwidth [37.14, 80864, 0.01, 58810180]\r\n08-04 10:35:49.779 4118-4118/com.google.android.exoplayer.demo V/EventLogger: loadEnd [37.15, 1, 18]\r\n08-04 10:35:54.770 4118-4118/com.google.android.exoplayer.demo D/EventLogger: availableRange [true, 79923083, 89907664] current position: 80534ms\r\n08-04 10:35:54.771 4118-4118/com.google.android.exoplayer.demo V/EventLogger: loadStart [42.14, 1, 1, 84938, 89907]\r\n08-04 10:35:54.785 4118-4118/com.google.android.exoplayer.demo D/EventLogger: bandwidth [42.15, 80117, 0.01, 80864000]\r\n08-04 10:35:54.785 4118-4118/com.google.android.exoplayer.demo V/EventLogger: loadEnd [42.15, 1, 14]\r\n08-04 10:35:58.781 4118-4118/com.google.android.exoplayer.demo D/EventLogger: availableRange [true, 84938594, 94923174] current position: 84542ms\r\n08-04 10:35:58.782 4118-4118/com.google.android.exoplayer.demo V/EventLogger: loadStart [46.15, 1, 1, 89907, 94923]\r\n08-04 10:35:58.797 4118-4118/com.google.android.exoplayer.demo D/EventLogger: bandwidth [46.16, 80864, 0.01, 80864000]\r\n08-04 10:35:58.797 4118-4118/com.google.android.exoplayer.demo V/EventLogger: loadEnd [46.16, 1, 15]\r\n08-04 10:36:03.786 4118-4118/com.google.android.exoplayer.demo D/EventLogger: availableRange [true, 89907664, 99938684] current position: 89545ms\r\n08-04 10:36:03.787 4118-4118/com.google.android.exoplayer.demo V/EventLogger: loadStart [51.15, 1, 1, 94923, 99938]\r\n08-04 10:36:03.811 4118-4118/com.google.android.exoplayer.demo D/EventLogger: bandwidth [51.18, 80865, 0.02, 80864000]\r\n08-04 10:36:03.815 4118-4118/com.google.android.exoplayer.demo V/EventLogger: loadEnd [51.18, 1, 29]\r\n08-04 10:36:08.786 4118-4118/com.google.android.exoplayer.demo D/EventLogger: availableRange [true, 94923174, 104907754] current position: 94547ms\r\n08-04 10:36:08.787 4118-4118/com.google.android.exoplayer.demo V/EventLogger: loadStart [56.15, 1, 1, 99938, 104907]\r\n08-04 10:36:08.801 4118-4118/com.google.android.exoplayer.demo D/EventLogger: bandwidth [56.17, 80117, 0.01, 80864000]\r\n08-04 10:36:08.801 4118-4118/com.google.android.exoplayer.demo V/EventLogger: loadEnd [56.17, 1, 14]\r\n08-04 10:36:12.809 4118-4118/com.google.android.exoplayer.demo D/EventLogger: availableRange [true, 99938684, 109923265] current position: 98545ms\r\n08-04 10:36:12.809 4118-4118/com.google.android.exoplayer.demo V/EventLogger: loadStart [60.17, 1, 1, 104907, 109923]\r\n08-04 10:36:12.871 4118-4118/com.google.android.exoplayer.demo D/EventLogger: bandwidth [60.24, 80864, 0.04, 80864000]\r\n08-04 10:36:12.878 4118-4118/com.google.android.exoplayer.demo V/EventLogger: loadEnd [60.24, 1, 69]\r\n08-04 10:36:13.024 4118-4118/com.google.android.exoplayer.demo D/PlayerActivity: Jumping from 98752ms to 128752ms\r\n08-04 10:36:13.027 4118-4118/com.google.android.exoplayer.demo V/EventLogger: loadStart [60.39, 1, 1, 104907, 109923]\r\n08-04 10:36:13.039 4118-4118/com.google.android.exoplayer.demo D/EventLogger: state [60.40, true, B]\r\n08-04 10:36:13.097 4118-4118/com.google.android.exoplayer.demo D/EventLogger: bandwidth [60.46, 80864, 0.06, 80117000]\r\n08-04 10:36:13.134 4118-4118/com.google.android.exoplayer.demo V/EventLogger: loadEnd [60.50, 1, 107]\r\n08-04 10:36:17.819 4118-4118/com.google.android.exoplayer.demo D/EventLogger: availableRange [true, 104907755, 114938775] current position: 128752ms\r\n08-04 10:36:17.819 4118-4118/com.google.android.exoplayer.demo V/EventLogger: loadStart [65.18, 1, 1, 109923, 114938]\r\n08-04 10:36:17.846 4118-4118/com.google.android.exoplayer.demo D/EventLogger: bandwidth [65.21, 80864, 0.01, 71879112]\r\n08-04 10:36:17.867 4118-4118/com.google.android.exoplayer.demo V/EventLogger: loadEnd [65.23, 1, 47]\r\n08-04 10:36:22.821 4118-4118/com.google.android.exoplayer.demo D/EventLogger: availableRange [true, 109923265, 119907845] current position: 128752ms\r\n08-04 10:36:22.823 4118-4118/com.google.android.exoplayer.demo V/EventLogger: loadStart [70.19, 1, 1, 114938, 119907]\r\n08-04 10:36:22.853 4118-4118/com.google.android.exoplayer.demo D/EventLogger: bandwidth [70.22, 80117, 0.02, 38054116]\r\n08-04 10:36:22.873 4118-4118/com.google.android.exoplayer.demo V/EventLogger: loadEnd [70.24, 1, 50]\r\n08-04 10:36:26.831 4118-4118/com.google.android.exoplayer.demo D/EventLogger: availableRange [true, 114938775, 124923355] current position: 128752ms\r\n08-04 10:36:26.832 4118-4118/com.google.android.exoplayer.demo V/EventLogger: loadStart [74.20, 1, 1, 119907, 124923]\r\n08-04 10:36:26.856 4118-4118/com.google.android.exoplayer.demo D/EventLogger: bandwidth [74.22, 80864, 0.01, 38054116]\r\n08-04 10:36:26.870 4118-4118/com.google.android.exoplayer.demo V/EventLogger: loadEnd [74.24, 1, 37]\r\n08-04 10:36:31.833 4118-4118/com.google.android.exoplayer.demo D/EventLogger: availableRange [true, 119907845, 129938866] current position: 128752ms\r\n08-04 10:36:31.834 4118-4118/com.google.android.exoplayer.demo V/EventLogger: loadStart [79.20, 1, 1, 124923, 129938]\r\n08-04 10:36:31.859 4118-4118/com.google.android.exoplayer.demo D/EventLogger: bandwidth [79.22, 80864, 0.01, 43127464]\r\n08-04 10:36:31.875 4118-4118/com.google.android.exoplayer.demo D/EventLogger: state [79.24, true, R]\r\n08-04 10:36:31.875 4118-4118/com.google.android.exoplayer.demo V/EventLogger: loadEnd [79.24, 1, 41]\r\n08-04 10:36:33.289 4118-4118/com.google.android.exoplayer.demo D/EventLogger: state [80.65, true, B]\r\n08-04 10:36:36.841 4118-4118/com.google.android.exoplayer.demo D/EventLogger: availableRange [true, 124923356, 134907936] current position: 129846ms\r\n08-04 10:36:36.842 4118-4118/com.google.android.exoplayer.demo V/EventLogger: loadStart [84.21, 1, 1, 129938, 134907]\r\n08-04 10:36:36.859 4118-4118/com.google.android.exoplayer.demo D/EventLogger: bandwidth [84.22, 80118, 0.01, 43127464]\r\n08-04 10:36:36.860 4118-4118/com.google.android.exoplayer.demo V/EventLogger: loadEnd [84.22, 1, 17]\r\n08-04 10:36:36.871 4118-4118/com.google.android.exoplayer.demo D/EventLogger: state [84.24, true, R]\r\n08-04 10:36:41.793 4118-4118/com.google.android.exoplayer.demo D/EventLogger: state [89.16, true, B]\r\n08-04 10:36:44.864 4118-4118/com.google.android.exoplayer.demo D/EventLogger: availableRange [true, 129938866, 139923446] current position: 134804ms\r\n08-04 10:36:44.867 4118-4118/com.google.android.exoplayer.demo V/EventLogger: loadStart [92.23, 1, 1, 134907, 139923]\r\n08-04 10:36:44.933 4118-4118/com.google.android.exoplayer.demo D/EventLogger: bandwidth [92.30, 80864, 0.03, 43127464]\r\n08-04 10:36:44.946 4118-4118/com.google.android.exoplayer.demo D/EventLogger: state [92.31, true, R]\r\n08-04 10:36:44.971 4118-4118/com.google.android.exoplayer.demo V/EventLogger: loadEnd [92.34, 1, 105]\r\n08-04 10:36:49.852 4118-4118/com.google.android.exoplayer.demo D/EventLogger: availableRange [true, 134907936, 144938956] current position: 139771ms\r\n08-04 10:36:49.853 4118-4118/com.google.android.exoplayer.demo V/EventLogger: loadStart [97.22, 1, 1, 139923, 144938]\r\n08-04 10:36:49.879 4118-4118/com.google.android.exoplayer.demo D/EventLogger: bandwidth [97.25, 80864, 0.02, 43127464]\r\n08-04 10:36:49.880 4118-4118/com.google.android.exoplayer.demo V/EventLogger: loadEnd [97.25, 1, 27]\r\n08-04 10:36:54.857 4118-4118/com.google.android.exoplayer.demo D/EventLogger: availableRange [true, 139923446, 149908026] current position: 144773ms\r\n08-04 10:36:54.857 4118-4118/com.google.android.exoplayer.demo V/EventLogger: loadStart [102.22, 1, 1, 144938, 149908]\r\n08-04 10:36:54.871 4118-4118/com.google.android.exoplayer.demo D/EventLogger: bandwidth [102.24, 80117, 0.00, 43127464]\r\n08-04 10:36:54.876 4118-4118/com.google.android.exoplayer.demo V/EventLogger: loadEnd [102.24, 1, 18]\r\n08-04 10:36:58.866 4118-4118/com.google.android.exoplayer.demo D/EventLogger: availableRange [true, 144938956, 154923537] current position: 148785ms\r\n08-04 10:36:58.867 4118-4118/com.google.android.exoplayer.demo V/EventLogger: loadStart [106.23, 1, 1, 149908, 154923]\r\n08-04 10:36:58.883 4118-4118/com.google.android.exoplayer.demo D/EventLogger: bandwidth [106.25, 80864, 0.00, 58810180]\r\n08-04 10:36:58.883 4118-4118/com.google.android.exoplayer.demo V/EventLogger: loadEnd [106.25, 1, 16]\r\n08-04 10:37:03.875 4118-4118/com.google.android.exoplayer.demo D/EventLogger: availableRange [true, 149908027, 159939047] current position: 153792ms\r\n08-04 10:37:03.876 4118-4118/com.google.android.exoplayer.demo V/EventLogger: loadStart [111.24, 1, 1, 154923, 159939]\r\n08-04 10:37:03.891 4118-4118/com.google.android.exoplayer.demo D/EventLogger: bandwidth [111.26, 80864, 0.01, 80118000]\r\n08-04 10:37:03.892 4118-4118/com.google.android.exoplayer.demo V/EventLogger: loadEnd [111.26, 1, 15]\r\n08-04 10:37:08.884 4118-4118/com.google.android.exoplayer.demo D/EventLogger: availableRange [true, 154923537, 164908117] current position: 158781ms\r\n08-04 10:37:08.886 4118-4118/com.google.android.exoplayer.demo V/EventLogger: loadStart [116.25, 1, 1, 159939, 164908]\r\n08-04 10:37:08.900 4118-4118/com.google.android.exoplayer.demo D/EventLogger: bandwidth [116.27, 80117, 0.01, 91562288]\r\n08-04 10:37:08.902 4118-4118/com.google.android.exoplayer.demo V/EventLogger: loadEnd [116.27, 1, 16]\r\n08-04 10:37:12.904 4118-4118/com.google.android.exoplayer.demo D/EventLogger: availableRange [true, 159939047, 169923627] current position: 162793ms\r\n08-04 10:37:12.906 4118-4118/com.google.android.exoplayer.demo V/EventLogger: loadStart [120.27, 1, 1, 164908, 169923]\r\n08-04 10:37:12.933 4118-4118/com.google.android.exoplayer.demo D/EventLogger: bandwidth [120.30, 80865, 0.02, 91562288]\r\n08-04 10:37:12.935 4118-4118/com.google.android.exoplayer.demo V/EventLogger: loadEnd [120.30, 1, 29]\r\n08-04 10:37:17.895 4118-4118/com.google.android.exoplayer.demo D/EventLogger: availableRange [true, 164908117, 174939138] current position: 167788ms\r\n08-04 10:37:17.896 4118-4118/com.google.android.exoplayer.demo V/EventLogger: loadStart [125.26, 1, 1, 169923, 174939]\r\n08-04 10:37:17.940 4118-4118/com.google.android.exoplayer.demo D/EventLogger: bandwidth [125.31, 80864, 0.03, 91562288]\r\n08-04 10:37:17.943 4118-4118/com.google.android.exoplayer.demo V/EventLogger: loadEnd [125.31, 1, 48]\r\n08-04 10:37:22.901 4118-4118/com.google.android.exoplayer.demo D/EventLogger: availableRange [true, 169923628, 179908208] current position: 172791ms\r\n08-04 10:37:22.903 4118-4118/com.google.android.exoplayer.demo V/EventLogger: loadStart [130.27, 1, 1, 174939, 179908]\r\n08-04 10:37:22.946 4118-4118/com.google.android.exoplayer.demo D/EventLogger: bandwidth [130.31, 80117, 0.03, 91562288]\r\n08-04 10:37:22.953 4118-4118/com.google.android.exoplayer.demo V/EventLogger: loadEnd [130.32, 1, 49]\r\n08-04 10:37:26.910 4118-4118/com.google.android.exoplayer.demo D/EventLogger: availableRange [true, 174939138, 184923718] current position: 176805ms\r\n08-04 10:37:26.910 4118-4118/com.google.android.exoplayer.demo V/EventLogger: loadStart [134.28, 1, 1, 179908, 184923]\r\n08-04 10:37:26.926 4118-4118/com.google.android.exoplayer.demo D/EventLogger: bandwidth [134.29, 80864, 0.01, 91562288]\r\n08-04 10:37:26.927 4118-4118/com.google.android.exoplayer.demo V/EventLogger: loadEnd [134.29, 1, 17]\r\n08-04 10:37:31.916 4118-4118/com.google.android.exoplayer.demo D/EventLogger: availableRange [true, 179908208, 189939228] current position: 181810ms\r\n08-04 10:37:31.916 4118-4118/com.google.android.exoplayer.demo V/EventLogger: loadStart [139.28, 1, 1, 184923, 189939]\r\n08-04 10:37:31.940 4118-4118/com.google.android.exoplayer.demo D/EventLogger: bandwidth [139.31, 80864, 0.02, 40432500]\r\n08-04 10:37:31.942 4118-4118/com.google.android.exoplayer.demo V/EventLogger: loadEnd [139.31, 1, 27]\r\n08-04 10:37:36.439 4118-4118/com.google.android.exoplayer.demo D/PlayerActivity: Jumping from 186305ms to 216305ms\r\n08-04 10:37:36.443 4118-4118/com.google.android.exoplayer.demo V/EventLogger: loadStart [143.81, 1, 1, 184923, 189939]\r\n08-04 10:37:36.450 4118-4118/com.google.android.exoplayer.demo D/EventLogger: state [143.82, true, B]\r\n08-04 10:37:36.495 4118-4118/com.google.android.exoplayer.demo D/EventLogger: bandwidth [143.86, 80864, 0.03, 35939556]\r\n08-04 10:37:36.503 4118-4118/com.google.android.exoplayer.demo V/EventLogger: loadEnd [143.87, 1, 59]\r\n08-04 10:37:36.924 4118-4118/com.google.android.exoplayer.demo D/EventLogger: availableRange [true, 184923718, 194908299] current position: 216305ms\r\n08-04 10:37:36.928 4118-4118/com.google.android.exoplayer.demo V/EventLogger: loadStart [144.29, 1, 1, 189939, 194908]\r\n08-04 10:37:36.944 4118-4118/com.google.android.exoplayer.demo D/EventLogger: bandwidth [144.31, 80117, 0.00, 35939556]\r\n08-04 10:37:36.958 4118-4118/com.google.android.exoplayer.demo V/EventLogger: loadEnd [144.32, 1, 30]\r\n08-04 10:37:37.541 4118-4118/com.google.android.exoplayer.demo D/PlayerActivity: Jumping from 216305ms to 226305ms\r\n08-04 10:37:37.545 4118-4118/com.google.android.exoplayer.demo V/EventLogger: loadStart [144.91, 1, 1, 189939, 194908]\r\n08-04 10:37:37.665 4118-4118/com.google.android.exoplayer.demo D/EventLogger: bandwidth [145.03, 80117, 0.09, 23959704]\r\n08-04 10:37:37.715 4118-4118/com.google.android.exoplayer.demo V/EventLogger: loadEnd [145.08, 1, 170]\r\n08-04 10:37:41.398 4118-4118/com.google.android.exoplayer.demo D/PlayerActivity: Jumping from 226305ms to 256305ms\r\n08-04 10:37:41.402 4118-4118/com.google.android.exoplayer.demo V/EventLogger: loadStart [148.77, 1, 1, 189939, 194908]\r\n08-04 10:37:41.419 4118-4118/com.google.android.exoplayer.demo D/EventLogger: bandwidth [148.79, 80117, 0.01, 35939556]\r\n08-04 10:37:41.424 4118-4118/com.google.android.exoplayer.demo V/EventLogger: loadEnd [148.79, 1, 22]\r\n08-04 10:37:44.926 4118-4118/com.google.android.exoplayer.demo D/EventLogger: availableRange [true, 189939229, 199923809] current position: 256305ms\r\n08-04 10:37:44.926 4118-4118/com.google.android.exoplayer.demo V/EventLogger: loadStart [152.29, 1, 1, 194908, 199923]\r\n08-04 10:37:44.953 4118-4118/com.google.android.exoplayer.demo D/EventLogger: bandwidth [152.32, 80865, 0.02, 35939556]\r\n08-04 10:37:44.964 4118-4118/com.google.android.exoplayer.demo V/EventLogger: loadEnd [152.33, 1, 38]\r\n08-04 10:37:49.927 4118-4118/com.google.android.exoplayer.demo D/EventLogger: availableRange [true, 194908299, 204939319] current position: 256305ms\r\n08-04 10:37:49.928 4118-4118/com.google.android.exoplayer.demo V/EventLogger: loadStart [157.29, 1, 1, 199923, 204939]\r\n08-04 10:37:49.957 4118-4118/com.google.android.exoplayer.demo D/EventLogger: bandwidth [157.32, 80864, 0.02, 32346000]\r\n08-04 10:37:49.970 4118-4118/com.google.android.exoplayer.demo V/EventLogger: loadEnd [157.34, 1, 42]\r\n08-04 10:37:54.936 4118-4118/com.google.android.exoplayer.demo D/EventLogger: availableRange [true, 199923809, 209908389] current position: 256305ms\r\n08-04 10:37:54.937 4118-4118/com.google.android.exoplayer.demo V/EventLogger: loadStart [162.30, 1, 1, 204939, 209908]\r\n08-04 10:37:54.954 4118-4118/com.google.android.exoplayer.demo D/EventLogger: bandwidth [162.32, 80117, 0.01, 32346000]\r\n08-04 10:37:54.956 4118-4118/com.google.android.exoplayer.demo V/EventLogger: loadEnd [162.32, 1, 19]\r\n08-04 10:37:58.940 4118-4118/com.google.android.exoplayer.demo D/EventLogger: availableRange [true, 204939319, 214923900] current position: 256305ms\r\n08-04 10:37:58.941 4118-4118/com.google.android.exoplayer.demo V/EventLogger: loadStart [166.31, 1, 1, 209908, 214923]\r\n08-04 10:37:58.970 4118-4118/com.google.android.exoplayer.demo D/EventLogger: bandwidth [166.34, 80864, 0.02, 32346000]\r\n08-04 10:37:58.977 4118-4118/com.google.android.exoplayer.demo V/EventLogger: loadEnd [166.34, 1, 37]\r\n08-04 10:38:03.949 4118-4118/com.google.android.exoplayer.demo D/EventLogger: availableRange [true, 209908390, 219939410] current position: 256305ms\r\n08-04 10:38:03.950 4118-4118/com.google.android.exoplayer.demo V/EventLogger: loadStart [171.32, 1, 1, 214923, 219939]\r\n08-04 10:38:03.975 4118-4118/com.google.android.exoplayer.demo D/EventLogger: bandwidth [171.34, 80864, 0.01, 32346000]\r\n08-04 10:38:03.977 4118-4118/com.google.android.exoplayer.demo V/EventLogger: loadEnd [171.34, 1, 26]\r\n08-04 10:38:08.954 4118-4118/com.google.android.exoplayer.demo D/EventLogger: availableRange [true, 214923900, 224908480] current position: 256305ms\r\n08-04 10:38:08.955 4118-4118/com.google.android.exoplayer.demo V/EventLogger: loadStart [176.32, 1, 1, 219939, 224908]\r\n08-04 10:38:08.985 4118-4118/com.google.android.exoplayer.demo D/EventLogger: bandwidth [176.35, 80117, 0.02, 33733472]\r\n08-04 10:38:08.988 4118-4118/com.google.android.exoplayer.demo V/EventLogger: loadEnd [176.35, 1, 32]\r\n08-04 10:38:12.976 4118-4118/com.google.android.exoplayer.demo D/EventLogger: availableRange [true, 219939410, 229923990] current position: 256305ms\r\n08-04 10:38:12.976 4118-4118/com.google.android.exoplayer.demo V/EventLogger: loadStart [180.34, 1, 1, 224908, 229923]\r\n08-04 10:38:13.024 4118-4118/com.google.android.exoplayer.demo D/EventLogger: bandwidth [180.39, 80864, 0.04, 32346000]\r\n08-04 10:38:13.036 4118-4118/com.google.android.exoplayer.demo V/EventLogger: loadEnd [180.40, 1, 59]\r\n08-04 10:38:17.980 4118-4118/com.google.android.exoplayer.demo D/EventLogger: availableRange [true, 224908480, 234939500] current position: 256305ms\r\n08-04 10:38:17.982 4118-4118/com.google.android.exoplayer.demo V/EventLogger: loadStart [185.35, 1, 1, 229923, 234939]\r\n08-04 10:38:18.000 4118-4118/com.google.android.exoplayer.demo D/EventLogger: bandwidth [185.37, 80865, 0.01, 33733472]\r\n08-04 10:38:18.002 4118-4118/com.google.android.exoplayer.demo V/EventLogger: loadEnd [185.37, 1, 20]\r\n08-04 10:38:22.979 4118-4118/com.google.android.exoplayer.demo D/EventLogger: availableRange [true, 229923990, 239908571] current position: 256305ms\r\n08-04 10:38:22.979 4118-4118/com.google.android.exoplayer.demo V/EventLogger: loadStart [190.34, 1, 1, 234939, 239908]\r\n08-04 10:38:23.026 4118-4118/com.google.android.exoplayer.demo D/EventLogger: bandwidth [190.39, 80117, 0.02, 33733472]\r\n08-04 10:38:23.033 4118-4118/com.google.android.exoplayer.demo V/EventLogger: loadEnd [190.40, 1, 55]\r\n08-04 10:38:26.980 4118-4118/com.google.android.exoplayer.demo D/EventLogger: availableRange [true, 234939501, 244924081] current position: 256305ms\r\n08-04 10:38:26.981 4118-4118/com.google.android.exoplayer.demo V/EventLogger: loadStart [194.35, 1, 1, 239908, 244924]\r\n08-04 10:38:26.999 4118-4118/com.google.android.exoplayer.demo D/EventLogger: bandwidth [194.37, 80864, 0.01, 33733472]\r\n08-04 10:38:27.012 4118-4118/com.google.android.exoplayer.demo V/EventLogger: loadEnd [194.38, 1, 30]\r\n08-04 10:38:31.986 4118-4118/com.google.android.exoplayer.demo D/EventLogger: availableRange [true, 239908571, 249939591] current position: 256305ms\r\n08-04 10:38:31.986 4118-4118/com.google.android.exoplayer.demo V/EventLogger: loadStart [199.35, 1, 1, 244924, 249939]\r\n08-04 10:38:32.011 4118-4118/com.google.android.exoplayer.demo D/EventLogger: bandwidth [199.38, 80864, 0.01, 43127464]\r\n08-04 10:38:32.019 4118-4118/com.google.android.exoplayer.demo V/EventLogger: loadEnd [199.38, 1, 33]\r\n08-04 10:38:36.995 4118-4118/com.google.android.exoplayer.demo D/EventLogger: availableRange [true, 244924081, 254908661] current position: 256305ms\r\n08-04 10:38:36.995 4118-4118/com.google.android.exoplayer.demo V/EventLogger: loadStart [204.36, 1, 1, 249939, 254908]\r\n08-04 10:38:37.011 4118-4118/com.google.android.exoplayer.demo D/EventLogger: bandwidth [204.38, 80117, 0.01, 43127464]\r\n08-04 10:38:37.011 4118-4118/com.google.android.exoplayer.demo V/EventLogger: loadEnd [204.38, 1, 17]\r\n08-04 10:38:45.003 4118-4118/com.google.android.exoplayer.demo D/EventLogger: availableRange [true, 249939591, 259924172] current position: 256305ms\r\n08-04 10:38:45.004 4118-4118/com.google.android.exoplayer.demo V/EventLogger: loadStart [212.37, 1, 1, 254908, 259924]\r\n08-04 10:38:45.032 4118-4118/com.google.android.exoplayer.demo D/EventLogger: state [212.40, true, R]\r\n08-04 10:38:45.046 4118-4118/com.google.android.exoplayer.demo D/EventLogger: bandwidth [212.41, 80864, 0.03, 43127464]\r\n08-04 10:38:45.047 4118-4118/com.google.android.exoplayer.demo V/EventLogger: loadEnd [212.41, 1, 42]\r\n08-04 10:38:48.517 4118-4118/com.google.android.exoplayer.demo D/EventLogger: state [215.88, true, B]\r\n08-04 10:38:50.014 4118-4118/com.google.android.exoplayer.demo D/EventLogger: availableRange [true, 254908662, 264939682] current position: 259831ms\r\n08-04 10:38:50.015 4118-4118/com.google.android.exoplayer.demo V/EventLogger: loadStart [217.38, 1, 1, 259924, 264939]\r\n08-04 10:38:50.031 4118-4118/com.google.android.exoplayer.demo D/EventLogger: bandwidth [217.40, 80864, 0.01, 58810180]\r\n08-04 10:38:50.040 4118-4118/com.google.android.exoplayer.demo D/EventLogger: state [217.40, true, R]\r\n08-04 10:38:50.049 4118-4118/com.google.android.exoplayer.demo V/EventLogger: loadEnd [217.41, 1, 35]\r\n08-04 10:38:55.025 4118-4139/com.google.android.exoplayer.demo E/ExoPlayerImplInternal: Internal runtime error.\r\n                                                                                        java.lang.IndexOutOfBoundsException: Invalid index 0, size is 0\r\n                                                                                            at java.util.ArrayList.throwIndexOutOfBoundsException(ArrayList.java:255)\r\n                                                                                            at java.util.ArrayList.get(ArrayList.java:308)\r\n                                                                                            at com.google.android.exoplayer.dash.mpd.SegmentBase$MultiSegmentBase.getSegmentTimeUs(SegmentBase.java:193)\r\n                                                                                            at com.google.android.exoplayer.dash.mpd.Representation$MultiSegmentRepresentation.getTimeUs(Representation.java:267)\r\n                                                                                            at com.google.android.exoplayer.dash.DashChunkSource$RepresentationHolder.updateRepresentation(DashChunkSource.java:915)\r\n                                                                                            at com.google.android.exoplayer.dash.DashChunkSource$PeriodHolder.updatePeriod(DashChunkSource.java:1023)\r\n                                                                                            at com.google.android.exoplayer.dash.DashChunkSource.processManifest(DashChunkSource.java:767)\r\n                                                                                            at com.google.android.exoplayer.dash.DashChunkSource.continueBuffering(DashChunkSource.java:335)\r\n                                                                                            at com.google.android.exoplayer.chunk.ChunkSampleSource.continueBuffering(ChunkSampleSource.java:221)\r\n                                                                                            at com.google.android.exoplayer.SampleSourceTrackRenderer.doSomeWork(SampleSourceTrackRenderer.java:127)\r\n                                                                                            at com.google.android.exoplayer.ExoPlayerImplInternal.doSomeWork(ExoPlayerImplInternal.java:434)\r\n                                                                                            at com.google.android.exoplayer.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:213)\r\n                                                                                            at android.os.Handler.dispatchMessage(Handler.java:98)\r\n                                                                                            at android.os.Looper.loop(Looper.java:148)\r\n                                                                                            at android.os.HandlerThread.run(HandlerThread.java:61)\r\n                                                                                            at com.google.android.exoplayer.util.PriorityHandlerThread.run(PriorityHandlerThread.java:40)\r\n08-04 10:38:55.026 4118-4118/com.google.android.exoplayer.demo E/EventLogger: playerFailed [222.39]\r\n                                                                              com.google.android.exoplayer.ExoPlaybackException: java.lang.IndexOutOfBoundsException: Invalid index 0, size is 0\r\n                                                                                  at com.google.android.exoplayer.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:246)\r\n                                                                                  at android.os.Handler.dispatchMessage(Handler.java:98)\r\n                                                                                  at android.os.Looper.loop(Looper.java:148)\r\n                                                                                  at android.os.HandlerThread.run(HandlerThread.java:61)\r\n                                                                                  at com.google.android.exoplayer.util.PriorityHandlerThread.run(PriorityHandlerThread.java:40)\r\n                                                                               Caused by: java.lang.IndexOutOfBoundsException: Invalid index 0, size is 0\r\n                                                                                  at java.util.ArrayList.throwIndexOutOfBoundsException(ArrayList.java:255)\r\n                                                                                  at java.util.ArrayList.get(ArrayList.java:308)\r\n                                                                                  at com.google.android.exoplayer.dash.mpd.SegmentBase$MultiSegmentBase.getSegmentTimeUs(SegmentBase.java:193)\r\n                                                                                  at com.google.android.exoplayer.dash.mpd.Representation$MultiSegmentRepresentation.getTimeUs(Representation.java:267)\r\n                                                                                  at com.google.android.exoplayer.dash.DashChunkSource$RepresentationHolder.updateRepresentation(DashChunkSource.java:915)\r\n                                                                                  at com.google.android.exoplayer.dash.DashChunkSource$PeriodHolder.updatePeriod(DashChunkSource.java:1023)\r\n                                                                                  at com.google.android.exoplayer.dash.DashChunkSource.processManifest(DashChunkSource.java:767)\r\n                                                                                  at com.google.android.exoplayer.dash.DashChunkSource.continueBuffering(DashChunkSource.java:335)\r\n                                                                                  at com.google.android.exoplayer.chunk.ChunkSampleSource.continueBuffering(ChunkSampleSource.java:221)\r\n                                                                                  at com.google.android.exoplayer.SampleSourceTrackRenderer.doSomeWork(SampleSourceTrackRenderer.java:127)\r\n                                                                                  at com.google.android.exoplayer.ExoPlayerImplInternal.doSomeWork(ExoPlayerImplInternal.java:434)\r\n                                                                                  at com.google.android.exoplayer.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:213)\r\n                                                                                  at android.os.Handler.dispatchMessage(Handler.java:98) \r\n                                                                                  at android.os.Looper.loop(Looper.java:148) \r\n                                                                                  at android.os.HandlerThread.run(HandlerThread.java:61) \r\n                                                                                  at com.google.android.exoplayer.util.PriorityHandlerThread.run(PriorityHandlerThread.java:40) \r\n08-04 10:38:55.077 4118-4118/com.google.android.exoplayer.demo D/EventLogger: state [222.44, true, I]\r\n```\r\n\r\nI have added the `current position: XXXXms` and the `Jumping from XXXXms to XXXXms` logs. The code for seeking is:\r\n\r\n```java\r\n  public void jump10Seconds(View v) {\r\n      long currentPosition = player.getCurrentPosition();\r\n      long newPosition = currentPosition + 10 * 1000;\r\n      Log.d(TAG, \"Jumping from \" + currentPosition + \"ms to \" + newPosition + \"ms\");\r\n      player.seekTo(newPosition);\r\n  }\r\n```\r\n\r\nI'm using the v1 branch, going to try dev-v2 branch\r\n*EDIT*\r\nThe crash is also happening in dev-v2\r\n```\r\n08-04 13:48:40.867 6783-6812/com.google.android.exoplayer2.demo E/AndroidRuntime: FATAL EXCEPTION: ExoPlayerImplInternal:Handler\r\n                                                                                  Process: com.google.android.exoplayer2.demo, PID: 6783\r\n                                                                                  java.lang.IndexOutOfBoundsException: Invalid index 0, size is 0\r\n                                                                                      at java.util.ArrayList.throwIndexOutOfBoundsException(ArrayList.java:255)\r\n                                                                                      at java.util.ArrayList.get(ArrayList.java:308)\r\n                                                                                      at com.google.android.exoplayer2.source.dash.manifest.SegmentBase$MultiSegmentBase.getSegmentTimeUs(SegmentBase.java:191)\r\n                                                                                      at com.google.android.exoplayer2.source.dash.manifest.Representation$MultiSegmentRepresentation.getTimeUs(Representation.java:252)\r\n                                                                                      at com.google.android.exoplayer2.source.dash.DefaultDashChunkSource$RepresentationHolder.updateRepresentation(DefaultDashChunkSource.java:402)\r\n                                                                                      at com.google.android.exoplayer2.source.dash.DefaultDashChunkSource.updateManifest(DefaultDashChunkSource.java:128)\r\n                                                                                      at com.google.android.exoplayer2.source.dash.DashMediaPeriod.updateManifest(DashMediaPeriod.java:84)\r\n                                                                                      at com.google.android.exoplayer2.source.dash.DashMediaSource.updatePeriod(DashMediaSource.java:214)\r\n                                                                                      at com.google.android.exoplayer2.source.dash.DashMediaSource.onManifestLoadCompleted(DashMediaSource.java:203)\r\n                                                                                      at com.google.android.exoplayer2.source.dash.DashMediaSource$ManifestCallback.onLoadCompleted(DashMediaSource.java:389)\r\n                                                                                      at com.google.android.exoplayer2.source.dash.DashMediaSource$ManifestCallback.onLoadCompleted(DashMediaSource.java:383)\r\n                                                                                      at com.google.android.exoplayer2.upstream.Loader$LoadTask.handleMessage(Loader.java:356)\r\n                                                                                      at android.os.Handler.dispatchMessage(Handler.java:102)\r\n                                                                                      at android.os.Looper.loop(Looper.java:148)\r\n                                                                                      at android.os.HandlerThread.run(HandlerThread.java:61)\r\n                                                                                      at com.google.android.exoplayer2.util.PriorityHandlerThread.run(PriorityHandlerThread.java:40)\r\n```\r\n\r\n*EDIT 2*\r\nIn dev-v2 it crashes even without seeking. Maybe having only 2 segments in the timeline is a problem? I will increase the number to 3 and check. *UPDATE*, no it's also crashing at the same spot.\r\n\r\n*EDIT 3*\r\nTurns out that the crash is not related to `#seekTo` at all. ffmpeg was generating the MPD and the segments from another file. That file wasn't long enough so i was running the ffmpeg process in loop. The first MPD that is generated immediately upon startup contains an empty `SegmentTimeline` tag and this is what caused the crash. The crash causing MPD is below:\r\n\r\n```xml\r\n<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n<MPD xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\r\n\txmlns=\"urn:mpeg:dash:schema:mpd:2011\"\r\n\txmlns:xlink=\"http://www.w3.org/1999/xlink\"\r\n\txsi:schemaLocation=\"urn:mpeg:DASH:schema:MPD:2011 http://standards.iso.org/ittf/PubliclyAvailableStandards/MPEG-DASH_schema_files/DASH-MPD.xsd\"\r\n\tprofiles=\"urn:mpeg:dash:profile:isoff-live:2011\"\r\n\ttype=\"dynamic\"\r\n\tminimumUpdatePeriod=\"PT0S\"\r\n\tsuggestedPresentationDelay=\"PT0S\"\r\n\tpublishTime=\"2016-08-04T07:25:53\"\r\n\ttimeShiftBufferDepth=\"PT0.0S\"\r\n\tminBufferTime=\"PT0.0S\">\r\n\t<ProgramInformation>\r\n\t</ProgramInformation>\r\n\t<Period start=\"PT0.0S\">\r\n\t\t<AdaptationSet contentType=\"audio\" segmentAlignment=\"true\" bitstreamSwitching=\"true\">\r\n\t\t\t<Representation id=\"0\" mimeType=\"audio/mp4\" codecs=\"mp4a.40.2\" bandwidth=\"128000\" audioSamplingRate=\"22050\">\r\n\t\t\t\t<AudioChannelConfiguration schemeIdUri=\"urn:mpeg:dash:23003:3:audio_channel_configuration:2011\" value=\"1\" />\r\n\t\t\t\t<SegmentTemplate timescale=\"22050\" initialization=\"init-stream$RepresentationID$.m4s\" media=\"chunk-stream$RepresentationID$-$Number%05d$.m4s\" startNumber=\"1\">\r\n\t\t\t\t\t<SegmentTimeline>\r\n\t\t\t\t\t</SegmentTimeline>\r\n\t\t\t\t</SegmentTemplate>\r\n\t\t\t</Representation>\r\n\t\t</AdaptationSet>\r\n\t</Period>\r\n</MPD>\r\n```\r\n\r\nI don't think that such MPD file should crash the player so i'm opening a different ticket and closing this."}}
{"actor":{"display_login":"azabujuban"}}