Commit Graph

555 Commits

Author SHA1 Message Date
Ralph Giles
b9e0fc97c3 Bug 1314460 - Update rust mp4parse to v0.6.0. r=kinetik
Result of running the update script.

MozReview-Commit-ID: 4rqFqaFJ028

--HG--
extra : rebase_source : 011cd38d524e2609e2656a084c2ac920d407488f
2016-11-01 16:07:32 -07:00
Ralph Giles
5c1056e5fa Bug 1314460 - Update mp4parse import script for v0.6.0. r=kinetik
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
2016-11-01 15:54:48 -07:00
Alfredo.Yang
3ae304e16a Bug 1309079 - support mp3-in-mp4 in rust mp4 parser. r=kinetik
MozReview-Commit-ID: LieZ5O222LT

--HG--
extra : rebase_source : 5662d37ba5ec01ba55d518725b145a442e61c3e4
2016-10-13 10:12:28 +08:00
Ralph Giles
1f1a694612 Bug 1303888 - Fix a logging typo. r=kinetik
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
2016-10-25 16:43:28 -07:00
Ralph Giles
a45686ff52 Bug 1303888 - Accept flac from the rust mp4parse demuxer. r=kinetik
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
2016-10-25 16:42:12 -07:00
Ralph Giles
c0890a4a2c Bug 1303888 - Update rust mp4parse. r=kinetik
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
2016-10-25 19:25:18 -07:00
Gerald Squelart
8f130692e8 Bug 1307945 - ByteWriter asserts that all writes should succeed - r=jya
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
2016-10-16 19:10:42 +11:00
Gerald Squelart
6b07d57631 Bug 1307945 - Minor style fix - r=jya
MozReview-Commit-ID: 6kTDaJoM9hG

--HG--
extra : rebase_source : 58576b7d4239b03e76ad37b28a8bbed43f5849c3
2016-10-13 15:33:53 +11:00
Sebastian Hengst
cdcc9e20da Bug 1304829 - rename RELEASE_BUILD to RELEASE_OR_BETA: main part. r=ted,Mossop
MozReview-Commit-ID: 1lCt0xTMV5O
2016-10-08 11:14:49 +02:00
Jean-Yves Avenard
4a7fd611df Bug 1301869: P1. Only add SPS/PPS on the first keyframe. r=cpearce
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
2016-10-06 11:38:52 +11:00
Ralph Giles
17ec242a0b Bug 1306755 - Copy rust mp4parse tests into the tree. r=kinetik
Having these files in-tree makes it possible to run
`cargo test` to verify changes.

MozReview-Commit-ID: 6x4XZaw4UtD

--HG--
extra : rebase_source : 293572cbbc21929b43a735bf53ddb5521503bcd2
2016-09-30 14:37:54 -07:00
Alfredo.Yang
880bc1789a Bug 1304254 - Use fragment_duration as track duration. r=rillian
MozReview-Commit-ID: 6Y8kFiDmE1y

--HG--
extra : rebase_source : dcce69cfee361edd92fdcb3d41d198a915bc3a48
2016-09-22 19:30:11 +08:00
Ralph Giles
ac89e3a7ca Bug 1306164 - Drop byteorder from mp4parse update script. r=kinetik
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
2016-09-29 15:28:31 -07:00
Alfredo.Yang
a5e375a095 Bug 1306164 - Update rust parser for fragmented file. r=rillian
MozReview-Commit-ID: BzRxyH9tYZL

--HG--
extra : rebase_source : c217dab83d6646c37e74985cee5ce743c9f880b5
2016-09-29 08:56:48 +08:00
Matthew Gregan
318e608e57 Bug 1305596 - Convert debug-only asserts added in bug 1303247 to release asserts. r=rillian 2016-09-27 13:09:21 +13:00
Alfredo.Yang
849aca37da Bug 1304820 - use stagefright instead of rust parser when rust parser fails to parse a file. r=kinetik
MozReview-Commit-ID: 8tjl9MICvWo

