{"action":"closed","issue":{"url":"https://api.github.com/repos/Dash-Industry-Forum/dash.js/issues/681","labels_url":"https://api.github.com/repos/Dash-Industry-Forum/dash.js/issues/681/labels{/name}","comments_url":"https://api.github.com/repos/Dash-Industry-Forum/dash.js/issues/681/comments","events_url":"https://api.github.com/repos/Dash-Industry-Forum/dash.js/issues/681/events","html_url":"https://github.com/Dash-Industry-Forum/dash.js/issues/681","id":98739459,"number":681,"title":"Multiple buffering state changes at end of stream","user":{"login":"oskargustafsson","id":4759832,"avatar_url":"https://avatars.githubusercontent.com/u/4759832?v=3","gravatar_id":"","url":"https://api.github.com/users/oskargustafsson","html_url":"https://github.com/oskargustafsson","followers_url":"https://api.github.com/users/oskargustafsson/followers","following_url":"https://api.github.com/users/oskargustafsson/following{/other_user}","gists_url":"https://api.github.com/users/oskargustafsson/gists{/gist_id}","starred_url":"https://api.github.com/users/oskargustafsson/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/oskargustafsson/subscriptions","organizations_url":"https://api.github.com/users/oskargustafsson/orgs","repos_url":"https://api.github.com/users/oskargustafsson/repos","events_url":"https://api.github.com/users/oskargustafsson/events{/privacy}","received_events_url":"https://api.github.com/users/oskargustafsson/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"milestone":null,"comments":1,"created_at":"2015-08-03T13:10:22Z","updated_at":"2015-09-03T13:48:15Z","closed_at":"2015-09-03T13:48:15Z","body":"In several different streams I've seen that the player triggers one or more buffer stalls at the end. This in turn creates a bad UX, since we end up showing with a blinking spinner just before the stream ends.\r\n\r\nIssue can be recreated on http://dashif.org/reference/players/javascript/1.4.0/samples/dash-if-reference-player/index.html using this stream https://eu-dash-streaming.s3.amazonaws.com/1953_5d715d00f4688f30e50d1f8bbc215d66/1953.mpd?AWSAccessKeyId=AKIAJX7FD4JODOFQWWFA&Expires=1441284834&Signature=LppqlNp9%2F2dMEWCpM2ktrvgKPkM%3D (active til 3 September 2015)\r\n\r\nLog output at the end of the stream:\r\n\r\n```\r\n...\r\nloaded audio:Media Segment:290.58432 (200, 105ms, 3ms)\r\n[audio] Getting the request for time: 296.63815999999997\r\n[audio] Index for time 296.63815999999997 is 48\r\n[audio] SegmentTemplate: 290.58432 / 296\r\n[audio] Signal complete.\r\n[audio] Stream is complete\r\n[audio] Buffered Range: 0 - 296.042666\r\n[video] Getting the request for time: 291.48\r\n[video] Index for time 291.48 is 47\r\n[video] SegmentTemplate: 284.53048 / 296\r\n[video] SegmentTemplate: 290.58432 / 296\r\n[video] Getting the request for time: 296.63815999999997\r\n[video] Index for time 296.63815999999997 is 48\r\n[video] SegmentTemplate: 290.58432 / 296\r\n[video] Signal complete.\r\nloaded video:Media Segment:290.58432 (200, 278ms, 733ms)\r\n[video] Stream is complete\r\n[video] Buffered Range: 121.2 - 296.64\r\n\r\n   ---> Here the stream ends\r\n\r\n[audio] Stalling Buffer\r\n[audio] Waiting for more buffer before starting playback.\r\n<video> ratechange:  0\r\n[audio] Got enough buffer to start.\r\n<video> ratechange:  1\r\n[audio] Stalling Buffer\r\n[audio] Waiting for more buffer before starting playback.\r\n<video> ratechange:  0\r\n[audio] Got enough buffer to start.\r\n<video> ratechange:  1\r\n[audio] Stalling Buffer\r\n[audio] Waiting for more buffer before starting playback.\r\n<video> ratechange:  0\r\n[audio] Got enough buffer to start.\r\n<video> ratechange:  1\r\n[video] Stalling Buffer\r\n[video] Waiting for more buffer before starting playback.\r\n[audio] Stalling Buffer\r\n[audio] Waiting for more buffer before starting playback.\r\n<video> ratechange:  0\r\n[video] Got enough buffer to start.\r\n[audio] Got enough buffer to start.\r\n<video> ratechange:  1\r\n[video] Stalling Buffer\r\n[video] Waiting for more buffer before starting playback.\r\n[audio] Stalling Buffer\r\n[audio] Waiting for more buffer before starting playback.\r\n<video> ratechange:  0\r\n[video] Got enough buffer to start.\r\n[audio] Got enough buffer to start.\r\n<video> ratechange:  1\r\n[video] Stalling Buffer\r\n[video] Waiting for more buffer before starting playback.\r\n[audio] Stalling Buffer\r\n[audio] Waiting for more buffer before starting playback.\r\n<video> pause\r\n<video> ended\r\n<video> ratechange:  0\r\n[video] Got enough buffer to start.\r\n[audio] Got enough buffer to start.\r\n<video> ratechange:  1\r\n```"}}