Closed Bug 1513042 Opened Last year Closed Last year

Update mp4parse-rust to v0.11.2

Categories

(Core :: Audio/Video: Playback, enhancement, P2)

enhancement

Tracking

()

RESOLVED FIXED
mozilla66
Tracking Status
firefox66 --- fixed

People

(Reporter: bryce, Assigned: bryce)

References

Details

Attachments

(1 file)

mp4parse-rust has has been updated to fix bug 1509875, and to expose sample info at a finer granularity[0], as well as expose further data for encryption handling[1][2]. The changes relevant to bug 1509875 have already been cherry picked, but we should look into pulling the entirety of the new version.

The C-API has changed to expose sample info with greater granularity (in the spec these are the SampleEntry elements inside the stsd box). Simply, we would previously assume that the first set of sample info could be generalized to all samples (information such as codec used, number of channels for audio, width and height for video). This appears to have worked thus far, but there are some edge cases, particularly around encrypted media, where to be safe we may wish to inspect all sample infos, which we can do with the new mp4parse-rust.

Given the above, we'll need to change some of our interfacing with the C-API. Since generalizing the first sample info has worked thus far, we can maintain this behavior in most cases. Previously this was done inside mp4parse-rust, but we can now do so inside our C++ code by using the first sample info on track that is given to us by mp4parse-rust.

One area where we may wish to check all sample info, is for picking up on encrypted media. This is useful if a clear sample info and a encrypted info are both present, as we do not wish to overlook encryption info if it is not on the first set of sample info.

[0]: https://github.com/mozilla/mp4parse-rust/pull/163
[1]: https://github.com/mozilla/mp4parse-rust/pull/165
[2]: https://github.com/mozilla/mp4parse-rust/pull/166
Update mp4parse-rust update script and pull the new version.

This update changes the mp4parse C-API. Specifically, each track can now
have multiple sample descriptions. Previously we'd just exposed the first for
the entire track, and if others were available they were not exposed via the
API. Because of the API change, we update the C++ interface with mp4parse-rust.

We continue to generalize the first sample description for tracks, as this has
worked in the past and there does not appears to be a reason to change this
right now. However, we check all sample descriptions for crypto info, so that we
do not overlook crypto information if it is present, but not on the first
description.
Pushed by bvandyk@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/b3a9872c08d7
Update mp4parse-rust to v0.11.2. r=jya
Backout by dluca@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/700e7cf7a94e
Backed out changeset b3a9872c08d7 for Gtest failure
Pushed by bvandyk@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/2a19d8451acb
Update mp4parse-rust to v0.11.2. r=jya
https://hg.mozilla.org/mozilla-central/rev/2a19d8451acb
Status: ASSIGNED → RESOLVED
Closed: Last year
Resolution: --- → FIXED
Target Milestone: --- → mozilla66
You need to log in before you can comment on or make changes to this bug.