w3c / mse-byte-stream-format-isobmff

ISO BMFF Byte Stream Format for Media Source Extensions (MSE)
https://w3c.github.io/mse-byte-stream-format-isobmff/
Other
1 stars 4 forks source link

Number and order of boxes #7

Open cconcolato opened 3 years ago

cconcolato commented 3 years ago

BSF puts constraints on some boxes (e.g. mandatory presence), but in some cases, in my testing, the browsers I tested (Safari, Chrome, Firefox) won't fail if the box is absent (e.g. tfdt). In other cases (e.g. absence of mvex), they will fail but not in the same way (error thrown upon init segment append vs upon media segment append).

Also, the BSF spec does not put any constraints on the order of non-top-level boxes, but some browsers behave incorrectly in some cases (e.g. mvex first, then mvhd, then trak).

It'd be good to be clearer about the number and order of boxes that are permitted, possibly following or referencing the CMAF specification.

wolenetz commented 3 years ago

We briefly mentioned this during the Sep 28 Media WG teleconference, though we focused much more on #6.

I support updating the BSF to clarify expectations of implementations and to provide clearer guidance to content providers around what boxes are required, what boxes MAY be skipped (and when if they are sometimes truly required), and what potentially ordering variance of the boxes MUST be supported. My understanding of the decisions taken in at least the Chromium implementation around this was to accommodate practical constraints as well as support the preponderance of streams encountered.

Noting such decisions made by implementations is certainly a good thing to do in this spec, and could improve interop and debugging.