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

509 Коммитов

Автор SHA1 Сообщение Дата
Wes Kocher 24cb21d4f6 Backed out 15 changesets (bug 1195723) for various media test failures/unexpected-passes a=backout
Backed out changeset 2a3b10281c9c (bug 1195723)
Backed out changeset c3775a6225d8 (bug 1195723)
Backed out changeset ba0aeb71c672 (bug 1195723)
Backed out changeset 894061e6037e (bug 1195723)
Backed out changeset 4637f8be98bb (bug 1195723)
Backed out changeset c2664064fa55 (bug 1195723)
Backed out changeset 39908ea4c390 (bug 1195723)
Backed out changeset 3fcb5682049a (bug 1195723)
Backed out changeset 867d6507a381 (bug 1195723)
Backed out changeset c938ad9dd11c (bug 1195723)
Backed out changeset 7bdb9540b60f (bug 1195723)
Backed out changeset a4f7a73c04fa (bug 1195723)
Backed out changeset 7f86beff4263 (bug 1195723)
Backed out changeset efb6bcf743e7 (bug 1195723)
Backed out changeset 04eceefa54c7 (bug 1195723)
2016-08-22 10:07:25 -07: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
Ralph Giles 9898427959 Bug 1295666 - Build byteorder as a separate crate. r=kinetik
Run the updated import script to split the in-tree byteorder
code into a separate directory and build it as a dependent crate.

MozReview-Commit-ID: EI5X4icOdmM

--HG--
extra : rebase_source : fa0d4cce8503ede5d2fbefc4d4b78735f2140c33
2016-08-16 11:06:46 -07:00
Ralph Giles b803c56c4a Bug 1295666 - Import byteorder as a separate crate. r=kinetik
Now that bug 1231764 has landed cargo support in the build system,
we can remove the patches hacking the byteorder crate into a
module within the mp4parse crate.

This updates the import script to copy the byteorder source
files to a separate directory and removes the obsolete patches.

We update the patch against mp4parse/Cargo.toml to add a dependency
path referring to the new source location. This tells cargo to use
the in-tree copy instead of trying to pull from a registery.

MozReview-Commit-ID: FHMkyEq2HdH

--HG--
extra : rebase_source : 49e893008bb120740da92e81444a4bd43f3265d4
2016-08-16 10:51:46 -07:00
Nathan Froyd f7fb6722a6 Bug 1231764 - part 6 - build rust code via cargo; r=chmanchester
This patch is really two separate changes.

The first change is that rust crates are large, standalone entities that
may contain multitudes of source files.  It therefore doesn't make sense
to keep them in SOURCES, as we have been doing.  Moving to use cargo
will require a higher-level approach, which suggests that we need a
different, higher-level representation for Rust sources in the build
system.

The representation here is to have the build system refer to things
defined in Cargo.toml files as the entities dealt with in the build
system, and let Cargo deal with the details of actually building things.
This approach means that adding a new crate to an existing library just
requires editing Rust and Cargo.toml files, rather than dealing with
moz.build, which seems more natural to Rust programmers.  By having the
source files for libraries (and binaries in subsequent iterations of
this support) checked in to the tree, we can also take advantage of
Cargo.lock files.

The second is that we switch the core build system over to building via
cargo, rather than invoking rustc directly.

We also clean up a number of leftover things from the Old Way of doing
things.  A number of tests are added to confirm that we'll only permit
crates to be built that have dependencies in-tree.
2016-08-06 00:49:26 -04:00
Wes Kocher 9605851be0 Backed out 7 changesets (bug 1231764) for apparently causing linux debug wpt bustage
Backed out changeset 4b71272c92cf (bug 1231764)
Backed out changeset 234d8a930afa (bug 1231764)
Backed out changeset f9b204c2f5a7 (bug 1231764)
Backed out changeset f933119e57e4 (bug 1231764)
Backed out changeset e3af0b1d3473 (bug 1231764)
Backed out changeset 643b03aae1dd (bug 1231764)
Backed out changeset a945dbf63410 (bug 1231764)

--HG--
extra : rebase_source : e71360fa4b5e3e74859c82e74e183e13e6211c4c
2016-08-03 16:27:06 -07:00
Nathan Froyd 6b2618fb44 Bug 1231764 - part 6 - build rust code via cargo; r=chmanchester
This patch is really two separate changes.

