Commit Graph

183 Commits

Author SHA1 Message Date
Anthony Jones
28c7d528c1 Bug 1133572 - Use new demuxer for all sample fetches; r=cpearce 2015-02-18 19:13:15 +13:00
Anthony Jones
250218269a Bug 1133572 - Remove duplication of logic from GetNextKeyframeTime(); r=cpearce 2015-02-18 19:13:14 +13:00
Jean-Yves Avenard
6dffa7b1fa Bug 1133478: Postpone parsing TRUN atom until we have all dependent atoms. r=k17e
Atoms may be out of order inside MOOF, in particular the TFDT may only be
defined after TRUN.
2015-02-17 16:22:52 +13:00
Bobby Holley
2cd7434422 Bug 1127554 - Do a fallible allocation in SampleIterator::GetNext. v1 r=mattwoodrow 2015-02-13 12:19:38 -08:00
Bobby Holley
ced4bbc434 Bug 1127554 - Make MP4Sample::Replace fallible. v1 r=mattwoodrow 2015-02-13 12:19:37 -08:00
Bobby Holley
6217aabf6a Bug 1127554 - Make MP4Sample::Prepend fallible. v1 r=mattwoodrow 2015-02-13 12:19:37 -08:00
Bobby Holley
620ec20063 Bug 1127554 - Make MP4Sample::Pad fallible. v1 r=mattwoodrow 2015-02-13 12:19:36 -08:00
Bobby Holley
f055cc749a Bug 1127554 - Get rid of infallible allocation in MP4Sample copy constructor. v2 r=mattwoodrow 2015-02-13 12:19:36 -08:00
Jean-Yves Avenard
c2512b6c85 Bug 1128939: Part3. Allocate media buffer internal memory dynamically. r=k17e 2015-02-12 18:52:12 +11:00
Jean-Yves Avenard
4132c3064d Bug 1128939: Part2. Make sure we limit read to buffer size and handle error nicely. r=k17e 2015-02-12 18:52:12 +11:00
Jean-Yves Avenard
dbc2bf7237 Bug 1128939: Part1. Ensure we have any space in the media buffer before writing. r=k17e 2015-02-11 17:40:13 +11:00
Jean-Yves Avenard
67411f1d5e Bug 1129732: Part1. Dynamically adjust calculations using timestampoffset. r=mattwoodrow
Timestamp Offset calculations are now done exclusively by the Media Source
components which allow to recalculate them on the fly. By abstracting those
offsets it remove the need for the sub-decoders to handle them (which allows
to add WebM support).
2015-02-09 23:28:59 +11:00
Jean-Yves Avenard
2b8def7fd2 Bug 1129071: Add log error should we run out of memory. r=k17e 2015-02-09 23:28:58 +11:00
Jean-Yves Avenard
029454fbd8 Bug 1128410: Part2. Make memory allocation dynamic. r=kentuckyfriedtakahe
Allocations are fallibles.
2015-02-02 21:36:51 +11:00
Jean-Yves Avenard
bc3b53cf6a Bug 1128410: Lazily allocate the MP4 parser buffer. r=kentuckyfriedtakahe
This buffer is unsused for fragmented MP4. So we don't need to unecessarily
allocate it and block a chunk of 3MB data. Also, this removes the restriction
of playing YouTube video > 1080p
2015-02-02 21:36:48 +11:00
Edwin Flores
fcfce237f4 Bug 1127115 - Make MP4 parser assertion non-fatal - r=ajones 2015-01-30 16:54:12 +13:00
Edwin Flores
629afc55c1 Bug 1118597 - Parse sinf boxes in MoofParser - r=jya 2015-01-19 21:39:00 +13:00
Edwin Flores
d7eb4c6718 Bug 1118597 - Re-enable MoofParser for encrypted MP4 streams - r=jya 2015-01-27 18:35:36 +13:00
Brian Smith
7f449f0490 Bug 1119072, Part 8: Work around internal compiler error in VS2015 (libstagefright), r=cpearce
--HG--
extra : rebase_source : a92130375280523b216562e06f11c6e3f755b9e6
2015-01-08 23:08:36 -08:00
Jean-Yves Avenard
37b20c8416 Bug 1123507: Prevent out of bound memory access. r=edwin
--HG--
extra : rebase_source : 48c8a833b0b394d0c35754b2311f54e8bf8c5b66
2015-01-20 13:42:30 +11:00
Jean-Yves Avenard
dcd8fcb072 Bug 1116056: Ensure all atoms read are valid. r=mattwoodrow
--HG--
extra : rebase_source : 6d5575bd0886b70dec23e1bccb638b1591eef5e9
2015-01-20 13:42:27 +11:00
Chris Pearce
8a239a32e3 Bug 1123498 - Make MP4Reader skip-to-next-keyframe less aggressively. r=mattwoodrow 2015-01-20 15:20:43 +13:00
Jean-Yves Avenard
2ceb0057af Bug 1120075: Use Movie Extend Header's duration as fallback when available. r=kentuckyfriedtakahe
--HG--
extra : rebase_source : 54e554e183d9072908ec02b6c14de5c2f46e8204
2015-01-16 23:49:01 +11:00
Jean-Yves Avenard
af543c1cd3 Bug 1121757: Prevent out of bound memory access should AVC data be invalid. r=kinetik 2015-01-16 20:27:11 +11:00
Jean-Yves Avenard
f99ae61070 Bug 1121342: Re-search for Moof if an initial attempt to find it failed. r=kentuckyfriedtakahe
--HG--
extra : rebase_source : 009d8048a8917d5ff1a1660b0b6cf8220743cba8
2015-01-16 15:48:43 +11:00
Brian Smith
02a7263b3f Bug 1119776, Part 2: Avoid defining snprintf when MSVC provides it (video), r=giles
--HG--
extra : rebase_source : 0ea7b0b1a65b31993df689784dd17e741a0c312e
2015-01-08 22:32:03 -08:00
Anthony Jones
6c9a65317c Bug 1116056 - Change MOZ_ASSERT() to NS_WARNING() in Box::Read(); r=jya 2015-01-14 16:57:14 +13:00
Bobby Holley
85966c53ed Bug 1119456 - Make MP4Demuxer's blocking reads non-blocking and hoist blocking into callers with a hacky retry strategy. r=k17e 2015-01-11 13:24:26 -08:00
Carsten "Tomcat" Book
dff961fa6a Merge mozilla-central to b2g-inbound 2015-01-08 15:44:18 +01:00
Ethan Lin
3cf7829b11 Bug 1118698 - Add namespace for automic functions to prevent redefine error. r=ajones 2015-01-07 03:41:00 -05:00
Bobby Holley
c69456ab40 Bug 1064128 - Implement support for timestampOffset in segments mode. r=k17e,r=cajbir 2015-01-07 15:58:55 -08:00
Chris Pearce
2f391988bb Bug 1118593 - Disable MoofParser for encrypted streams. r=kentuckyfriedtakahe 2015-01-07 17:09:27 +13:00
Ralph Giles
fd23fde9eb Bug 1111328 - Add missing include. r=jya
Fixes problems with non-unified builds.
2015-01-05 13:20:00 -08:00
Bobby Holley
b6b5e959bb Bug 1115749 - Assert that we hold the monitor at all the MP4Demuxer API entry points. r=rillian
MP4Demuxer accesses shared state (index, moofparser) in lots of shared helper
routines, so we should assume that it's not safe to touch the demuxer at all
without holding the lock (unless demonstrated otherwise). This stuff should
probably be redesigned, but that's a problem for another day.
2014-12-29 16:10:16 -08:00
Jean-Yves Avenard
a52d454032 Bug 1111328: Add H264 SPS NAL decoder part #2 (VUI and HDR). r=kentuckyfriedtakahe 2014-12-24 23:11:35 +11:00
Jean-Yves Avenard
c40872326d Bug 1111328: Add H264 SPS NAL decoder. r=kentuckyfriedtakahe 2014-12-24 23:11:35 +11:00
Jean-Yves Avenard
0c7596a490 Bug 1113073: Add H264 3-bytes NAL size support. r=kentuckyfriedtakahe 2014-12-23 14:41:21 +11:00
Jean-Yves Avenard
d7f0a4602f Bug 1113403: Make MP4Sample destructor virtual. r=kinetik 2014-12-23 14:40:29 +11:00
Jean-Yves Avenard
0dabc8a96c Bug 1110534: Add AVC Annex B to AVCC format conversion utility. r=kentuckyfriedtakahe
Based on original code by Baptiste Coudurier extracted from FFmpeg's libavformat
2014-12-23 14:36:09 +11:00
Jean-Yves Avenard
7341bcdb6e Bug 1110534: Use more accurate names in MP4Sample and Annex B utility functions. r=kentuckyfriedtakahe 2014-12-23 14:36:09 +11:00
Jean-Yves Avenard
c430fe390c Bug 1110534: Retrieve SPS and PPS from AVCC stream when necessary. r=kentuckyfriedtakahe
In avc3 or annex B stream, the AVCC extradata doesn't always contain the SPS and PPS required to
decode the first frame. Add method to extract SPS and PPS and construct an AVCC extradata.
2014-12-23 14:36:09 +11:00
Jean-Yves Avenard
8f57ec0db8 Bug 1110534: Simplify MP4 extradata handling. r=kentuckyfriedtakahe 2014-12-23 14:36:09 +11:00
Bobby Holley
6d0ec2b9a3 Bug 1114383 - Assert that access to mMoofs goes through a monitor. r=k17e 2014-12-21 22:04:36 -08:00
Jean-Yves Avenard
82b860da6b Bug 1111311: Use 32 bits signed for storing CTS in order to properly calculate PTS. r=kentuckyfriedtakahe 2014-12-17 22:21:10 +11:00
Anthony Jones
3310881371 Bug 1110608 - Add CENC support to MoofParser; r=edwin 2014-12-16 18:10:46 +13:00
Anthony Jones
8fb4e80e99 Bug 1098126 - Fix build bustage; r=mattwoodrow 2014-12-16 18:10:46 +13:00
Anthony Jones
02faa200e5 Bug 1098126 - MoofParser fixes and disable for EME; r=mattwoodrow 2014-12-05 14:01:44 -08:00
Anthony Jones
92e8ac3174 Bug 1098126 - Add CENC support to MoofParser; r=edwin 2014-12-16 18:10:45 +13:00
Anthony Jones
d1939b42de Bug 1098126 - MoofParser forced moof read; r=mattwoodrow 2014-12-16 18:10:45 +13:00
Anthony Jones
38ea3d4cfa Bug 1098126 - Use MoofParser to read fragmented MP4 data; r=mattwoodrow 2014-12-16 18:10:45 +13:00