{"action":"created","comment":{"url":"https://api.github.com/repos/w3c/media-source/pulls/comments/61632404","id":61632404,"diff_hunk":"@@ -829,19 +829,17 @@\n           <p>Follow these steps when <a def-id=\"duration\"></a> needs to change to a <var>new duration</var>.</p>\n           <ol>\n             <li>If the current value of <a def-id=\"duration\"></a> is equal to <var>new duration</var>, then return.</li>\n-            <li>Set <var>old duration</var> to the current value of <a def-id=\"duration\"></a>.\n+\t\t\t<li>If <var>new duration</var> is less than the highest start time reported by the <a def-id=\"buffered\"></a> attribute across all <a>SourceBuffer</a> \n+\t\t\tobjects in <a def-id=\"sourceBuffers\"></a>, then throw an <a def-id=\"invalid-state-error\"></a> exception and abort these steps.</li>\n+\t\t\t  <p class=\"note\">Duration reductions must first use <a def-id=\"remove\"></a> to reduce the buffered range before updating <a def-id=\"duration\"></a>.</p>\n+            <li>Set <var>old duration</var> to the current value of <a def-id=\"duration\"></a>.</li>\n             <li>Update <a def-id=\"duration\"></a> to <var>new duration</var>.</li>\n-            <li>If the <var>new duration</var> is less than <var>old duration</var>, then run the\n-              <a def-id=\"range-removal\"></a> algorithm with <var>new duration</var> and\n-              <var>old duration</var> as the start and end of the removal range.\n-\n-              <p class=\"note\">This preserves audio frames and text cues that start before and end after the <a def-id=\"duration\"></a>.</p></li>\n-            <li>If a user agent is unable to partially render audio frames or text cues that start before and end after the <a def-id=\"duration\"></a>, then run the following steps:\n+            <li>If a user agent is unable to partially render audio frames or text cues that start before and end after the <a def-id=\"duration\"></a>, then run the following steps:</li>\n+\t\t\t  <p class=\"note\">This condition can occur because the <a def-id=\"coded-frame-removal-algorithm\"></a> preserves audio frames and text cues that start before and end after the <a def-id=\"duration\"></a>.</p>","path":"media-source-respec.html","position":26,"original_position":26,"commit_id":"8adbbf42080fc71694ee8d1464e15c1b34da84b4","original_commit_id":"8adbbf42080fc71694ee8d1464e15c1b34da84b4","user":{"login":"wolenetz","id":11578819,"avatar_url":"https://avatars.githubusercontent.com/u/11578819?v=3","gravatar_id":"","url":"https://api.github.com/users/wolenetz","html_url":"https://github.com/wolenetz","followers_url":"https://api.github.com/users/wolenetz/followers","following_url":"https://api.github.com/users/wolenetz/following{/other_user}","gists_url":"https://api.github.com/users/wolenetz/gists{/gist_id}","starred_url":"https://api.github.com/users/wolenetz/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/wolenetz/subscriptions","organizations_url":"https://api.github.com/users/wolenetz/orgs","repos_url":"https://api.github.com/users/wolenetz/repos","events_url":"https://api.github.com/users/wolenetz/events{/privacy}","received_events_url":"https://api.github.com/users/wolenetz/received_events","type":"User","site_admin":false},"body":"I do see also that \"highest end time across all track buffers' track buffer ranges across all SourceBuffers\" is a value not exposed to web apps. So still there's a problem even with my suggestion. The crux is SourceBuffer.buffered is defined in terms of intersection ranges, and muxed content could have complete coded frames in one track buffer that are outside the intersection ranges for that SourceBuffers. Any suggestions for how to resolve this?","created_at":"2016-04-29T19:25:41Z","updated_at":"2016-04-29T19:25:41Z","html_url":"https://github.com/w3c/media-source/pull/65#discussion_r61632404","pull_request_url":"https://api.github.com/repos/w3c/media-source/pulls/65","_links":{"self":{"href":"https://api.github.com/repos/w3c/media-source/pulls/comments/61632404"},"html":{"href":"https://github.com/w3c/media-source/pull/65#discussion_r61632404"},"pull_request":{"href":"https://api.github.com/repos/w3c/media-source/pulls/65"}}},"pull_request":{"url":"https://api.github.com/repos/w3c/media-source/pulls/65","id":66945337,"html_url":"https://github.com/w3c/media-source/pull/65","diff_url":"https://github.com/w3c/media-source/pull/65.diff","patch_url":"https://github.com/w3c/media-source/pull/65.patch","issue_url":"https://api.github.com/repos/w3c/media-source/issues/65","number":65,"state":"open","locked":false,"title":"Fixed #19, #20, #26: Require remove() for range removal","user":{"login":"jdsmith3000","id":8323871,"avatar_url":"https://avatars.githubusercontent.com/u/8323871?v=3","gravatar_id":"","url":"https://api.github.com/users/jdsmith3000","html_url":"https://github.com/jdsmith3000","followers_url":"https://api.github.com/users/jdsmith3000/followers","following_url":"https://api.github.com/users/jdsmith3000/following{/other_user}","gists_url":"https://api.github.com/users/jdsmith3000/gists{/gist_id}","starred_url":"https://api.github.com/users/jdsmith3000/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jdsmith3000/subscriptions","organizations_url":"https://api.github.com/users/jdsmith3000/orgs","repos_url":"https://api.github.com/users/jdsmith3000/repos","events_url":"https://api.github.com/users/jdsmith3000/events{/privacy}","received_events_url":"https://api.github.com/users/jdsmith3000/received_events","type":"User","site_admin":false},"body":"- Require remove() for all Range Removals\r\n- Error on Duration Changes that need remove first\r\n- Error on abort() during Range Removals","created_at":"2016-04-19T00:52:47Z","updated_at":"2016-04-29T19:25:41Z","closed_at":null,"merged_at":null,"merge_commit_sha":"53d8136035647ca1dcfa837fb7d093a8b77d9da0","assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/w3c/media-source/pulls/65/commits","review_comments_url":"https://api.github.com/repos/w3c/media-source/pulls/65/comments","review_comment_url":"https://api.github.com/repos/w3c/media-source/pulls/comments{/number}","comments_url":"https://api.github.com/repos/w3c/media-source/issues/65/comments","statuses_url":"https://api.github.com/repos/w3c/media-source/statuses/8adbbf42080fc71694ee8d1464e15c1b34da84b4","head":{"label":"jdsmith3000:Issue-#26","ref":"Issue-#26","sha":"8adbbf42080fc71694ee8d1464e15c1b34da84b4","user":{"login":"jdsmith3000","id":8323871,"avatar_url":"https://avatars.githubusercontent.com/u/8323871?v=3","gravatar_id":"","url":"https://api.github.com/users/jdsmith3000","html_url":"https://github.com/jdsmith3000","followers_url":"https://api.github.com/users/jdsmith3000/followers","following_url":"https://api.github.com/users/jdsmith3000/following{/other_user}","gists_url":"https://api.github.com/users/jdsmith3000/gists{/gist_id}","starred_url":"https://api.github.com/users/jdsmith3000/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jdsmith3000/subscriptions","organizations_url":"https://api.github.com/users/jdsmith3000/orgs","repos_url":"https://api.github.com/users/jdsmith3000/repos","events_url":"https://api.github.com/users/jdsmith3000/events{/privacy}","received_events_url":"https://api.github.com/users/jdsmith3000/received_events","type":"User","site_admin":false},"repo":{"id":35125730,"name":"media-source","full_name":"jdsmith3000/media-source","owner":{"login":"jdsmith3000","id":8323871,"avatar_url":"https://avatars.githubusercontent.com/u/8323871?v=3","gravatar_id":"","url":"https://api.github.com/users/jdsmith3000","html_url":"https://github.com/jdsmith3000","followers_url":"https://api.github.com/users/jdsmith3000/followers","following_url":"https://api.github.com/users/jdsmith3000/following{/other_user}","gists_url":"https://api.github.com/users/jdsmith3000/gists{/gist_id}","starred_url":"https://api.github.com/users/jdsmith3000/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jdsmith3000/subscriptions","organizations_url":"https://api.github.com/users/jdsmith3000/orgs","repos_url":"https://api.github.com/users/jdsmith3000/repos","events_url":"https://api.github.com/users/jdsmith3000/events{/privacy}","received_events_url":"https://api.github.com/users/jdsmith3000/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/jdsmith3000/media-source","description":"Media Source Extensions","fork":true,"url":"https://api.github.com/repos/jdsmith3000/media-source","forks_url":"https://api.github.com/repos/jdsmith3000/media-source/forks","keys_url":"https://api.github.com/repos/jdsmith3000/media-source/keys{/key_id}","collaborators_url":"https://api.github.com/repos/jdsmith3000/media-source/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/jdsmith3000/media-source/teams","hooks_url":"https://api.github.com/repos/jdsmith3000/media-source/hooks","issue_events_url":"https://api.github.com/repos/jdsmith3000/media-source/issues/events{/number}","events_url":"https://api.github.com/repos/jdsmith3000/media-source/events","assignees_url":"https://api.github.com/repos/jdsmith3000/media-source/assignees{/user}","branches_url":"https://api.github.com/repos/jdsmith3000/media-source/branches{/branch}","tags_url":"https://api.github.com/repos/jdsmith3000/media-source/tags","blobs_url":"https://api.github.com/repos/jdsmith3000/media-source/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/jdsmith3000/media-source/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/jdsmith3000/media-source/git/refs{/sha}","trees_url":"https://api.github.com/repos/jdsmith3000/media-source/git/trees{/sha}","statuses_url":"https://api.github.com/repos/jdsmith3000/media-source/statuses/{sha}","languages_url":"https://api.github.com/repos/jdsmith3000/media-source/languages","stargazers_url":"https://api.github.com/repos/jdsmith3000/media-source/stargazers","contributors_url":"https://api.github.com/repos/jdsmith3000/media-source/contributors","subscribers_url":"https://api.github.com/repos/jdsmith3000/media-source/subscribers","subscription_url":"https://api.github.com/repos/jdsmith3000/media-source/subscription","commits_url":"https://api.github.com/repos/jdsmith3000/media-source/commits{/sha}","git_commits_url":"https://api.github.com/repos/jdsmith3000/media-source/git/commits{/sha}","comments_url":"https://api.github.com/repos/jdsmith3000/media-source/comments{/number}","issue_comment_url":"https://api.github.com/repos/jdsmith3000/media-source/issues/comments{/number}","contents_url":"https://api.github.com/repos/jdsmith3000/media-source/contents/{+path}","compare_url":"https://api.github.com/repos/jdsmith3000/media-source/compare/{base}...{head}","merges_url":"https://api.github.com/repos/jdsmith3000/media-source/merges","archive_url":"https://api.github.com/repos/jdsmith3000/media-source/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/jdsmith3000/media-source/downloads","issues_url":"https://api.github.com/repos/jdsmith3000/media-source/issues{/number}","pulls_url":"https://api.github.com/repos/jdsmith3000/media-source/pulls{/number}","milestones_url":"https://api.github.com/repos/jdsmith3000/media-source/milestones{/number}","notifications_url":"https://api.github.com/repos/jdsmith3000/media-source/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/jdsmith3000/media-source/labels{/name}","releases_url":"https://api.github.com/repos/jdsmith3000/media-source/releases{/id}","deployments_url":"https://api.github.com/repos/jdsmith3000/media-source/deployments","created_at":"2015-05-05T21:48:09Z","updated_at":"2016-01-30T01:23:08Z","pushed_at":"2016-04-28T20:46:03Z","git_url":"git://github.com/jdsmith3000/media-source.git","ssh_url":"git@github.com:jdsmith3000/media-source.git","clone_url":"https://github.com/jdsmith3000/media-source.git","svn_url":"https://github.com/jdsmith3000/media-source","homepage":"","size":1823,"stargazers_count":0,"watchers_count":0,"language":"HTML","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":true,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"gh-pages"}},"base":{"label":"w3c:gh-pages","ref":"gh-pages","sha":"a0bf0e68c8e5e53a9450abe94b83a9c3a6f8f13e","user":{"login":"w3c","id":379216,"avatar_url":"https://avatars.githubusercontent.com/u/379216?v=3","gravatar_id":"","url":"https://api.github.com/users/w3c","html_url":"https://github.com/w3c","followers_url":"https://api.github.com/users/w3c/followers","following_url":"https://api.github.com/users/w3c/following{/other_user}","gists_url":"https://api.github.com/users/w3c/gists{/gist_id}","starred_url":"https://api.github.com/users/w3c/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/w3c/subscriptions","organizations_url":"https://api.github.com/users/w3c/orgs","repos_url":"https://api.github.com/users/w3c/repos","events_url":"https://api.github.com/users/w3c/events{/privacy}","received_events_url":"https://api.github.com/users/w3c/received_events","type":"Organization","site_admin":false},"repo":{"id":26567889,"name":"media-source","full_name":"w3c/media-source","owner":{"login":"w3c","id":379216,"avatar_url":"https://avatars.githubusercontent.com/u/379216?v=3","gravatar_id":"","url":"https://api.github.com/users/w3c","html_url":"https://github.com/w3c","followers_url":"https://api.github.com/users/w3c/followers","following_url":"https://api.github.com/users/w3c/following{/other_user}","gists_url":"https://api.github.com/users/w3c/gists{/gist_id}","starred_url":"https://api.github.com/users/w3c/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/w3c/subscriptions","organizations_url":"https://api.github.com/users/w3c/orgs","repos_url":"https://api.github.com/users/w3c/repos","events_url":"https://api.github.com/users/w3c/events{/privacy}","received_events_url":"https://api.github.com/users/w3c/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/w3c/media-source","description":"Media Source Extensions","fork":false,"url":"https://api.github.com/repos/w3c/media-source","forks_url":"https://api.github.com/repos/w3c/media-source/forks","keys_url":"https://api.github.com/repos/w3c/media-source/keys{/key_id}","collaborators_url":"https://api.github.com/repos/w3c/media-source/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/w3c/media-source/teams","hooks_url":"https://api.github.com/repos/w3c/media-source/hooks","issue_events_url":"https://api.github.com/repos/w3c/media-source/issues/events{/number}","events_url":"https://api.github.com/repos/w3c/media-source/events","assignees_url":"https://api.github.com/repos/w3c/media-source/assignees{/user}","branches_url":"https://api.github.com/repos/w3c/media-source/branches{/branch}","tags_url":"https://api.github.com/repos/w3c/media-source/tags","blobs_url":"https://api.github.com/repos/w3c/media-source/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/w3c/media-source/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/w3c/media-source/git/refs{/sha}","trees_url":"https://api.github.com/repos/w3c/media-source/git/trees{/sha}","statuses_url":"https://api.github.com/repos/w3c/media-source/statuses/{sha}","languages_url":"https://api.github.com/repos/w3c/media-source/languages","stargazers_url":"https://api.github.com/repos/w3c/media-source/stargazers","contributors_url":"https://api.github.com/repos/w3c/media-source/contributors","subscribers_url":"https://api.github.com/repos/w3c/media-source/subscribers","subscription_url":"https://api.github.com/repos/w3c/media-source/subscription","commits_url":"https://api.github.com/repos/w3c/media-source/commits{/sha}","git_commits_url":"https://api.github.com/repos/w3c/media-source/git/commits{/sha}","comments_url":"https://api.github.com/repos/w3c/media-source/comments{/number}","issue_comment_url":"https://api.github.com/repos/w3c/media-source/issues/comments{/number}","contents_url":"https://api.github.com/repos/w3c/media-source/contents/{+path}","compare_url":"https://api.github.com/repos/w3c/media-source/compare/{base}...{head}","merges_url":"https://api.github.com/repos/w3c/media-source/merges","archive_url":"https://api.github.com/repos/w3c/media-source/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/w3c/media-source/downloads","issues_url":"https://api.github.com/repos/w3c/media-source/issues{/number}","pulls_url":"https://api.github.com/repos/w3c/media-source/pulls{/number}","milestones_url":"https://api.github.com/repos/w3c/media-source/milestones{/number}","notifications_url":"https://api.github.com/repos/w3c/media-source/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/w3c/media-source/labels{/name}","releases_url":"https://api.github.com/repos/w3c/media-source/releases{/id}","deployments_url":"https://api.github.com/repos/w3c/media-source/deployments","created_at":"2014-11-13T03:02:25Z","updated_at":"2016-04-29T17:53:27Z","pushed_at":"2016-04-29T16:52:55Z","git_url":"git://github.com/w3c/media-source.git","ssh_url":"git@github.com:w3c/media-source.git","clone_url":"https://github.com/w3c/media-source.git","svn_url":"https://github.com/w3c/media-source","homepage":"https://w3c.github.io/media-source/","size":2103,"stargazers_count":30,"watchers_count":30,"language":"HTML","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":true,"forks_count":10,"mirror_url":null,"open_issues_count":38,"forks":10,"open_issues":38,"watchers":30,"default_branch":"gh-pages"}},"_links":{"self":{"href":"https://api.github.com/repos/w3c/media-source/pulls/65"},"html":{"href":"https://github.com/w3c/media-source/pull/65"},"issue":{"href":"https://api.github.com/repos/w3c/media-source/issues/65"},"comments":{"href":"https://api.github.com/repos/w3c/media-source/issues/65/comments"},"review_comments":{"href":"https://api.github.com/repos/w3c/media-source/pulls/65/comments"},"review_comment":{"href":"https://api.github.com/repos/w3c/media-source/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/w3c/media-source/pulls/65/commits"},"statuses":{"href":"https://api.github.com/repos/w3c/media-source/statuses/8adbbf42080fc71694ee8d1464e15c1b34da84b4"}}}}