The first change is that rust crates are large, standalone entities that
may contain multitudes of source files.  It therefore doesn't make sense
to keep them in SOURCES, as we have been doing.  Moving to use cargo
will require a higher-level approach, which suggests that we need a
different, higher-level representation for Rust sources in the build
system.

The representation here is to have the build system refer to things
defined in Cargo.toml files as the entities dealt with in the build
system, and let Cargo deal with the details of actually building things.
This approach means that adding a new crate to an existing library just
requires editing Rust and Cargo.toml files, rather than dealing with
moz.build, which seems more natural to Rust programmers.  By having the
source files for libraries (and binaries in subsequent iterations of
this support) checked in to the tree, we can also take advantage of
Cargo.lock files.

The second is that we switch the core build system over to building via
cargo, rather than invoking rustc directly.

We also clean up a number of leftover things from the Old Way of doing
things.  A number of tests are added to confirm that we'll only permit
crates to be built that have dependencies in-tree.
2016-08-03 19:40:41 -04:00
Kaku Kuo 3ea8ae9a44 Bug 1274626 part 3 - make the blank video decoder return samples in PTS order; r=jya
MozReview-Commit-ID: EULu34WIcw0

--HG--
rename : dom/media/platforms/apple/ReorderQueue.h => dom/media/platforms/ReorderQueue.h
extra : transplant_source : %05%DF%05%26%B4B%CF%CEv_%A7%3C9%EDo%1B%C6%B0%1Eh
2016-08-03 15:22:49 +08:00
Carsten "Tomcat" Book 2bcc300cca Backed out changeset 12e3777de139 (bug 1274626)
--HG--
rename : dom/media/platforms/ReorderQueue.h => dom/media/platforms/apple/ReorderQueue.h
2016-08-02 17:47:29 +02:00
Kaku Kuo d22560cfe6 Bug 1274626 - Part 3 - make the blank video decoder return samples in PTS order; r=jya
MozReview-Commit-ID: EULu34WIcw0

--HG--
rename : dom/media/platforms/apple/ReorderQueue.h => dom/media/platforms/ReorderQueue.h
extra : transplant_source : %3F%DF%9F%E7%C8%AC%9F%3B%FB%94%8C%09%0A%16%D8%9F%0D%1F%9F%3E
2016-08-01 19:04:30 +08:00
Carsten "Tomcat" Book 336105a0de merge mozilla-inbound to mozilla-central a=merge 2016-07-22 11:58:02 +02:00
Tom Tromey 5538d692d3 Bug 1286877 - do not set c-basic-offset for python-mode; r=gps
This removes the unnecessary setting of c-basic-offset from all
python-mode files.

This was automatically generated using

    perl -pi -e 's/; *c-basic-offset: *[0-9]+//'

... on the affected files.

The bulk of these files are moz.build files but there a few others as
well.

MozReview-Commit-ID: 2pPf3DEiZqx

--HG--
extra : rebase_source : 0a7dcac80b924174a2c429b093791148ea6ac204
2016-07-14 10:16:42 -06:00
Nathan Froyd 82f3460a41 Bug 1288390 - avoid a few more warnings in third-party code when compiling with clang; r=mshal 2016-07-21 18:58:37 -04:00
Jean-Yves Avenard a922df8537 Bug 1285928: [mp4] Ignore non-supported entries in edit list. r=kentuckyfriedtakahe
Only the first entry in the edit list is supported (or the 2nd if the first entry is empty)

MozReview-Commit-ID: 5Ab28yhRKPV
2016-07-19 12:02:46 +10:00
Ralph Giles 705dbc4fe9 Bug 1284589 - Result of running the update script. r=kinetik
Implement the changes by running the new update script.

MozReview-Commit-ID: 2gbmdq4Mlri

