This is an archived snapshot of W3C's public bugzilla bug tracker, decommissioned in April 2019. Please see the home page for more details.
the current Media Source Extensions specification constrains MPEG2-TS media segments such that "Each PES packet must be comprised of one or more complete access units." this most likely intent of this constraint (that is, that PES packets contain at least one complete AU, and only complete AUs) is unnecessarily restrictive and will exclude a lot of existing Apple HTTP Live Streaming (HLS) content, and exclude existing content encoders (including transport stream encoders supplied by Apple and others). one of the tricks used by some encoders to reduce transport stream overhead is to allow the end of an access unit to spill into the beginning of the next PES packet, to avoid having to potentially pad the end of the last transport stream packet in a PES packet with wasted bytes. this method yields PES packets that do not contain a complete access unit, wherein a PES packet begins with the last few bytes of a first access unit, then all but the last few bytes of a second access unit. this placement of access units in PES packets is consistent with and allowed by the access unit semantics defined in ISO/IED 13818-1, and should be allowed in MSE. recommendation: drop the constraint "Each PES packet must be comprised of one or more complete access units" from the "MPEG-2 Transport Stream Byte Streams" section of the spec.
Changes committed. https://dvcs.w3.org/hg/html-media/rev/d5956e93b991 Complete access unit constraint removed.