Gecko only stores one set of crypto information for sample descriptions even if multiple are present in the stsd box
Categories
(Core :: Audio/Video: Playback, defect, P3)
Tracking
()
People
(Reporter: bryce, Unassigned)
References
(Blocks 2 open bugs)
Details
When parsing the sample description table (stsd
box) our code currently makes the assumption that a single sinf will be present. This can be seen in that our MoofParser stores a single mSinf
member, rather than one per sample description entry[0]. This works for most media, but my understanding is that the specs involved allow more flexibility here. I.e. it's possible for well formed files to exist that we're not handling correctly. Specifically files with multiple sample descriptions, each of which contain crypto data.
In bug 1714125 I plan to address the case where the crypto information is the same. In such a scenario it doesn't matter that we only store one set of information, because if crypto1 == crypto2 then no matter which we store it's the same info.
However, if crypto1 != crypto2, and the mp4 relies on looking up a different sample description to get accurate crypto information, then we need to store that info per sample description and resolve it based on which sample description is referenced by a given sample.
Description
•