--HG--
extra : rebase_source : 7bb71369eb969fd762d99079dbc7f174e1f0d75e
2016-09-23 14:37:07 +08:00
Matthew Gregan
269fe42c7e Bug 1304303 - Speed up default initialization of SampleInfoSize table. r=gerald
MozReview-Commit-ID: 9dValMxqVkh
2016-09-22 17:40:48 +12:00
Phil Ringnalda
c9972b98e7 Backed out changeset 9b7d9479690e (bug 1304303) for gtest and mda failures
CLOSED TREE
2016-09-21 19:56:58 -07:00
Matthew Gregan
db1ebdc0cf Bug 1304303 - Speed up default initialization of SampleInfoSize table. r=gerald
MozReview-Commit-ID: 9dValMxqVkh
2016-09-22 12:59:27 +12:00
Matthew Gregan
8a99e587f7 Bug 1303247 - Add a dev-only pref to treat mismatches between Rust and Stagefright as a fatal error. r=rillian
MozReview-Commit-ID: Jl69N9VQTXR
2016-09-21 17:45:47 +12:00
Matthew Gregan
e98062c24c Bug 1303247 - Fix track indexing and AudioInfo initialization in Rust metadata parser. r=rillian 2016-09-21 17:45:46 +12:00
Iris Hsiao
b7a1f3a808 Backed out changeset 516597939e1a (bug 1303247)
CLOSED TREE
2016-09-21 12:25:49 +08:00
Iris Hsiao
2b06627798 Backed out changeset 85cacbef3243 (bug 1303247) for GTest Assertion failures
CLOSED TREE
2016-09-21 12:25:36 +08:00
Matthew Gregan
1b172c6726 Bug 1303247 - Add a dev-only pref to treat mismatches between Rust and Stagefright as a fatal error. r=rillian 2016-09-19 14:31:45 +12:00
Matthew Gregan
f1cda1cfce Bug 1303247 - Fix track indexing and AudioInfo initialization in Rust metadata parser. r=rillian 2016-09-21 14:30:04 +12:00
Gerald Squelart
1bd0c30faa Bug 1301293 - Create gtest for test case from bug 1301065. r=kinetik
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
2016-09-14 11:04:22 +10:00
Gerald Squelart
2bb436aaa7 Bug 1301293 - Catch duration overflows in mdhd and mehd. r=kinetik
A better timescaled units to microseconds routine lessens the likelihood of
overflows.

MozReview-Commit-ID: J0J8ZTG3Rq
2016-09-13 22:46:03 +10:00
Matthew Gregan
9bfc545de2 Bug 1302926 - Report MP4Parse telemetry for all tracks, not just the first one. r=gerald 2016-09-16 12:54:38 +12:00
Carsten "Tomcat" Book
25a074d342 merge mozilla-inbound to mozilla-central a=merge 2016-09-15 11:59:50 +02:00
Ted Mielczarek
e254cc07b8 bug 1298422 - vendor byteorder into third-party/rust. r=froydnj
MozReview-Commit-ID: ChKCKiIVEfq

--HG--
extra : rebase_source : c0da7411a2f0b7fc171c9ebb99fce91361944aa5
2016-09-08 15:12:34 -07:00
Ralph Giles
73dcf90f19 Bug 1301065 - Update rust mp4parse to v0.5.1. r=kinetik
Result of running the update script, followed by `cargo update`
in tookit/library/rust/.

MozReview-Commit-ID: LNdvuOqVx9a

--HG--
extra : rebase_source : 70b263d1ba1867b5b2b907530fab4beedc25ae56
2016-09-13 09:16:44 -07:00
Ralph Giles
83e928ac66 Bug 1301065 - Bump requested rust mp4parse to v0.5.1. r=kinetik
MozReview-Commit-ID: IlWKJcV3xWB

--HG--
extra : rebase_source : a4d1ddce386e188ffbee5ffbdc75d5ffc9418794
2016-09-13 08:31:47 -07:00
Alfredo.Yang
2488fefb27 Bug 1240412 - add VP9-in-MP4 support to Rust demuxer. r=rillian
MozReview-Commit-ID: 1Yq8OOV3kvM

