Seek adds a lot of complexity in the appending/transmuxing pipeline: NetStream has limitations and will crash quite spectacularly if you append segments out of order.
That's why we need to make sure every segment is properly flushed, at every step of the pipeline, and we added a lot of state variables along the way to handle situations like: "do I need to discard this segment when it comes out of the worker?"
It would be great to improve the SourceBuffer.as class to handle segments out of order, from disjoint time intervals.
We would need to account for #4 : if we don't be careful about this some segments could have their first frames squashed if they were appended during a seek
Seek adds a lot of complexity in the appending/transmuxing pipeline: NetStream has limitations and will crash quite spectacularly if you append segments out of order. That's why we need to make sure every segment is properly flushed, at every step of the pipeline, and we added a lot of state variables along the way to handle situations like: "do I need to discard this segment when it comes out of the worker?" It would be great to improve the SourceBuffer.as class to handle segments out of order, from disjoint time intervals.
We would need to account for #4 : if we don't be careful about this some segments could have their first frames squashed if they were appended during a seek