- From: <bugzilla@jessica.w3.org>
- Date: Sun, 27 Jan 2013 21:58:39 +0000
- To: public-html-bugzilla@w3.org
https://www.w3.org/Bugs/Public/show_bug.cgi?id=17673 --- Comment #11 from Steven Robertson <strobe@google.com> --- As discussed, here is the proposed modified text for 7.2.3 Initialization Data and Events. This text is intended to replace the first two paragraphs of that section, and leave the remaining paragraphs intact. For simplicity, it includes an explicit callout against 64-bit or "until-EOF" size fields in initData boxes; the former is exceedingly unlikely, and the latter would lead to undefined behavior. This change basically just removes ambiguity, as does the language specifying how to go from 'moov' to 'initData'. A more important change is the one indicating that the value of 'block initData' in 5.1 is allowed to be defined by the CDM once it has been selected, but the format must be the same as for normal start-of-stream 'initData'. This enables CDMs to take advantage of the full, maddening open-endedness of CENC should they so choose, without requiring any extra effort on the part of authors, since all 'needkey' events will be handled in the same way. It also solves a few particular issues around adaptive streaming and key rotation in live streams that we've encountered. --- Proposed text to replace the first two paragraphs of 7.2.3: --- For ISO BMFF, the Initialization Data is in the form of concatenated BMFF boxes. Such boxes (and any descendants) _must_ be correct according to the specification which defines their structure in the stream, including the box header defined in ISO/IEC 14496-12 section 4.2. Additionally, boxes with a 'size' value of 0 or 1 are forbidden. The initData _shall_ begin with zero or more protection scheme information boxes ('sinf'). Each 'sinf' includes zero or one scheme type box ('schm'), which defines 'scheme_type', and zero or one scheme information box ('schi'). If a 'sinf' box contains a 'schm' box with a 'scheme_type' value of "cenc", the 'sinf' box will also contain one track encryption box ('tenc'), which provides default values for 'IsEncrypted', 'IV_size', and 'KID' for that track. Following the 'sinf' boxes, the initData _shall_ contain zero or more protection-scheme-specific information boxes ('pssh'). If any 'sinf' box indicates a 'scheme_type' of "cenc", at least one 'pssh' box _should_ be present. For the purposes of step 3 of section 5.2 of this specification, when no CDM is selected, the User Agent _shall_ derive 'initData' from the 'moov' box of an ISO BMFF stream as follows: for each 'moov' encountered, it _shall_ include, in its entirety, every 'sinf' box that is an (indirect) descendant of a 'moov', followed by every 'pssh' box that is a direct child of that 'moov'. For the purposes of step 4 of section 5.1 of this specification, when no CDM is selected, the User Agent _shall not_ consider a block to have 'block initData'; that value will remain null. When a CDM has been selected, it _may_ provide its own mechanism for providing a value for 'initData' in 5.2 step 3 and for 'block initData' in 5.1 step 4. Such initData _must_ conform to the format described above ('sinf' boxes, then 'pssh' boxes). --- -- You are receiving this mail because: You are the QA Contact for the bug.
Received on Sunday, 27 January 2013 21:58:40 UTC