--HG--
extra : rebase_source : d6ee4404eafef8a476767ebfd17a195f81dcf275
2016-08-29 14:37:22 +08:00
Jean-Yves Avenard
4b2bec7900 Bug 1300296: P1. Add method to determine if an H264 frame is an I-Frame. r=jesup
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
2016-09-04 21:28:24 +10:00
Ralph Giles
104d30ab53 Bug 1300219 - Update mp4parse to v0.5.0. r=kinetik
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
2016-09-02 14:27:50 -07:00
Ralph Giles
3985298455 Bug 1300219 - Update mp4parse vendoring script for v0.5.0. r=kinetik
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
2016-09-02 14:04:38 -07:00
Gerald Squelart
df2f457e83 Bug 1298710 - Remove ByteReader::DiscardRemaining and AutoByteReader - r=jya
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
2016-09-04 18:33:30 +10:00
Gerald Squelart
d56f52d1c6 Bug 1298271 - Make BoxReader use AutoByteReader - r=jya
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
2016-08-26 18:14:24 +10:00
Gerald Squelart
2088a45732 Bug 1298275 - Make ~AutoByteReader non-virtual - r=jya
Also ByteReader and AutoByteReader are marked RAII, to help prevent misuses.

MozReview-Commit-ID: 7oklXs4QMnq

--HG--
extra : rebase_source : 54fca3168a70d951e6012baea4bf0544827cae11
2016-08-26 17:27:23 +10:00
Gerald Squelart
43add788a7 Bug 1296532 - Use fallible arrays in MoofParser - r=jya
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
2016-08-25 16:41:50 +10:00
Gerald Squelart
98b9185e70 Bug 1296532 - Added test case to stagefright gtest - r=jya
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
2016-08-25 10:58:36 +10:00
Gerald Squelart
8c865a9a89 Bug 1296532 - Fix MoofParser tests - r=jya
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
2016-08-25 16:58:52 +10:00
Gerald Squelart
9619c66f7b Bug 1296532 - Optionally allow crypto in stagefright gtest - r=jya
MozReview-Commit-ID: 9PhlaMm9X9o

--HG--
extra : rebase_source : 5417415eae819aae75cf9f1557fa542c17173ca5
2016-08-25 11:16:13 +10:00
Gerald Squelart
81f1aedf91 Bug 1298259 - better saio check - r=jya
MozReview-Commit-ID: 62nzw9h1f1X

--HG--
extra : rebase_source : 1eb533811082b72e4a1459bb796f1706a570ec3e
2016-08-26 13:01:32 +10:00
Gerald Squelart
7002e12f9f Bug 1296473 - Add test case to gtest. r=jya
MozReview-Commit-ID: A5eKRkh3tgx

--HG--
extra : rebase_source : 608b4b4e2779d22a9e8da1cf85490f47a7409e8c
2016-08-22 12:15:56 +10:00
Gerald Squelart
d2dc14aefa Bug 1296473 - Check stagefright memory allocations. r=jya
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
2016-08-21 15:45:49 +10:00
Kan-Ru Chen
b6d880aca1 Bug 1297276 - Rename mfbt/unused.h to mfbt/Unused.h for consistency. r=froydnj
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
2016-08-24 14:47:04 +08:00
Jean-Yves Avenard
a18ecfafaa Bug 1280346: [mp4] Always use SPS dimensions if available. r=gerald,rillian
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
2016-08-22 06:39:41 +10:00
Jean-Yves Avenard
28274a3ea1 Bug 1195723: [flac] P7. Add flac demuxer. r=kamidphish
MozReview-Commit-ID: 5db0hAsDjji

--HG--
extra : rebase_source : e9c316502f2a4cd7bb06796a43f4c4807d5ac6f3
2016-08-17 15:40:14 +10:00
Jean-Yves Avenard
6a9478d232 Bug 1195723: P5. Add BitReader class. r=kamidphish
Extracted from the H264 codec and using the stagefright one.

MozReview-Commit-ID: ENjsDvB9MYp

--HG--
extra : rebase_source : 51b92215622df8cdcb65453013ab8022923dd9e8
2016-08-17 15:27:43 +10:00