Commit Graph

431 Commits

Author SHA1 Message Date
Matthew Gregan
4691552993 Bug 1242807 - Fix mp4parse-rust's error reporting via telemetry. r=giles 2016-01-26 14:27:35 +13:00
Matthew Gregan
5b692e3491 Bug 1238420 - Report mp4parse-rust errors via Telemetry. r=rillian,vladan 2016-01-10 20:54:00 +13:00
Matthew Gregan
ce8ce06139 Bug 1238420 - Update mp4parse-rust invocations in MP4Metadata to match CAPI changes. r=rillian 2016-01-10 20:54:00 +13:00
Ralph Giles
66f8ae8fac Bug 1238420 - Update MP4Rust gtest for CAPI changes. r=kinetik.
mp4parse_read() returns a variety of error codes now.

Call mp4parse_get_track_count() to verify the number
of parsed tracks.
2016-01-11 11:26:00 +13:00
Ralph Giles
43e659e3cc Bug 1238420 - Update byteorder to v0.4.2. r=kinetik
Rebase patches against the new upstream release.
No changes on the client side are necessary.
2016-01-11 11:01:00 +13:00
Matthew Gregan
483076eb11 Bug 1238420 - Update mp4parse-rust to 0.1.6. r=kinetik
Bump default version in the update script and run it against
the tagged v0.1.6 upstream repo.
2016-01-11 11:02:00 +13:00
Gerald Squelart
91033abdfe Bug 1232069 - Check box sizes before alloc&copy. r=jya 2015-12-29 13:12:14 -05:00
Jean-Yves Avenard
b919d97460 Bug 1234778: Mark all audio frames as keyframes. r=kentuckyfriedtakahe 2015-12-24 09:05:50 +11:00
Ralph Giles
51a6651735 Bug 1231169 - report rust mp4parse track status in telemetry. r=kinetik,vladan 2015-12-11 12:51:00 -08:00
Ralph Giles
a3ea7052ff Bug 1229615 - Catch panics in mp4parse_get_track_info. r=kinetik
Wrap calls in a thread the way we do for read_mp4().

Patch from upstream.
2015-12-02 17:22:01 -08:00
Ralph Giles
3c67e8b631 Bug 1229615 - Conditionalize mp4parse.h export. r=kinetik 2015-12-02 17:21:54 -08:00
Matthew Gregan
dee904221c Bug 1229615 - Compare track counts between rust and stagefright. r=rillian
Use the new capi calls in rust mp4parse v0.1.5 to query
audio and video track counts and compare with what we
get from stagefright.
2015-12-02 17:21:49 -08:00
Ralph Giles
be8ee9898b Bug 1229615 - Don't reject files without edit lists. r=kinetik
Patch from upstream.
2015-12-02 17:21:41 -08:00
Wes Kocher
ef60ffb91e Backed out 3 changesets (bug 1229615) for crashtest crashes in 0-timescale.html CLOSED TREE
Backed out changeset aa313047a6de (bug 1229615)
Backed out changeset 80aa7ecf9456 (bug 1229615)
Backed out changeset d7bf9994e1b0 (bug 1229615)

--HG--
extra : commitid : 782ajuO9h9t
2015-12-02 15:00:42 -08:00
Ralph Giles
fef6163774 Bug 1229615 - Conditionalize mp4parse.h export. r=kinetik 2015-12-02 12:22:09 -08:00
Matthew Gregan
6b03728600 Bug 1229615 - Compare track counts between rust and stagefright. r=rillian
Use the new capi calls in rust mp4parse v0.1.5 to query
audio and video track counts and compare with what we
get from stagefright.
2015-12-02 12:19:29 -08:00
Ralph Giles
8c0e42e151 Bug 1229615 - Don't reject files without edit lists. r=kinetik
Patch from upstream.
2015-12-02 12:25:00 -08:00
Ralph Giles
a0a2e12a73 Bug 1229612 - Update rust mp4parse to v0.1.5. r=kinetik
Adds query functions for track metadata.
2015-12-01 17:33:00 -08:00
Jean-Yves Avenard
87d0bbae43 Bug 1226842: Error rather than asserting when encountering error in sample table. r=gerald 2015-12-02 10:39:50 +11:00
Jean-Yves Avenard
9191c537d3 Bug 1229134: Check that memory allocation actually succeeded. r=gerald 2015-12-02 10:39:49 +11:00
Gerald Squelart
a9a0ca3af0 Bug 1210319 - p3. Lowered useless log level - r=jya
--HG--
extra : commitid : 3l4NCSLhsWC
2015-12-01 13:46:07 -08:00
Gerald Squelart
23f5557d82 Bug 1210319 - p2. Minor intf clean-up, RIP trex - r=rillian
Made some class interfaces a bit more "C++11"-ish, to protect against some
possible issues.
Also removed 'trex', which was only used by code removed in previous patch.

