{"action":"created","issue":{"url":"https://api.github.com/repos/Dash-Industry-Forum/dash.js/issues/651","labels_url":"https://api.github.com/repos/Dash-Industry-Forum/dash.js/issues/651/labels{/name}","comments_url":"https://api.github.com/repos/Dash-Industry-Forum/dash.js/issues/651/comments","events_url":"https://api.github.com/repos/Dash-Industry-Forum/dash.js/issues/651/events","html_url":"https://github.com/Dash-Industry-Forum/dash.js/issues/651","id":96297394,"number":651,"title":"Handling missing segments \"gracefully\"","user":{"login":"orcaman","id":4884073,"avatar_url":"https://avatars.githubusercontent.com/u/4884073?v=3","gravatar_id":"","url":"https://api.github.com/users/orcaman","html_url":"https://github.com/orcaman","followers_url":"https://api.github.com/users/orcaman/followers","following_url":"https://api.github.com/users/orcaman/following{/other_user}","gists_url":"https://api.github.com/users/orcaman/gists{/gist_id}","starred_url":"https://api.github.com/users/orcaman/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/orcaman/subscriptions","organizations_url":"https://api.github.com/users/orcaman/orgs","repos_url":"https://api.github.com/users/orcaman/repos","events_url":"https://api.github.com/users/orcaman/events{/privacy}","received_events_url":"https://api.github.com/users/orcaman/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":3,"created_at":"2015-07-21T11:51:36Z","updated_at":"2015-08-05T18:09:01Z","closed_at":null,"body":"Hi there,\r\n\r\nCurrently, if a segment is missing, when the playback reaches a certain point, it just halts (the buffer controller seems to think there is not enough data buffered to keep going). \r\n\r\nThis could be handled more nicely I guess, for example, by skipping the interval of the missing data (we know the duration of the missing segment so we should be able to seek to skip it). \r\n\r\nThis is especially helpful if the last segment is missing. For example, each segment may have a duration of 3 seconds, except for the last one which might be less (for example, 100ms). In this case, we will halt 3 seconds before the video ends, just because we're missing the last 100ms (it would be nicer to just play to end - if the missing segment is the last one, forget about it). \r\n\r\nCheers,\r\nOr"},"comment":{"url":"https://api.github.com/repos/Dash-Industry-Forum/dash.js/issues/comments/128094810","html_url":"https://github.com/Dash-Industry-Forum/dash.js/issues/651#issuecomment-128094810","issue_url":"https://api.github.com/repos/Dash-Industry-Forum/dash.js/issues/651","id":128094810,"user":{"login":"AkamaiDASH","id":7864462,"avatar_url":"https://avatars.githubusercontent.com/u/7864462?v=3","gravatar_id":"","url":"https://api.github.com/users/AkamaiDASH","html_url":"https://github.com/AkamaiDASH","followers_url":"https://api.github.com/users/AkamaiDASH/followers","following_url":"https://api.github.com/users/AkamaiDASH/following{/other_user}","gists_url":"https://api.github.com/users/AkamaiDASH/gists{/gist_id}","starred_url":"https://api.github.com/users/AkamaiDASH/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/AkamaiDASH/subscriptions","organizations_url":"https://api.github.com/users/AkamaiDASH/orgs","repos_url":"https://api.github.com/users/AkamaiDASH/repos","events_url":"https://api.github.com/users/AkamaiDASH/events{/privacy}","received_events_url":"https://api.github.com/users/AkamaiDASH/received_events","type":"User","site_admin":false},"created_at":"2015-08-05T18:09:01Z","updated_at":"2015-08-05T18:09:01Z","body":"I think the MSE will not move forward if we are missing a segment.   I do agree that we need much more comprehensive retry logic for 404.  But if a segment is just missing, my understanding is that the MSE source buffer will not decode and render past the missing segment.   It must be pushed in at some point to move forward.  "}}