[media-source] Allow non-ISO/IEC14496-12 top-level boxes in ISOBMFF Byte Streams

bbcrddave has just created a new issue for 
https://github.com/w3c/media-source:

== Allow non-ISO/IEC14496-12 top-level boxes in ISOBMFF Byte Streams 
==
The [Segment Parser 
Loop](https://w3c.github.io/media-source/index.html#sourcebuffer-segment-parser-loop)
 states the following:

"If the input buffer contains bytes that violate the SourceBuffer byte
 stream format specification, then run the append error algorithm and 
abort this algorithm."

The [ISO BMFF Byte Stream 
Format](https://www.w3.org/TR/mse-byte-stream-format-isobmff/) states:
"Valid top-level boxes defined in ISO/IEC 14496-12 other than ftyp, 
moov, styp, moof, and mdat are allowed to appear between the end of an
 initialization segment or media segment and before the beginning of a
 new media segment. These boxes MUST be accepted and ignored by the 
user agent and are not considered part of the media segment in this 
specification. "

This appears to imply only valid top-level boxes defined in 14496-12 
are allowed to appear in a stream, and that strictly compliant 
implementations should reject input buffers containing any other 
top-level boxes.

MPEG-DASH (ISO/IEC 23009-1:2014) specifies a new box (`emsg`) as a 
mechanism for signalling both generic in-band metadata related to the 
media and DASH-specific operations. It further constrains this new box
 to be placed before the `moof` - i.e. at the top level.

It seems that the byte stream format specification needs either to be 
less strict in general in terms of extensions, or include references 
other than 14496-12 in the list.

Note: at least one implementation has already included `emsg` in its 
list of valid top-level boxes [1].

See also:
1. https://bugs.chromium.org/p/chromium/issues/detail?id=276303
2. https://bugzilla.mozilla.org/show_bug.cgi?id=1322587


Please view or discuss this issue at 
https://github.com/w3c/media-source/issues/174 using your GitHub 
account

Received on Friday, 9 December 2016 14:31:35 UTC