--HG--
extra : commitid : FkTiMJ5sZLf
2015-12-01 13:45:55 -08:00
Gerald Squelart
f8723d92f6 Bug 1210319 - p1. Removed unused code - r=rillian
--HG--
extra : commitid : 6LU02OBJDFK
2015-12-01 13:45:42 -08:00
Jean-Yves Avenard
7ae8605a51 Bug 1229339: Partial revert of commit c15c9f37f. r=cpearce
Replacement of nsTArray<MediaByteRange> by MediaByteRangeSet in the MoofParser was incorrect.
2015-12-02 08:35:57 +11:00
Jean-Yves Avenard
5b14282671 Bug 1227396: P14. Reduce memory usage of sample index for audio tracks. r=cpearce
All samples in an audio track are keyframes. As such, use block on 128 samples instead.
2015-11-30 11:36:39 +11:00
Jean-Yves Avenard
bb0aacbf79 Bug 1227396: P13. Refactor how MP4 buffered range is calculated. r=cpearce
We now use an index of samples made of block of samples delimited by keyframes. The search is performed using a binary search. This allows to quickly find which blocks are found within the media cache.
On a 8 core mac pro, this leads to a 67% improvement on CPU time spent playing a long MP4 video (from 112s CPU to 45s CPU)

The optimisation is only possible if all mp4 data chunks are continuous (which they almost always are)
2015-11-30 11:29:37 +11:00
Jean-Yves Avenard
219b4520a6 Bug 1227396: P10: Remove stray function definition. r=cpearce 2015-11-30 11:29:35 +11:00
Jean-Yves Avenard
fdf27ff498 Bug 1227396: P9. Remove unnecessary monitor. r=cpearce
The Index and MoofParser are now only used via the MP4Demuxer which is guaranteed to always be called on the same taskqueue.
2015-11-30 11:29:35 +11:00
Jean-Yves Avenard
a7975b198f Bug 1227396: P8. Replace MediaByteRange with Interval<int64_t> typedef. r=cpearce
It's now okay to simplify.
2015-11-30 11:29:34 +11:00
Jean-Yves Avenard
c8c275cee2 Bug 1227396: P7. Replace nsTArray<MediaByteRange> with dedicated MediaByteRangeSet object. r=cpearce 2015-11-30 11:29:34 +11:00
Jean-Yves Avenard
70f2124283 Bug 1227396: P2. Rename some MediaByteRange methods. r=cpearce
Will facilitate the replacement of MediaByteRange by Interval<int64_t>
2015-11-30 11:29:30 +11:00
Gerald Squelart
ed2eee2066 Bug 1227052 - Use delete[] for sinf->IPMPData. r=jya
--HG--
extra : rebase_source : d8197fdc08c009dedd25f83ef2a7fc68356043a7
2015-11-24 08:46:54 +01:00
sajitk
582e1a55fa Bug 1219480 - Replace PRLogModuleInfo with LazyLogModule in the media directory. r=rillian 2015-11-15 14:49:01 +01:00
Gerald Squelart
33342972f0 Bug 1224019 - Disable Stagefright subset gtests - r=jya, rs=botond
These tests are exploratory, they don't particularly match whatever the
original issues were discovered, so it is safe to disable them for now.
A future bug will look at re-enabling them, but without all the output
that they generate.

