Update the import script to reference the latest published release.
Add a cargo-update step to the script. Without this the gecko build
will fail if the declared crate versions change from what is recorded
in the in-tree Cargo.lock files.
Also make it fail on first error.
MozReview-Commit-ID: 6IDK6jdkSm1
--HG--
extra : rebase_source : 0e09eb311a8ba59ad4075f43ab0d9f8a07074e89
The error message refers to video, not audio tracks. Looks like
a cut-and-paste error.
MozReview-Commit-ID: J6ur36FMSRF
--HG--
extra : rebase_source : 626e4b3287ce268d9daee26610a599c721116148
Recognize FLAC as an audio mimetype in MP4Metadata and prefer
the rust demuxer for it. Stagefright does not support this.
MozReview-Commit-ID: 7T4tCSCCNBk
--HG--
extra : rebase_source : b69c6e35d4e48c4d419856ee979eae893dbc72b1
Update to the latest upstream master, including skipping padding
at the end of some boxes, esds parsing and flac support.
MozReview-Commit-ID: GdHEQIrtyLB
--HG--
extra : rebase_source : 97e1d09725d813e0f2b31bed6ce80e16b0701fbe
Writes should always be small, so if any fails, we are in big trouble anyway.
(Effectively ByteWriter is infallible.)
MozReview-Commit-ID: CJVsrTx0PFh
--HG--
extra : rebase_source : fa4dd3230382620a393c8555338e8956df83f748
When we add SPS/PPS NAL in front of each keyframe data, this somehow makes the WMF decoder to misbehave and to always return an invalid timestamp.
MozReview-Commit-ID: 2SzTiwP0ii1
--HG--
extra : rebase_source : b499c83d504df772e6d722053630ff4d92306d4f
Having these files in-tree makes it possible to run
`cargo test` to verify changes.
MozReview-Commit-ID: 6x4XZaw4UtD
--HG--
extra : rebase_source : 293572cbbc21929b43a735bf53ddb5521503bcd2
The byteorder dependency was moved to $topsrcdir/third_party/rust/
in bug 1298422 but this import script wasn't updated.
MozReview-Commit-ID: CzoxsFPYpIm
--HG--
extra : rebase_source : 18bcc2e3351887f0593e2167acc59c6c4f6003e8
Altered copies of the base test case helps verify different duration overflow
boundaries.
Track durations are now checked (including for previous test cases).
MozReview-Commit-ID: CeOtnAAg1mg
Result of running the update script, followed by `cargo update`
in tookit/library/rust/.
MozReview-Commit-ID: LNdvuOqVx9a
--HG--
extra : rebase_source : 70b263d1ba1867b5b2b907530fab4beedc25ae56
We do so by checking the frame data for NAL of type 5 as per ISO IEC 14496-2.
MozReview-Commit-ID: JFeLysrZ6aG
--HG--
extra : rebase_source : edf599210fd3a995f3538a7e54e083894620bf9e
Result of running the update script and updating gecko's
integration crate for the layout change.
MozReview-Commit-ID: GaIMFKmPmtf
--HG--
extra : rebase_source : 0d3a2f1d211840879e562cb56afcc9ef7e38c730
This release splits the capi into a separate crate and adds
mp4parse_is_fragmented() for vp9 support.
MozReview-Commit-ID: JkwylmdfPa9
--HG--
extra : rebase_source : b74b7e20aaf49fe1b2b7121562352c755db3aff3
DiscardRemaning was needed to prevent debug-time assertion that the buffer was
read completely or explicitly discarded.
However this required extra work in cases where buffer didn't need to be read
to the end.
And also it could cause crashes (in debug versions) if a buffer was not fully
read, be it because the parser was incorrect or because the media file itself
was wrong (though possibly still readable despite that).
Finding parser issues is still possible by manually instrumenting ByteReader
during development.
And reading media file with small recoverable errors is a bonus.
MozReview-Commit-ID: 2RUYzaYAeRW
--HG--
extra : rebase_source : 26c41758b1b2c87542bf4e41d08e361198ca5b13
This is done by moving FlacFrameParsers' AutoByteReader to a more public spot
in libstagefright's bindings.
Using AutoByteReader means there is no more need for explicit calls to
DiscardRemaining(); which means our parsers relying on BoxReader will be more
lenient about boxes that are larger than needed.
MozReview-Commit-ID: 3EERU749WYB
--HG--
extra : rebase_source : 6deba02ac553303b0a2b694c24bfcb54c2e732b1
Also ByteReader and AutoByteReader are marked RAII, to help prevent misuses.
MozReview-Commit-ID: 7oklXs4QMnq
--HG--
extra : rebase_source : 54fca3168a70d951e6012baea4bf0544827cae11
Use fallible allocations for arrays that could get arbitrarily long
(independant of the media file size.)
MozReview-Commit-ID: LWiKFVpYK5d
--HG--
extra : rebase_source : bc603c30214768b9a39c83bd92bc0df31d1498e4
Only added the new test case, but it actually works fine, so the test will need
to be extended to cover the failure found in that bug.
MozReview-Commit-ID: FAU5UvkyOfD
--HG--
extra : rebase_source : fbdddecf6058662ae850366bb5f0c3afb691dd10
Well, this is embarrassing: The MoofParser test was not parsing anything,
because it was given an empty byte range!
Also HasMetadata() has to run before RebuildFragmentedIndex(), because the
latter moves the offset and would then leave nothing for the former to read.
MozReview-Commit-ID: ZB35lc8iaE
--HG--
extra : rebase_source : feff313beb159c6b22361fabc188d33fa4b93220
Memory allocations for which the size is based on media data are now fallible,
and therefore no OOM should happen there.
MozReview-Commit-ID: BGWOPDcBbLw
--HG--
extra : rebase_source : 1a30c68135ff46b5f2ca02bd7a40dd27cbb8eac8
The patch is generated from following command:
rgrep -l unused.h|xargs sed -i -e s,mozilla/unused.h,mozilla/Unused.h,
MozReview-Commit-ID: AtLcWApZfES
--HG--
rename : mfbt/unused.h => mfbt/Unused.h
H264 decoders always use those anyway, so may as well use them in the demuxer if SPS NAL is available.
This guarantees that we have correct dimensions when reading the MP4 metadata, and will have the side benefit that when loadedmetadata is fired, the dimensions provided at the time will be final; not having to wait to decode the first frame.
MozReview-Commit-ID: 3j70Xqw8jJY
--HG--
extra : rebase_source : 6bc0f1fa1c2db35bcaa683cc1a68042d122e2892
Extracted from the H264 codec and using the stagefright one.
MozReview-Commit-ID: ENjsDvB9MYp
--HG--
extra : rebase_source : 51b92215622df8cdcb65453013ab8022923dd9e8