Граф коммитов

452 Коммитов

Автор SHA1 Сообщение Дата
Ralph Giles 484761817e Bug 1255866 - stagefright: Fix unused variable warnings. r=ajones
MozReview-Commit-ID: 7UwVTewfYde
2016-03-21 14:20:43 -07:00
Jean-Yves Avenard aa950b3d46 Bug 1232313: [mp4] Use cumulative decode time if tfdt box is not present. r=kentuckyfriedtakahe
Per ISO 14496-12, the Track fragment decode time (tfdt) is optional.

MozReview-Commit-ID: LNrMPYlkDvt

--HG--
extra : rebase_source : fbacde893352db9248a3ebe6a62b2042eb3106b6
2016-03-16 18:58:48 +11:00
Jean-Yves Avenard c2467e583e Bug 1254721: Ensure consistency between Cenc offsets and sizes table. r=gerald
MozReview-Commit-ID: E1KbKIIBR87
2016-03-16 16:59:05 +11:00
Jean-Yves Avenard e9909fb19d Bug 1254731: [mp4] P2. Remove unused parsing of creation date. r=gerald
We just don't care about it in our use.
Additionally, gmtime and strftime are not thread safe at all (they use global static internally)

MozReview-Commit-ID: HfRpCyx4MpK
2016-03-16 16:56:27 +11:00
Jean-Yves Avenard 4ca801910c Bug 1254731: P1. Check for overflow and that conversion succeeded. r=gerald
MozReview-Commit-ID: Cs33P9QyP2V
2016-03-16 16:56:27 +11:00
Ralph Giles 2c98c3b096 Bug 1255869 - Don't call into mp4parse-rust on machines without sse2. r=kinetik
Work around sse2 instructions in the rust standard library
built for the i686-pc-windows-msvc target. We disable
sse2 code generation for our own code.

MozReview-Commit-ID: F6n0CmBd8dQ
2016-03-11 11:48:00 +13:00
Gerald Squelart 2d4fdb1b57 Bug 1253471 - Remove Metadata hard-coded limit - r=jya
Instead of relying on some arbitrary limit for ftyp+moov box sizes, we check
for overflow and possible type truncations, and then let memory allocation
routines (e.g. MediaByteBuffer::SetLength) deal with actual memory limitations.

MozReview-Commit-ID: AXXxvdDYnnr
2016-03-08 17:25:33 +11:00
Louis Christie e7c36cac63 Bug 1231793: Part 1 - Added read functions for Little Endian integers to ByteReader.h. r=jya 2016-02-17 00:28:48 +11:00
Rudolfs Bundulis 6d6414c23e Bug 1235427: [mp4] Properly parse tfhd box. r=jya 2016-02-05 16:09:37 +11:00
Birunthan Mohanathas d7371d07d0 Bug 1235261 - Part 1: Rename nsAutoTArray to AutoTArray. r=froydnj 2016-02-02 17:36:30 +02:00
Jean-Yves Avenard fbeebd3375 Bug 1244523: [mp4] P3. Skip four bytes when we hit a zero length box, r=kentuckyfriedtakahe
Similar to bug 1180101, but don't handle only the last box in the file.
2016-02-02 16:27:48 +11:00
Phil Ringnalda d381b4bca6 Back out 7 changesets (bug 1235261) for cpptest failures in TestTArray
CLOSED TREE

Backed out changeset d66c3f19a210 (bug 1235261)
Backed out changeset 467d945426bb (bug 1235261)
Backed out changeset 32b61df13142 (bug 1235261)
Backed out changeset c50bb8ed4196 (bug 1235261)
Backed out changeset 0ff0fa6fe81f (bug 1235261)
Backed out changeset df70e89669da (bug 1235261)
Backed out changeset 064969357fc9 (bug 1235261)
2016-01-31 10:10:57 -08:00
Birunthan Mohanathas 373593275e Bug 1235261 - Part 1: Rename nsAutoTArray to AutoTArray. r=froydnj 2016-01-31 17:12:12 +02:00
Matthew Gregan 320852f1dd Bug 1243234 - Move mp4parse-rust initialization into constructor and clean up try_rust. r=giles
Initializing in the constructor better matches libstagefright's behaviour
(and avoids reading and copying the stream contents every time
GetNumberTracks() is called).

Also restricts the size of the buffer to 1MB.  This will be handled in the
future by passing the parser a DataSource-like interface for reading from
the stream.
2016-01-28 14:25:18 +13:00
Matthew Gregan d5fa024fbd Bug 1243234 - Remove now-unnecessary StagefrightPrivate wrapper. r=giles 2016-01-28 14:25:18 +13:00
Matthew Gregan 6e493e6d61 Bug 1243234 - Move mp4parse-rust code into MP4MetadataRust impl. r=giles
Most of the interface is stubbed with asserts and only GetNumberTracks() is
called on both libstagefright and mp4parse-rust variants.

This also moves the libstagefright vs mp4parse-rust comparisons up into
MP4Metadata.
2016-01-28 14:25:18 +13:00
Matthew Gregan 486dfd0798 Bug 1243234 - Hide MP4Metadata behind an impl pointer. r=giles
This is temporary (until libstagefright is removed) and intended to make
swapping between and comparing the results of the libstagefright and
mp4parse-rust versions simpler.
2016-01-28 14:25:18 +13:00
Ralph Giles 72a64368b4 Bug 1243234 - Update rust mp4parse telemetry reporting. r=kinetik
As of mp4parse 0.2.0 error codes are positive, as gecko telemetry
requires, so we no longer need to invert them. However, the return
code is still signed, so assert to catch future errors.

Also fix a bug in track comparison telemetry. We were only counting
tracks when parsing failed.
2016-01-28 14:25:18 +13:00
Ralph Giles f9d092e8c5 Bug 1243234 - Update rust mp4parse to v0.2.1. r=kinetik
- Invert return codes.
 - Preliminary VP9 and Opus sample entry support.
 - Fix a string parsing error which caused street.mp4 to fail.
2016-01-28 14:25:18 +13:00
Ralph Giles 7384fbc8ec Bug 1243234 - Update script for mp4parse v0.2.1. r=kinetik
Bump the default version.
2016-01-28 14:25:18 +13:00
Ralph Giles c95acf92c1 Bug 1243234 - Move mp4parse into a crate subdirectory. r=kinetik
If we can get this to work it will be less confusing, I think.

Byteorder has to be in a subdir while we're treating it as a mod.

We may have to add yet another directory when we have crate support
but until then all the rust code is at least self-contained..


--HG--
rename : media/libstagefright/binding/byteorder/mod.rs => media/libstagefright/binding/mp4parse/byteorder/mod.rs
rename : media/libstagefright/binding/byteorder/new.rs => media/libstagefright/binding/mp4parse/byteorder/new.rs
rename : media/libstagefright/binding/capi.rs => media/libstagefright/binding/mp4parse/capi.rs
rename : media/libstagefright/binding/MP4Metadata.rs => media/libstagefright/binding/mp4parse/lib.rs
2016-01-28 14:25:18 +13:00
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