{"action":"opened","issue":{"url":"https://api.github.com/repos/google/ExoPlayer/issues/342","labels_url":"https://api.github.com/repos/google/ExoPlayer/issues/342/labels{/name}","comments_url":"https://api.github.com/repos/google/ExoPlayer/issues/342/comments","events_url":"https://api.github.com/repos/google/ExoPlayer/issues/342/events","html_url":"https://github.com/google/ExoPlayer/issues/342","id":60135698,"number":342,"title":"While playing an HLS track, it buffers the segments  \"on-demand\", and not the full track.","user":{"login":"jjvargas","id":1838805,"avatar_url":"https://avatars.githubusercontent.com/u/1838805?v=3","gravatar_id":"","url":"https://api.github.com/users/jjvargas","html_url":"https://github.com/jjvargas","followers_url":"https://api.github.com/users/jjvargas/followers","following_url":"https://api.github.com/users/jjvargas/following{/other_user}","gists_url":"https://api.github.com/users/jjvargas/gists{/gist_id}","starred_url":"https://api.github.com/users/jjvargas/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jjvargas/subscriptions","organizations_url":"https://api.github.com/users/jjvargas/orgs","repos_url":"https://api.github.com/users/jjvargas/repos","events_url":"https://api.github.com/users/jjvargas/events{/privacy}","received_events_url":"https://api.github.com/users/jjvargas/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":0,"created_at":"2015-03-06T17:55:09Z","updated_at":"2015-03-06T17:55:09Z","closed_at":null,"body":"I would like to know some hints on how this can be modified (what areas in the code) as I have implemented cache support with a modified version of the CacheDataSource/Sink, so every time it loads a segment, this is being written on disk. So ideally all it would be good to load all the segments so the entire track is cached from the beginning and only the memory buffer works on demand. \r\n\r\nA Use Case might be when connected to a mobile network and moving, so the connection is variable - buffering ahead to the end of the track would make playback more tolerant of lost signal (tunnels, etc)\r\n"}}