Closed haudiobe closed 4 years ago
A similar issue applies for CMAF Aligned Switching Sets: "CMAF specifies aligned CMAF switching sets that logically group multiple CMAF switching sets that are alternative encodings of the same content with time-aligned CMAF fragments." Can you have a different number of fragments?
d) All CMAF tracks in a CMAF switching set shall contain the same number of CMAF fragments.
Can we get clarification on how the CMAF validation tools validate this rule? It's seems easy when styp
boxes are present but when they are not present, that seems tricky.
One issue is a validation, but I believe it is also a functional aspect. Because if you find a CMAF Fragment in a track, based on the definition, you assume that you can switch to another track. So you would just do this possibly, but this not correct.
I have a suggestion, that we require either the use of the styp or the manifest needs to define CMAF Fragments. So there is some choice here.
What about:
The definition of a CMAF Fragment allows for flexibility in determining the boundaries of CMAF Fragments in a CMAF Track. For example, the sequence of 2 CMAF Fragments is also a valid CMAF Fragment. If the boundaries of CMAF Fragments need to be unambiguously determined (e.g. for the purpose of validating CMAF Switching Set constraints, or for the purpose of indicating to players where the adaptive switching constraint is applicable), writers should use SegmentTypeBox boxes with the brand 'cmff'. Alternatively, tools (e.g. players or validators) may use external indication such as manifests.
The CMAF group discussed this issue and agreed to integrated the above text to the next amendment.
This is issue 4 from here: http://mpegx.int-evry.fr/software/ApplicationFormat/CMAF/issues/2
In ISO/IEC 23000-19 it says in 7.3.4.1 General constraints on a CMAF switching set d) All CMAF tracks in a CMAF switching set shall contain the same number of CMAF fragments.
Now assume that you have the case that you have an Adaptation Set which has 2 Representations, each CMAF Track. The first Representation, for CMAF Track you have 1 Fragment per Segment. You may have multiple chunks for LL-DASH, but it still one Fragment. In the second Representation, you have now 4 CMAF fragments per Segment, because you want that you can do more frequent random access. Now basically you can say, that you do not call the 4 Fragments each being a fragment, but what defines a fragment. Basically you like that you signal the latter three CMAF chunks in the second case as being random access Chunks, but not fragments. by doing so, you would also signal that you cannot switch anywhere.
I believe this can be solved, by making the styp required whenever you have an unequal amount of fragments in order to make sure if a fragment is a fragment as being a switch point or just looks like fragment. This could also be assisted by manifest signaling. Most important is, that we signal "what looks like a fragment" as not "being a CMAF Fragment", by giving it an styp of a random access chunk
If the general problem is understood, the fix can be done.