--HG--
rename : media/libstagefright/binding/mp4parse/boxes.rs => media/libstagefright/binding/mp4parse/src/boxes.rs
rename : media/libstagefright/binding/mp4parse/byteorder/mod.rs => media/libstagefright/binding/mp4parse/src/byteorder/mod.rs
rename : media/libstagefright/binding/mp4parse/byteorder/new.rs => media/libstagefright/binding/mp4parse/src/byteorder/new.rs
rename : media/libstagefright/binding/mp4parse/capi.rs => media/libstagefright/binding/mp4parse/src/capi.rs
rename : media/libstagefright/binding/mp4parse/lib.rs => media/libstagefright/binding/mp4parse/src/lib.rs
rename : media/libstagefright/binding/mp4parse/tests.rs => media/libstagefright/binding/mp4parse/src/tests.rs
extra : rebase_source : dee1bc8dc923d4d8edc060a2ef14161d78c5e4dc
2016-07-05 11:10:15 -07:00
Ralph Giles df3f69672e Bug 1284589 - Move mp4parse source to match upstream. r=kinetik
Make Cargo.toml, build.rs and standard cargo source package
layout available in-tree to facilitate testing cargo-driven
builds of rust code.

Update the moz.build script to build using plain rustc as
before, but referencing the new source location.

MozReview-Commit-ID: 11zuebic9tU

--HG--
extra : rebase_source : 1cb71896ae5dd33d1237ca04ec27da60b2256dad
2016-07-05 11:08:37 -07:00
Alexandre Lissy a09dfe4799 Bug 1283439 - Include OpusDecoder.h only for Rust MP4 parsing r=kinetik
MozReview-Commit-ID: 9zzhvYowlkX

--HG--
extra : rebase_source : d10ddb0632a6bf35d4f92080438a5f01f6466b72
2016-06-30 19:13:53 +02:00
Ralph Giles b9106558db Bug 1282963 - Share CodecDelay prepend code. r=kinetik
Both the WebM and mp4 demuxers need to pack this value into
the the CodecSpecificConfig, so move the shared implementation
to the OpusDecoder, near where it is unpacked so the two can
be kept in sync.

MozReview-Commit-ID: 2pQaruJoAWr
2016-06-29 15:49:04 -07:00
Ralph Giles 160fca741c Bug 1267887 - Add algorithm.h for std::min on msvc. r=kinetik
Fixes a compile error on Windows.

MozReview-Commit-ID: 6FOl7fn5xMq
2016-06-29 09:13:19 -07:00
Ralph Giles af27dceab2 Bug 1267887 - Document MP4AudioInfo::IsValid(). r=jya
Jean-Yves and I both found this logic confusing.

MozReview-Commit-ID: C5phemRPDQZ
2016-06-29 09:13:15 -07:00
Ralph Giles f3eb2d75ba Bug 1267887 - Update source for mp4parse v0.4.0. r=kinetik
Result of running the update script.

MozReview-Commit-ID: AE6jXz8IMU7
2016-06-29 09:13:04 -07:00
Ralph Giles 8c0fe7a521 Bug 1267887 - Update script for mp4parse v0.4.0. r=kinetik
Remove patches for issues which are fixed upstream.

Update the script to generate the C api header file by running
`cargo build` before copying it.

Update byteorder mod-ification patch to apply to 0.5.3.

MozReview-Commit-ID: 8FDpbcSWt1o
2016-06-29 09:12:45 -07:00
Ralph Giles 72ecfe6999 Bug 1267887 - Support Opus in mp4 with the rust demuxer. r=kinetik
Update C++ caller code for for mp4parse 0.4.0. Now feeds data through
a read callback in mp4parse_io.

Hook up the GetTrackInfo method to the rust demuxer results.

Prefer rust demuxer only if there's an Opus track.

Fill in audio and video track metadata. Pass audio codec_specific_config
to the decoder.

With this change sample.mp4 plays.

MozReview-Commit-ID: F8xwWPZZBfZ
2016-06-29 09:12:45 -07:00
Ralph Giles c1c627c22a Bug 1267887 - Experiment with exporting track mime-type. r=kinetik
MozReview-Commit-ID: 9CynVkwtUn2
2016-06-29 09:12:45 -07:00
Phil Ringnalda 3f1ee7a2b6 Backed out 7 changesets (bug 1267887) for gtest failures and crashes and Marionette crashes on Windows 8
CLOSED TREE

