Closed haudiobe closed 3 years ago
Can you clarify how it compares to the notion of "Single initialization" ?
The difference is that I may still use the other headers at switch instance, but when I first initialize or when I do capability check, I use this master header. This determines my output video resolution, my buffers an so on. The real header may be different. Using a single header is quite constraining.
How would you phrase the constraints that the Master Header would have to follow?
There are two aspects:
We probably would need a brand to identify that type of header.
I am not sure we need a brand, it is really just a functional definitions for now. If you insist, please go ahead.
If you want to generate a manifest from a set of tracks, you may want to facilitate the work of that tool. I don't have a strong opinion.
Should we put that idea into TuC until we have the details of the structural requirements?
If you want to generate a manifest from a set of tracks, you may want to facilitate the work of that tool. I don't have a strong opinion.
Should we put that idea into TuC until we have the details of the structural requirements?
I am ok to put it into the TuC. It seems to be worthwhile to be done.
I think we may want to reconsider the naming, "master" may have a negative perception/annotation, reference or main header ?
On the naming, I just got my thesaurus out. How about Principal Header?
In general though, is the expectation that this concept will be largely informative, or will every Switching Set be required to define one of these?
In general though, is the expectation that this concept will be largely informative, or will every Switching Set be required to define one of these?
A Switching Set may associate a Principal Header, it does not have to. However, there should be the possibility to construct such a header.
There is some discussion in m55285. Based on this discussion, it is proposed to do two things
Add to definitions CMAF Principal Header: A CMAF Header that includes sufficient information to initialize the media decoder and decryption for all CMAF Tracks of the CMAF Switching Set
Add a new clause 7.3.4.5 CMAF Principal Header
A CMAF Principal Header for a CMAF Switching Set conforms to the following constraints a) It shall conform to a CMAF Header b) The CMAF Header and the first sample entry shall contain parameters that are sufficient to enable a single initialization of media decoding, decryption and rendering systems to decode, decrypt and render all CMAF fragments in all CMAF Tracks of this CMAF Switching Set. c) If the CMAF Principal header requires sample entries with a decoder configuration record, as specified by a CMAF media profile, with decoding and rendering parameter limits, such as codec profile, level, image height, width, etc., then the first sample entry shall contain parameters equal or greater than the maximum values contained in all CMAF fragments in all CMAF track of the Switching Set to enable a initialization of media decoding and rendering systems to render all CMAF fragments in all CMAF tracks of the CMAF Switching. d) A media profile may define additional requirements for CMAF Master Headers
Can we change the name to CMAF Envelope Header to describe the "envelope" character?
@haudiobe There seems to be some agreement in this issue. Can you propose spec text?
A name change is fine, but I don't understand how "envelope" would apply? I'd either assume it was a container with routing information on (eg for email or post) or the shape of something like a waveform.
Text was added to the amendment and the group decided to keep the "Principal" name.
This is the second proposal from http://mpegx.int-evry.fr/software/ApplicationFormat/CMAF/issues/2
For quite many pipelines and for consistent signaling on manifest level, you want one header assigned to a CMAF Switching set, which is the CMAF Master Header. One CMAF header is identified to be the “CMAF Master Header” which has the highest decoding requirements and as such can initialize a media pipeline for decoding any other track in the Switching Set. This header referred as Master CMAF Header CH*.
Please check the input contribution and the draft in DASH-IF and you will find the master header quite often,
2) Add the concept of a CMAF Master Header in order to express the initialization of the media pipeline and also to permit using this header for consistent manifest parameters and capability checking.