|Summary:||[MSE] Implement Range Removal algorithm.|
|Product:||WebKit||Reporter:||Bartlomiej Gajda <b.gajda>|
|Version:||528+ (Nightly build)|
|Bug Depends on:|
Description Bartlomiej Gajda 2015-01-19 10:23:31 PST
Since specification bug: "Bug 26316 - Changed duration change algorithm to avoid open transition on endOfStream()." (https://www.w3.org/Bugs/Public/show_bug.cgi?id=26316) was resolved, FIXME introduced by (https://bugs.webkit.org/show_bug.cgi?id=134852) can be dealt with. (Also fixing that is prerequisity for correctly handling 'ended' state when calling buffered() of a multi trackBuffers Sourcebuffer)
Comment 1 Bartlomiej Gajda 2015-01-19 10:34:02 PST
Created attachment 244908 [details] implement range removal algorithm v1 Added algorithm as per spec. I've decided to keep this change here, instead of adding this to my previous patch (139813). as it's atomic enough to detect early if any additional platform specific test will be broken, I have test for this for multi-trackbuffer case, but I'm not sure where should I post it - here or there? (Seems natural for me to put it there) Also should I add test for removing this fixme? Like, "after eos() if event 'sourceopen' then fail." ? I wasn't sure isn't this too bug specific to write (would not check anything else; for the second patch I will check whether samples are removed, but that requires 2 trackBuffers).
Comment 2 Jer Noble 2015-01-19 10:52:14 PST
Comment on attachment 244908 [details] implement range removal algorithm v1 Seems like there could be a test here that calling setDuration() when a SourceBuffer is in the "ended" state does not re-open it.
Comment 3 Bartlomiej Gajda 2015-01-19 12:50:34 PST
Created attachment 244919 [details] implement range removal algorithm v1+test Added simple LayoutTest for this (which actually would pass without this patch anyway now, as long as that FIXME is there, but as I said - can't make failing test for this without multi-trackbuffer support) As for MediaSource.setDuration(): Unless I misunderstood, point 2 from spec would cancel anything (with InvalidStateErr) while in 'ended' state.
Comment 4 Jer Noble 2015-01-23 16:40:18 PST
Comment on attachment 244919 [details] implement range removal algorithm v1+test Thanks for adding the test.
Comment 5 WebKit Commit Bot 2015-01-23 16:52:48 PST
Comment on attachment 244919 [details] implement range removal algorithm v1+test Clearing flags on attachment: 244919 Committed r179044: <http://trac.webkit.org/changeset/179044>
Comment 6 WebKit Commit Bot 2015-01-23 16:52:51 PST
All reviewed patches have been landed. Closing bug.