{"action":"opened","issue":{"url":"https://api.github.com/repos/dailymotion/hls.js/issues/413","repository_url":"https://api.github.com/repos/dailymotion/hls.js","labels_url":"https://api.github.com/repos/dailymotion/hls.js/issues/413/labels{/name}","comments_url":"https://api.github.com/repos/dailymotion/hls.js/issues/413/comments","events_url":"https://api.github.com/repos/dailymotion/hls.js/issues/413/events","html_url":"https://github.com/dailymotion/hls.js/issues/413","id":151483863,"number":413,"title":"Segments with missing video at end cause large buffered gaps and playback stall","user":{"login":"JHartman5","id":75222,"avatar_url":"https://avatars.githubusercontent.com/u/75222?v=3","gravatar_id":"","url":"https://api.github.com/users/JHartman5","html_url":"https://github.com/JHartman5","followers_url":"https://api.github.com/users/JHartman5/followers","following_url":"https://api.github.com/users/JHartman5/following{/other_user}","gists_url":"https://api.github.com/users/JHartman5/gists{/gist_id}","starred_url":"https://api.github.com/users/JHartman5/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/JHartman5/subscriptions","organizations_url":"https://api.github.com/users/JHartman5/orgs","repos_url":"https://api.github.com/users/JHartman5/repos","events_url":"https://api.github.com/users/JHartman5/events{/privacy}","received_events_url":"https://api.github.com/users/JHartman5/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":0,"created_at":"2016-04-27T20:33:01Z","updated_at":"2016-04-27T20:33:01Z","closed_at":null,"body":"In some instances, we have TS files that we know have missing video data at the end. For example:\r\n\r\n**Sample Problem M3U8:**\r\n[M3U8 Link](https://dev-assets.boxcast.com/misc/issues/hlsjsfraglooploadingerror/trimmed.m3u8) | [Demo Link](http://dailymotion.github.io/hls.js/demo/?src=https%3A%2F%2Fdev-assets.boxcast.com%2Fmisc%2Fissues%2Fhlsjsfraglooploadingerror%2Ftrimmed.m3u8&enableStreaming=true&autoRecoverError=true&enableWorker=true&levelCapping=-1&defaultAudioCodec=undefined)\r\n\r\nIn this case, there is approximately 3 seconds of video and 22 seconds of audio in the first segment, causing a gap in media.buffered that is >> maxSeekHole, and playback stalls. Increasing maxSeekHole and maxBufferHole to such a large value just feels wrong. In theory, we think the duration of the last video frame should accommodate such gaps; we think this is what tools like ffmpeg do."}}