{"action":"created","issue":{"url":"https://api.github.com/repos/w3c/media-source/issues/5","labels_url":"https://api.github.com/repos/w3c/media-source/issues/5/labels{/name}","comments_url":"https://api.github.com/repos/w3c/media-source/issues/5/comments","events_url":"https://api.github.com/repos/w3c/media-source/issues/5/events","html_url":"https://github.com/w3c/media-source/issues/5","id":94408442,"number":5,"title":"Seekable differs from non-MSE behavior","user":{"login":"dmlap","id":56667,"avatar_url":"https://avatars.githubusercontent.com/u/56667?v=3","gravatar_id":"","url":"https://api.github.com/users/dmlap","html_url":"https://github.com/dmlap","followers_url":"https://api.github.com/users/dmlap/followers","following_url":"https://api.github.com/users/dmlap/following{/other_user}","gists_url":"https://api.github.com/users/dmlap/gists{/gist_id}","starred_url":"https://api.github.com/users/dmlap/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dmlap/subscriptions","organizations_url":"https://api.github.com/users/dmlap/orgs","repos_url":"https://api.github.com/users/dmlap/repos","events_url":"https://api.github.com/users/dmlap/events{/privacy}","received_events_url":"https://api.github.com/users/dmlap/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":{"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},"milestone":null,"comments":10,"created_at":"2015-07-10T22:51:30Z","updated_at":"2015-09-28T23:29:18Z","closed_at":null,"body":"The MSE spec seems to indicate that the highest end time for seekable should [never exceed the highest buffered time](https://w3c.github.io/media-source/#h-htmlmediaelement-extensions) when the duration is set to Infinity. The HTML standard indicates that [duration should be Infinity](https://html.spec.whatwg.org/multipage/embedded-content.html#dom-media-duration) for unbounded or live media and that user agents [should be very liberal determining seekable ranges](https://html.spec.whatwg.org/multipage/embedded-content.html#dom-media-seekable) for media.\r\n\r\nSafari on iOS and OSX seems to have interpreted this as meaning that the seekable range should include the time ranges covered by all segments in the current \"sliding window\" of content in a live HLS video. That definition is convenient because it makes seeking to the live point or building a DVR interface a simple operation for downstream developers, and seems in keeping with the spirit of the HTML standard. It does not seem possible to configure Source Buffers or a Media Source to achieve the same effect. Is there a mechanism to override seekable with out-of-band info like you might get from an M3U8?"},"comment":{"url":"https://api.github.com/repos/w3c/media-source/issues/comments/143901188","html_url":"https://github.com/w3c/media-source/issues/5#issuecomment-143901188","issue_url":"https://api.github.com/repos/w3c/media-source/issues/5","id":143901188,"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},"created_at":"2015-09-28T23:29:18Z","updated_at":"2015-09-28T23:29:18Z","body":"Would this API then alter the response from mediaSource.seekable?  And would the effects persist as streaming continued?\r\n\r\n@Wolenetz:  Given the double limitation you site on the seekable TimeRange, what does Chrome return for a live stream with duration = infinity?  To me, it makes sense to return the full range, and have the app then limit the forward seeking to current real time."}}