{"action":"created","issue":{"url":"https://api.github.com/repos/google/shaka-player/issues/131","labels_url":"https://api.github.com/repos/google/shaka-player/issues/131/labels{/name}","comments_url":"https://api.github.com/repos/google/shaka-player/issues/131/comments","events_url":"https://api.github.com/repos/google/shaka-player/issues/131/events","html_url":"https://github.com/google/shaka-player/issues/131","id":96344423,"number":131,"title":"Single segment download failure is fatal","user":{"login":"jonoward","id":12513117,"avatar_url":"https://avatars.githubusercontent.com/u/12513117?v=3","gravatar_id":"","url":"https://api.github.com/users/jonoward","html_url":"https://github.com/jonoward","followers_url":"https://api.github.com/users/jonoward/followers","following_url":"https://api.github.com/users/jonoward/following{/other_user}","gists_url":"https://api.github.com/users/jonoward/gists{/gist_id}","starred_url":"https://api.github.com/users/jonoward/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jonoward/subscriptions","organizations_url":"https://api.github.com/users/jonoward/orgs","repos_url":"https://api.github.com/users/jonoward/repos","events_url":"https://api.github.com/users/jonoward/events{/privacy}","received_events_url":"https://api.github.com/users/jonoward/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":1,"created_at":"2015-07-21T15:21:30Z","updated_at":"2015-07-21T15:43:55Z","closed_at":null,"body":"Prior to 1.4, a single segment download failure (i.e. a rejected promise out of RangeRequest) would be retried in Stream.onUpdate. In 1.4 (and latest master) I notice this doesn't seem to be the case. From what I can see it looks like SourceBufferManager.fetch does not reject it's promise if the RangeRequest promise is rejected. I think it's because a rejected promise triggering the \"catch\" in Task.startNextStage_ is swallowed (only when task is aborted is the promise rejected). So I think SourceBufferManager.fetch is left hanging, with neither resolve of reject funcs being fired. Not 100% sure if my diagnosis is correct though.\r\n\r\nI can repro it on http://shaka-player-demo.appspot.com/ , by blocking a segment request just once - this stops future requests from executing, and then player eventually enters a permanent buffering state."},"comment":{"url":"https://api.github.com/repos/google/shaka-player/issues/comments/123378728","html_url":"https://github.com/google/shaka-player/issues/131#issuecomment-123378728","issue_url":"https://api.github.com/repos/google/shaka-player/issues/131","id":123378728,"user":{"login":"tdrews","id":10248471,"avatar_url":"https://avatars.githubusercontent.com/u/10248471?v=3","gravatar_id":"","url":"https://api.github.com/users/tdrews","html_url":"https://github.com/tdrews","followers_url":"https://api.github.com/users/tdrews/followers","following_url":"https://api.github.com/users/tdrews/following{/other_user}","gists_url":"https://api.github.com/users/tdrews/gists{/gist_id}","starred_url":"https://api.github.com/users/tdrews/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tdrews/subscriptions","organizations_url":"https://api.github.com/users/tdrews/orgs","repos_url":"https://api.github.com/users/tdrews/repos","events_url":"https://api.github.com/users/tdrews/events{/privacy}","received_events_url":"https://api.github.com/users/tdrews/received_events","type":"User","site_admin":false},"created_at":"2015-07-21T15:43:55Z","updated_at":"2015-07-21T15:43:55Z","body":"Thanks for the report. I have a repro. I'll take a look."}}