Backed out changeset e7e34b315a0a (bug 1267887)
Backed out changeset 9128f4f94032 (bug 1267887)
Backed out changeset c697af8c555a (bug 1267887)
Backed out changeset 8f1c1957ce80 (bug 1267997)
Backed out changeset 3b1177fd30cb (bug 1267887)
Backed out changeset 72ea61f4f820 (bug 1267887)
Backed out changeset e19c4c4eac51 (bug 1267887)
2016-06-28 21:40:09 -07:00
Ralph Giles a91a784d90 Bug 1267887 - Add algorithm.h for std::min on msvc. r=kinetik
Fixes a compile error on Windows.

MozReview-Commit-ID: 6FOl7fn5xMq
2016-06-28 20:33:42 -07:00
Ralph Giles c0393ce78f Bug 1267887 - Document MP4AudioInfo::IsValid(). r=jya
Jean-Yves and I both found this logic confusing.

MozReview-Commit-ID: C5phemRPDQZ
2016-06-28 20:33:38 -07:00
Ralph Giles 64dfe2c489 Bug 1267997 - Update source for mp4parse v0.4.0. r=kinetik
Result of running the update script.

MozReview-Commit-ID: AE6jXz8IMU7
2016-06-28 20:33:36 -07:00
Ralph Giles 1382abe1f6 Bug 1267887 - Update script for mp4parse v0.4.0. r=kinetik
Remove patches for issues which are fixed upstream.

Update the script to generate the C api header file by running
`cargo build` before copying it.

Update byteorder mod-ification patch to apply to 0.5.3.

MozReview-Commit-ID: 8FDpbcSWt1o
2016-06-28 20:33:34 -07:00
Ralph Giles 711f285ffd Bug 1267887 - Support Opus in mp4 with the rust demuxer. r=kinetik
Update C++ caller code for for mp4parse 0.4.0. Now feeds data through
a read callback in mp4parse_io.

Hook up the GetTrackInfo method to the rust demuxer results.

Prefer rust demuxer only if there's an Opus track.

Fill in audio and video track metadata. Pass audio codec_specific_config
to the decoder.

With this change sample.mp4 plays.

MozReview-Commit-ID: F8xwWPZZBfZ
2016-06-28 20:33:32 -07:00
Ralph Giles bcd27ae276 Bug 1267887 - Experiment with exporting track mime-type. r=kinetik
MozReview-Commit-ID: 9CynVkwtUn2
2016-06-28 20:33:30 -07:00
Jonathan Watt b15368cfcb Bug 1279451 - Remove a lot of unnecessary includes of nsAutoPtr.h. rs=sparky 2016-06-07 21:10:18 +01:00
Jean-Yves Avenard 950b3b9268 Bug 1278005: Fix rounding problems. r=cpearce, a=tomcat
We had two potentials rounding issue occurring. The one causing the problem is that adding an int64 with a float is a float, and would be limited to 24bits mantissa.
The other, could be that rounding would occur if the segment duration was over 16s long, as that too would exceed the representation range as we using microseconds representation internally.

MozReview-Commit-ID: FyBTGvfg25I

--HG--
extra : transplant_source : %D0%14u%E3%1E%C6%D2%FC4%A4%2B%C0%20k%05%E8%90qz%2B
2016-06-04 12:22:39 +10:00
Kilik Kuo 002f32571d Bug 1228601 - [Part1] Store only supported video rotation informatin into VideoInfo.; r=mattwoodrow
MozReview-Commit-ID: GF1PpJGkGyA

--HG--
extra : transplant_source : %A9%B2%94%EEb%B3%8B%B9P%AAj%25%9B%18t%22NV%0C%1C
2016-05-13 02:17:39 +08:00
Jean-Yves Avenard 0425d28998 Bug 1275853: [mp4] Don't reject boxes that contains padding but can be easily skipped. r=kentuckyfriedtakahe
My guess is that the application generating those files, does a very rough estimate on what the sample table size is going to be, which allows to perform the conversion in a single pass. This allows to place the moov box at the beginning.

MozReview-Commit-ID: IGzxTho4Akk