--HG--
extra : rebase_source : c31b049d696d09094a8fb94f09525756840cf33f
2015-11-11 19:24:48 -05:00
Wes Kocher
f3a9eb2a26 Backed out changeset 1e5f3d1151d6 (bug 1219480) for cpp unittest bustage CLOSED TREE
--HG--
extra : commitid : BMVKq6cPeho
2015-11-11 09:36:56 -08:00
sajitk
3cbe348cdd Bug 1219480 - Replace PRLogModuleInfo with LazyLogModule in the media directory. r=rillian
--HG--
extra : rebase_source : c73098485fa005d914304fb6e7f8eba3c15e66dc
2015-11-11 06:52:00 +01:00
Gerald Squelart
a407a004d9 Bug 1216845 - Check fallible allocations - r=rillian
- Made externally-sized 'new' allocations fallible.
- Check return value of every new(fallible)/malloc/realloc.
- Consistently return -ENOMEM when allocations fail.
- MPEG4Extractor::getTrack() and getMetaData() can return null (because of
  failed parse or failed alloc); added missing checks in callers.

Note: Some allocs in the 2nd half of MPEG4Extractor have not been touched, as
they are in unused code to be removed in bug 1210319.
2015-11-11 12:37:53 +01:00
Gerald Squelart
305f63eb74 Bug 1216748 - p4. Check other Metadata::setData uses - r=rillian
Found only one other use that needed better checks: the size of the pssh
data was only checked after all items were added up; so it would be
possible to create a set of big items such that they create an overflow,
but the final sum looks reasonable.
Instead each item size should be checked, and the sum should also be
checked at each step.
2015-11-11 12:36:26 +01:00
Gerald Squelart
11139b4935 Bug 1216748 - p3. Ensure 'covr' data size cannot create underflow - r=rillian 2015-11-11 12:36:05 +01:00
Gerald Squelart
e8a831bae2 Bug 1216748 - p2. Handle failed malloc in Metadata storage - r=rillian 2015-11-11 12:35:52 +01:00
Gerald Squelart
fe2b536abd Bug 1216748 - p1. Added test case with different 'covr' sizes - r=rillian 2015-11-11 12:35:38 +01:00
Ralph Giles
fb945d27e7 Bug 1220885 - Add telemetry probe for rust mp4parse success. r=kinetik p=ally
This is a boolean to record the overall success rate of the new
demuxer path.
2015-11-09 12:42:00 -08:00
Gerald Squelart
2505b44960 Bug 1185230 - p1: Added mp4 test case to libstagefright gtest - r=rillian 2015-11-05 23:20:00 +01:00
Gerald Squelart
a7ce313646 Bug 1185230 - p2: Store MPEG4Source::mTimescale as uint32_t - r=rillian
The timescale is read as an unsigned integer, but was stored signed in MPEG4Source,
causing it to overflow into a negative number if too big, causing later issues when
exporting indices with negative timestamps.
2015-11-05 20:10:00 +01:00
Gerald Squelart
439afcf535 Bug 1181213 - Added Added mp4 test case to libstagefright gtest - r=rillian
Note: This bug is effectively fixed by bug 1181215, so only this test case is
provided to prove the successful resolution of this bug.
2015-11-05 19:12:00 +01:00
Gerald Squelart
468dab6c37 Bug 1181215 - p1: Added mp4 test case to libstagefright gtest - r=rillian 2015-11-05 19:11:00 +01:00
Gerald Squelart
15f513a32e Bug 1181215 - p2: Better track verification - r=rillian
Copied some tests from MPEG4Source constructor to MPEG4Extractor::verifyTrack
so that we don't get late surprises, in particular a missing track ID.
2015-11-05 03:11:00 +01:00
Gerald Squelart
1a225cc661 Bug 1181220 - p2: Check if MIME types are valid - r=rillian 2015-11-05 19:10:00 +01:00
Gerald Squelart
d26da5bb6a Bug 1181220 - p1: Added mp4 test case to libstagefright gtest - r=rillian 2015-11-05 19:08:00 +01:00
Gerald Squelart
007ffc84ce Bug 1181223 - p2: Handle wrong saio/saiz size instead of assuming it is correct - r=rillian 2015-11-05 19:06:00 +01:00