This is an archived snapshot of W3C's public bugzilla bug tracker, decommissioned in April 2019. Please see the home page for more details.

Bug 22139 - MSE and ISOBMFF interoperability
Summary: MSE and ISOBMFF interoperability
Status: RESOLVED FIXED
Alias: None
Product: HTML WG
Classification: Unclassified
Component: Media Source Extensions (show other bugs)
Version: unspecified
Hardware: PC Windows NT
: P2 normal
Target Milestone: ---
Assignee: Aaron Colwell
QA Contact: HTML WG Bugzilla archive list
URL:
Whiteboard: PRE_LAST_CALL
Keywords:
Depends on:
Blocks:
 
Reported: 2013-05-22 15:04 UTC by Cyril Concolato
Modified: 2013-06-05 17:22 UTC (History)
5 users (show)

See Also:


Attachments

Description Cyril Concolato 2013-05-22 15:04:29 UTC
MSE requires that media segments use the "default-base-is-moof" flag in the movie fragment. However, conformant ISOBMF parsers require that an ftyp box with a compatible brand 'iso5' be declared to process the flag. While MSE ISO parsers can be modified to assume that a correct ftyp has been declared (or modified to ignore that rule), this can create ISO interoperability problems if MSE byte streams are stored in files. A conformant ISO parser will have no means to tell if the file is the result of storing an MSE byte stream or if it is an ISO v1 file (no ftyp). An ISO validator might also declare the file invalid.

To avoid these interoperability problems, MSE should:
- define a brand for initialization segments and media segments (e.g. msei, msem)
- recommend that an ftyp (with the right brand) be added if an MSE initialization segment byte streams is stored in a file
- recommend that if an MSE media segment is stored in a file, and if an styp box is used, that the styp box uses the above brand

No change to the MSE parsing behavior is required.
Comment 1 Mark Watson 2013-05-22 15:21:28 UTC
I have no problem making recommendations, although anyone who wants to write an ISO file should know its their responsibility to make the file compliant: they can't just expect to take some arbitrary collection of  boxes received over MSE and have it make a compliant file.

Why do we need a new brand, though ? Aren't the existing brands sufficient ?
Comment 2 Aaron Colwell 2013-05-23 18:30:58 UTC
Marking all pre-Last Call bugs
Comment 3 Aaron Colwell 2013-05-24 00:22:32 UTC
I don't really think we should be specifying a file format. The bytestream specifications were designed to allow the minimal useful subset of existing file format elements to be fed into the UA. It was never designed to act as a storage format. In fact some of the power comes from the fact that you don't need unnecessary stuff like ftype,styp, or indexes. I believe specifying a storage format is out of scope for the MSE spec.
Comment 4 Cyril Concolato 2013-05-24 11:43:44 UTC
(In reply to comment #1)
> I have no problem making recommendations, although anyone who wants to write
> an ISO file should know its their responsibility to make the file compliant:
> they can't just expect to take some arbitrary collection of  boxes received
> over MSE and have it make a compliant file.
Mark, I agree it's their responsibility but I still think the recommendations are not unnecessary.

> 
> Why do we need a new brand, though ? Aren't the existing brands sufficient ?
The new brands may not be necessary. It's more of a good practice and may prove useful in case MSE byte streams diverge from ISOBMF.

(In reply to comment #3)
> I don't really think we should be specifying a file format. The bytestream
> specifications were designed to allow the minimal useful subset of existing
> file format elements to be fed into the UA. It was never designed to act as
> a storage format. In fact some of the power comes from the fact that you
> don't need unnecessary stuff like ftype,styp, or indexes. I believe
> specifying a storage format is out of scope for the MSE spec.
MPEG-2 TS was never meant to be a file format either, yet you find m2t m2v mpeg2 ... files on servers. I don't want MSE to specify a full-fledged file format, just make some recommendations to avoid creating a format mess. I'm saying people will store MSE byte streams as files. We should be pro-active here to avoid problems in the future.
Comment 5 Adrian Bateman [MSFT] 2013-05-24 16:21:51 UTC
MSE is about how data is buffered into a media element. Where the data comes from, how it is stored, how it is transferred, and what other purposes people have for the data is out of scope.

The only resolution I could see for this bug aside from resolving WORKSFORME is to add a note to the spec that reaffirms that the document does not define a storage format and that readers should not interpret that it does. Personally, I don't think this is necessary.
Comment 6 Glenn Adams 2013-05-24 17:18:33 UTC
(In reply to comment #5)
> MSE is about how data is buffered into a media element. Where the data comes
> from, how it is stored, how it is transferred, and what other purposes
> people have for the data is out of scope.
> 
> The only resolution I could see for this bug aside from resolving WORKSFORME
> is to add a note to the spec that reaffirms that the document does not
> define a storage format and that readers should not interpret that it does.
> Personally, I don't think this is necessary.

It's easy to add such a note, and since some readers may think otherwise, I'd suggest adding it.
Comment 7 Aaron Colwell 2013-06-05 17:22:43 UTC
Changes committed
https://dvcs.w3.org/hg/html-media/rev/63675668846c

Added a note indicating that the byte streams specs are not intended to define a storage format.