--HG--
extra : rebase_source : b6ca711a00f8b2d7d8708acdd17f52f59b469685
2016-05-28 10:42:01 +10:00
Chris Peterson 11ef78ae89 Bug 1275016 - Rename Endian.h to EndianUtils.h to avoid #include confusion with Android's endian.h stdlib header. r=froydnj
--HG--
rename : mfbt/Endian.h => mfbt/EndianUtils.h
2016-05-22 13:31:11 -07:00
Ryan VanderMeulen 244a5c7598 Backed out changeset de91db2be204 (bug 1275812) on a CLOSED TREE, again. 2016-05-26 16:36:00 -04:00
Ralph Giles a038a5c348 Bug 1275812 - Experiment with exporting track mime-type. r=kinetik, a=RyanVM to land on a CLOSED TREE
MozReview-Commit-ID: 9CynVkwtUn2

--HG--
extra : source : aa1d245e0af392ca48e991661c0c38a84ba2e360
extra : amend_source : 5fc877fcf2e91a5c29b4a57ce00d90f6d354cf09
2016-04-04 11:28:05 -07:00
Ryan VanderMeulen ac870fd3ee Backed out changeset aa1d245e0af3 (bug 1275812) for mass win32 debug crashes.
CLOSED TREE
2016-05-26 13:53:26 -04:00
Ralph Giles 21456960e1 Bug 1275812 - Experiment with exporting track mime-type. r=kinetik
MozReview-Commit-ID: 9CynVkwtUn2

--HG--
extra : rebase_source : 7995c6af6dc0a58b7369d25824c8446487ce49aa
2016-04-04 11:28:05 -07:00
Ralph Giles 8959d6a9ce Bug 1266309 - Use fallible rust thread::Builder. r=kinetik
We think thread::spawn() may be panicking in low memory
conditions. Test this by using the fallible thread::Builder
API and converting spawn Results into an error return.

MozReview-Commit-ID: 36pDaWsR2p8

--HG--
extra : rebase_source : 058273473564fa4c3b3da4cbd231efd9003a7d05
2016-05-25 13:57:29 -07:00
Ralph Giles dad637eb4a Bug 1275189 - Remove thread::JoinHandle panic guard. r=kinetik
We've audited this code, so the calls inside the closure should
be panic-free. Meanwhile the thread join() itself seems to be
panicing on windows. This will at least get us a more obvious
crash.

MozReview-Commit-ID: JXoDOOu2x0K

--HG--
extra : rebase_source : 661da4e8e8dc98e25b318a51c49a406ee86beb46
2016-05-24 14:42:42 -07:00
Jeff Muizelaar 3d15a7f63b Bug 1273640. Make some mp4 demuxer classes final. r=cpearce
This fixes some clang warnings about virtual destructors.
2016-05-24 15:38:48 -04:00
Sebastian Hengst e013fac160 Backed out changeset 998ed936f745 (bug 1228601) for reftest failure in 1frame_rotation_90.mp4. r=backout on a CLOSED TREE 2016-05-23 14:24:00 +02:00
Kilik Kuo b0d32a9fb5 Bug 1228601 - [Part1] Store only supported video rotation informatin into VideoInfo.; r=mattwoodrow
MozReview-Commit-ID: GF1PpJGkGyA

--HG--
extra : transplant_source : %C5%FF%EB%29j%E2T_h%AC%22%8Ey%E0%91%C6%7Dh%1C%09
2016-05-13 02:17:39 +08:00
Chris Peterson 8a9e2d2bd4 Bug 1272513 - Part 2: Remove redundant -Wshadow CXXFLAGS from moz.build files. r=glandium 2016-05-14 00:54:55 -07:00
Jean-Yves Avenard a137695351 Bug 1271847: Only adjust the samples once we have a complete moof. r=kentuckyfriedtakahe
MozReview-Commit-ID: 5TO0d20uUhZ

--HG--
extra : rebase_source : 0c0f0250d4fac6f3ffca736b6d79c7e4301e964e
2016-05-11 15:59:33 +10:00
Nathan Froyd 276488cf53 Bug 1220307 - part 2 - use something other than vector<T>::data() in TestMP4Rust.cpp; r=rillian
Our copy of STLport on Android is so old, it doesn't have support for
vector<T>::data().  The standard defines vector<T>::data() in terms of
vector<T>::front(), so this change should work everywhere.

--HG--
extra : rebase_source : 862d8745b49f48eadf026cbbddf20da7da2d0404
extra : source : 4e5db23bc712948e7371d69438033c03de29a00a
2016-05-06 15:09:36 -04:00