{"action":"created","comment":{"url":"https://api.github.com/repos/videojs/videojs-contrib-hls/pulls/comments/87419331","pull_request_review_id":8032802,"id":87419331,"diff_hunk":"@@ -122,11 +122,23 @@ export default class PlaybackWatcher {\n   waiting_() {\n     let seekable = this.seekable();\n     let currentTime = this.tech_.currentTime();\n+    let buffered = this.tech_.buffered();\n \n     if (this.tech_.seeking() || this.timer_ !== null) {\n       return;\n     }\n \n+    if (this.pastLiveWindow_(seekable, currentTime. buffered)) {\n+      let seekableEnd = seekable.end(seekable.length - 1);\n+\n+      // Through slow playlist requests or some other means, we managed to find ourselves\n+      // off the front of the live window. It doesn't matter how we got here, but we need\n+      // to get back to our safe seekable range.\n+      this.logger_(`Fell past live window at time ${currentTime}. Seeking to ` +\n+                   `seekable end ${seekableEnd}`);\n+      this.tech_.setCurrentTime(seekableEnd);","path":"src/playback-watcher.js","position":18,"original_position":18,"commit_id":"25594760a2874bf2d989a2f34b8d32f309900082","original_commit_id":"25594760a2874bf2d989a2f34b8d32f309900082","user":{"login":"forbesjo","id":7529098,"avatar_url":"https://avatars.githubusercontent.com/u/7529098?v=3","gravatar_id":"","url":"https://api.github.com/users/forbesjo","html_url":"https://github.com/forbesjo","followers_url":"https://api.github.com/users/forbesjo/followers","following_url":"https://api.github.com/users/forbesjo/following{/other_user}","gists_url":"https://api.github.com/users/forbesjo/gists{/gist_id}","starred_url":"https://api.github.com/users/forbesjo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/forbesjo/subscriptions","organizations_url":"https://api.github.com/users/forbesjo/orgs","repos_url":"https://api.github.com/users/forbesjo/repos","events_url":"https://api.github.com/users/forbesjo/events{/privacy}","received_events_url":"https://api.github.com/users/forbesjo/received_events","type":"User","site_admin":false},"body":"Looks like we're doing the same thing for falling out of the live window, maybe the logic should be combined.","created_at":"2016-11-10T15:38:43Z","updated_at":"2016-11-10T15:38:43Z","html_url":"https://github.com/videojs/videojs-contrib-hls/pull/901#discussion_r87419331","pull_request_url":"https://api.github.com/repos/videojs/videojs-contrib-hls/pulls/901","_links":{"self":{"href":"https://api.github.com/repos/videojs/videojs-contrib-hls/pulls/comments/87419331"},"html":{"href":"https://github.com/videojs/videojs-contrib-hls/pull/901#discussion_r87419331"},"pull_request":{"href":"https://api.github.com/repos/videojs/videojs-contrib-hls/pulls/901"}}},"pull_request":{"url":"https://api.github.com/repos/videojs/videojs-contrib-hls/pulls/901","id":93054920,"html_url":"https://github.com/videojs/videojs-contrib-hls/pull/901","diff_url":"https://github.com/videojs/videojs-contrib-hls/pull/901.diff","patch_url":"https://github.com/videojs/videojs-contrib-hls/pull/901.patch","issue_url":"https://api.github.com/repos/videojs/videojs-contrib-hls/issues/901","number":901,"state":"open","locked":false,"title":"Handle falling off front of live playlist in playback-watcher","user":{"login":"gesinger","id":356726,"avatar_url":"https://avatars.githubusercontent.com/u/356726?v=3","gravatar_id":"","url":"https://api.github.com/users/gesinger","html_url":"https://github.com/gesinger","followers_url":"https://api.github.com/users/gesinger/followers","following_url":"https://api.github.com/users/gesinger/following{/other_user}","gists_url":"https://api.github.com/users/gesinger/gists{/gist_id}","starred_url":"https://api.github.com/users/gesinger/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/gesinger/subscriptions","organizations_url":"https://api.github.com/users/gesinger/orgs","repos_url":"https://api.github.com/users/gesinger/repos","events_url":"https://api.github.com/users/gesinger/events{/privacy}","received_events_url":"https://api.github.com/users/gesinger/received_events","type":"User","site_admin":false},"body":"## Description\r\nNote: currently doing more testing with this, but wanted to get this out to review\r\n\r\nHandles cases where we fall off the front of a playlist, for instance, when playlist requests are slow.\r\n\r\n## Requirements Checklist\r\n- [X] Feature implemented / Bug fixed\r\n- [ ] If necessary, more likely in a feature request than a bug fix\r\n  - [X] Unit Tests updated or fixed\r\n  - [ ] Docs/guides updated\r\n  - [ ] Example created ([starter template on JSBin](http://jsbin.com/liwecukasi/edit?html,output))\r\n- [ ] Reviewed by Two Core Contributors\r\n","created_at":"2016-11-09T22:54:46Z","updated_at":"2016-11-10T15:38:43Z","closed_at":null,"merged_at":null,"merge_commit_sha":"39ce1a7b89d3247d9b2aa32924e984baf48e9738","assignee":null,"assignees":[],"milestone":null,"commits_url":"https://api.github.com/repos/videojs/videojs-contrib-hls/pulls/901/commits","review_comments_url":"https://api.github.com/repos/videojs/videojs-contrib-hls/pulls/901/comments","review_comment_url":"https://api.github.com/repos/videojs/videojs-contrib-hls/pulls/comments{/number}","comments_url":"https://api.github.com/repos/videojs/videojs-contrib-hls/issues/901/comments","statuses_url":"https://api.github.com/repos/videojs/videojs-contrib-hls/statuses/25594760a2874bf2d989a2f34b8d32f309900082","head":{"label":"gesinger:live-fall-forward-master","ref":"live-fall-forward-master","sha":"25594760a2874bf2d989a2f34b8d32f309900082","user":{"login":"gesinger","id":356726,"avatar_url":"https://avatars.githubusercontent.com/u/356726?v=3","gravatar_id":"","url":"https://api.github.com/users/gesinger","html_url":"https://github.com/gesinger","followers_url":"https://api.github.com/users/gesinger/followers","following_url":"https://api.github.com/users/gesinger/following{/other_user}","gists_url":"https://api.github.com/users/gesinger/gists{/gist_id}","starred_url":"https://api.github.com/users/gesinger/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/gesinger/subscriptions","organizations_url":"https://api.github.com/users/gesinger/orgs","repos_url":"https://api.github.com/users/gesinger/repos","events_url":"https://api.github.com/users/gesinger/events{/privacy}","received_events_url":"https://api.github.com/users/gesinger/received_events","type":"User","site_admin":false},"repo":{"id":49451278,"name":"videojs-contrib-hls","full_name":"gesinger/videojs-contrib-hls","owner":{"login":"gesinger","id":356726,"avatar_url":"https://avatars.githubusercontent.com/u/356726?v=3","gravatar_id":"","url":"https://api.github.com/users/gesinger","html_url":"https://github.com/gesinger","followers_url":"https://api.github.com/users/gesinger/followers","following_url":"https://api.github.com/users/gesinger/following{/other_user}","gists_url":"https://api.github.com/users/gesinger/gists{/gist_id}","starred_url":"https://api.github.com/users/gesinger/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/gesinger/subscriptions","organizations_url":"https://api.github.com/users/gesinger/orgs","repos_url":"https://api.github.com/users/gesinger/repos","events_url":"https://api.github.com/users/gesinger/events{/privacy}","received_events_url":"https://api.github.com/users/gesinger/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/gesinger/videojs-contrib-hls","description":"HLS library for video.js","fork":true,"url":"https://api.github.com/repos/gesinger/videojs-contrib-hls","forks_url":"https://api.github.com/repos/gesinger/videojs-contrib-hls/forks","keys_url":"https://api.github.com/repos/gesinger/videojs-contrib-hls/keys{/key_id}","collaborators_url":"https://api.github.com/repos/gesinger/videojs-contrib-hls/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/gesinger/videojs-contrib-hls/teams","hooks_url":"https://api.github.com/repos/gesinger/videojs-contrib-hls/hooks","issue_events_url":"https://api.github.com/repos/gesinger/videojs-contrib-hls/issues/events{/number}","events_url":"https://api.github.com/repos/gesinger/videojs-contrib-hls/events","assignees_url":"https://api.github.com/repos/gesinger/videojs-contrib-hls/assignees{/user}","branches_url":"https://api.github.com/repos/gesinger/videojs-contrib-hls/branches{/branch}","tags_url":"https://api.github.com/repos/gesinger/videojs-contrib-hls/tags","blobs_url":"https://api.github.com/repos/gesinger/videojs-contrib-hls/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/gesinger/videojs-contrib-hls/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/gesinger/videojs-contrib-hls/git/refs{/sha}","trees_url":"https://api.github.com/repos/gesinger/videojs-contrib-hls/git/trees{/sha}","statuses_url":"https://api.github.com/repos/gesinger/videojs-contrib-hls/statuses/{sha}","languages_url":"https://api.github.com/repos/gesinger/videojs-contrib-hls/languages","stargazers_url":"https://api.github.com/repos/gesinger/videojs-contrib-hls/stargazers","contributors_url":"https://api.github.com/repos/gesinger/videojs-contrib-hls/contributors","subscribers_url":"https://api.github.com/repos/gesinger/videojs-contrib-hls/subscribers","subscription_url":"https://api.github.com/repos/gesinger/videojs-contrib-hls/subscription","commits_url":"https://api.github.com/repos/gesinger/videojs-contrib-hls/commits{/sha}","git_commits_url":"https://api.github.com/repos/gesinger/videojs-contrib-hls/git/commits{/sha}","comments_url":"https://api.github.com/repos/gesinger/videojs-contrib-hls/comments{/number}","issue_comment_url":"https://api.github.com/repos/gesinger/videojs-contrib-hls/issues/comments{/number}","contents_url":"https://api.github.com/repos/gesinger/videojs-contrib-hls/contents/{+path}","compare_url":"https://api.github.com/repos/gesinger/videojs-contrib-hls/compare/{base}...{head}","merges_url":"https://api.github.com/repos/gesinger/videojs-contrib-hls/merges","archive_url":"https://api.github.com/repos/gesinger/videojs-contrib-hls/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/gesinger/videojs-contrib-hls/downloads","issues_url":"https://api.github.com/repos/gesinger/videojs-contrib-hls/issues{/number}","pulls_url":"https://api.github.com/repos/gesinger/videojs-contrib-hls/pulls{/number}","milestones_url":"https://api.github.com/repos/gesinger/videojs-contrib-hls/milestones{/number}","notifications_url":"https://api.github.com/repos/gesinger/videojs-contrib-hls/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/gesinger/videojs-contrib-hls/labels{/name}","releases_url":"https://api.github.com/repos/gesinger/videojs-contrib-hls/releases{/id}","deployments_url":"https://api.github.com/repos/gesinger/videojs-contrib-hls/deployments","created_at":"2016-01-11T20:07:30Z","updated_at":"2016-01-11T20:07:32Z","pushed_at":"2016-11-09T22:53:00Z","git_url":"git://github.com/gesinger/videojs-contrib-hls.git","ssh_url":"git@github.com:gesinger/videojs-contrib-hls.git","clone_url":"https://github.com/gesinger/videojs-contrib-hls.git","svn_url":"https://github.com/gesinger/videojs-contrib-hls","homepage":"http://videojs.github.io/videojs-contrib-hls/","size":15282,"stargazers_count":0,"watchers_count":0,"language":"JavaScript","has_issues":false,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":1,"forks":0,"open_issues":1,"watchers":0,"default_branch":"master"}},"base":{"label":"videojs:master","ref":"master","sha":"d87af48e3b404bc9c1f622b3143828603569a654","user":{"login":"videojs","id":3287189,"avatar_url":"https://avatars.githubusercontent.com/u/3287189?v=3","gravatar_id":"","url":"https://api.github.com/users/videojs","html_url":"https://github.com/videojs","followers_url":"https://api.github.com/users/videojs/followers","following_url":"https://api.github.com/users/videojs/following{/other_user}","gists_url":"https://api.github.com/users/videojs/gists{/gist_id}","starred_url":"https://api.github.com/users/videojs/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/videojs/subscriptions","organizations_url":"https://api.github.com/users/videojs/orgs","repos_url":"https://api.github.com/users/videojs/repos","events_url":"https://api.github.com/users/videojs/events{/privacy}","received_events_url":"https://api.github.com/users/videojs/received_events","type":"Organization","site_admin":false},"repo":{"id":14029328,"name":"videojs-contrib-hls","full_name":"videojs/videojs-contrib-hls","owner":{"login":"videojs","id":3287189,"avatar_url":"https://avatars.githubusercontent.com/u/3287189?v=3","gravatar_id":"","url":"https://api.github.com/users/videojs","html_url":"https://github.com/videojs","followers_url":"https://api.github.com/users/videojs/followers","following_url":"https://api.github.com/users/videojs/following{/other_user}","gists_url":"https://api.github.com/users/videojs/gists{/gist_id}","starred_url":"https://api.github.com/users/videojs/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/videojs/subscriptions","organizations_url":"https://api.github.com/users/videojs/orgs","repos_url":"https://api.github.com/users/videojs/repos","events_url":"https://api.github.com/users/videojs/events{/privacy}","received_events_url":"https://api.github.com/users/videojs/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/videojs/videojs-contrib-hls","description":"HLS library for video.js","fork":false,"url":"https://api.github.com/repos/videojs/videojs-contrib-hls","forks_url":"https://api.github.com/repos/videojs/videojs-contrib-hls/forks","keys_url":"https://api.github.com/repos/videojs/videojs-contrib-hls/keys{/key_id}","collaborators_url":"https://api.github.com/repos/videojs/videojs-contrib-hls/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/videojs/videojs-contrib-hls/teams","hooks_url":"https://api.github.com/repos/videojs/videojs-contrib-hls/hooks","issue_events_url":"https://api.github.com/repos/videojs/videojs-contrib-hls/issues/events{/number}","events_url":"https://api.github.com/repos/videojs/videojs-contrib-hls/events","assignees_url":"https://api.github.com/repos/videojs/videojs-contrib-hls/assignees{/user}","branches_url":"https://api.github.com/repos/videojs/videojs-contrib-hls/branches{/branch}","tags_url":"https://api.github.com/repos/videojs/videojs-contrib-hls/tags","blobs_url":"https://api.github.com/repos/videojs/videojs-contrib-hls/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/videojs/videojs-contrib-hls/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/videojs/videojs-contrib-hls/git/refs{/sha}","trees_url":"https://api.github.com/repos/videojs/videojs-contrib-hls/git/trees{/sha}","statuses_url":"https://api.github.com/repos/videojs/videojs-contrib-hls/statuses/{sha}","languages_url":"https://api.github.com/repos/videojs/videojs-contrib-hls/languages","stargazers_url":"https://api.github.com/repos/videojs/videojs-contrib-hls/stargazers","contributors_url":"https://api.github.com/repos/videojs/videojs-contrib-hls/contributors","subscribers_url":"https://api.github.com/repos/videojs/videojs-contrib-hls/subscribers","subscription_url":"https://api.github.com/repos/videojs/videojs-contrib-hls/subscription","commits_url":"https://api.github.com/repos/videojs/videojs-contrib-hls/commits{/sha}","git_commits_url":"https://api.github.com/repos/videojs/videojs-contrib-hls/git/commits{/sha}","comments_url":"https://api.github.com/repos/videojs/videojs-contrib-hls/comments{/number}","issue_comment_url":"https://api.github.com/repos/videojs/videojs-contrib-hls/issues/comments{/number}","contents_url":"https://api.github.com/repos/videojs/videojs-contrib-hls/contents/{+path}","compare_url":"https://api.github.com/repos/videojs/videojs-contrib-hls/compare/{base}...{head}","merges_url":"https://api.github.com/repos/videojs/videojs-contrib-hls/merges","archive_url":"https://api.github.com/repos/videojs/videojs-contrib-hls/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/videojs/videojs-contrib-hls/downloads","issues_url":"https://api.github.com/repos/videojs/videojs-contrib-hls/issues{/number}","pulls_url":"https://api.github.com/repos/videojs/videojs-contrib-hls/pulls{/number}","milestones_url":"https://api.github.com/repos/videojs/videojs-contrib-hls/milestones{/number}","notifications_url":"https://api.github.com/repos/videojs/videojs-contrib-hls/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/videojs/videojs-contrib-hls/labels{/name}","releases_url":"https://api.github.com/repos/videojs/videojs-contrib-hls/releases{/id}","deployments_url":"https://api.github.com/repos/videojs/videojs-contrib-hls/deployments","created_at":"2013-10-31T21:55:21Z","updated_at":"2016-11-10T03:45:03Z","pushed_at":"2016-11-10T02:12:33Z","git_url":"git://github.com/videojs/videojs-contrib-hls.git","ssh_url":"git@github.com:videojs/videojs-contrib-hls.git","clone_url":"https://github.com/videojs/videojs-contrib-hls.git","svn_url":"https://github.com/videojs/videojs-contrib-hls","homepage":"http://videojs.github.io/videojs-contrib-hls/","size":25404,"stargazers_count":907,"watchers_count":907,"language":"JavaScript","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":true,"forks_count":393,"mirror_url":null,"open_issues_count":120,"forks":393,"open_issues":120,"watchers":907,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/videojs/videojs-contrib-hls/pulls/901"},"html":{"href":"https://github.com/videojs/videojs-contrib-hls/pull/901"},"issue":{"href":"https://api.github.com/repos/videojs/videojs-contrib-hls/issues/901"},"comments":{"href":"https://api.github.com/repos/videojs/videojs-contrib-hls/issues/901/comments"},"review_comments":{"href":"https://api.github.com/repos/videojs/videojs-contrib-hls/pulls/901/comments"},"review_comment":{"href":"https://api.github.com/repos/videojs/videojs-contrib-hls/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/videojs/videojs-contrib-hls/pulls/901/commits"},"statuses":{"href":"https://api.github.com/repos/videojs/videojs-contrib-hls/statuses/25594760a2874bf2d989a2f34b8d32f309900082"}}}}
{"actor":{"display_login":"forbesjo"}}