Commit Graph

155 Commits

Author SHA1 Message Date
Blake Wu
a59b6645db Bug 1153876 - Support MPEG-4 Codec, mp4v-es. r=jya. r=cpearce. 2015-04-20 21:57:29 +08:00
Jean-Yves Avenard
adf3258db5 Bug 1153094: Rename LargeDataBuffer and DataBuffer object. r=cpearce
This causes conflicts with webRTC libraries that use those names already. The
linker appears to get it wrong and calls the destructor of the wrong class.
2015-04-15 15:27:38 +10:00
Jean-Yves Avenard
263a15323b Bug 1153049: Part4. Remove redundant mHasAudio/mHasVideo member. r=cpearce 2015-04-14 15:17:51 +10:00
Jean-Yves Avenard
a09efe95ab Bug 1153049: Part3. Using AudioInfo/VideoInfo object. r=cpearce
This remove all remaining references to stagefright/MP4 specific objects.
2015-04-14 15:16:32 +10:00
Jean-Yves Avenard
4ab7cd6c92 Bug 1152658: Use MediaRawDataWriter to access MediaRawData::mCrypto. r=cpearce 2015-04-14 15:15:46 +10:00
Chris Double
935f513b7d Bug 1148203 - Fix build errors with combinations of enable/disable of ffmp4/ffmpeg/eme - r=cpearce,ted
Fixes build error with  all three disabled. Prevents other combinations
that cause build errors by detecting them at configure time and displaying
an error message.
2015-04-13 11:07:14 +12:00
Jean-Yves Avenard
36321df381 Bug 1153097: Use 32 bits int to compare frequencies. r=rillian
Also potentially fix out of bound memory access.
2015-04-12 18:22:07 +10:00
Jean-Yves Avenard
88d8084384 Bug 1152652: Part1. Use mStandardMozillaStyle for crypto classes. r=edwin 2015-04-09 21:14:56 +10:00
Jean-Yves Avenard
6f34756234 Bug 1150853: Part2. Use new MediaRawObject across the board. r=cpearce. 2015-04-09 21:14:55 +10:00
Jean-Yves Avenard
5ed48f784d Bug 1150853: Part1. Create MediaRawData object type. r=cpearce
This object extends MediaData and will be used to contain demuxed compressed
data.
2015-04-09 21:14:55 +10:00
Jean-Yves Avenard
a519f2a93a Bug 1147744: Part2. Properly calculate cropping value. r=k17e
If chroma_format_idc isn't defined, chroma_format_idc shall be inferred to be
equal to 1 (4:2:0 chroma format).
Also, ignore nonsensical cropping values as per spec.
2015-04-08 14:26:38 +10:00
Jean-Yves Avenard
ca52695a18 Bug 1147744: Part1. Round down display size. r=k17e 2015-04-08 14:26:35 +10:00
Jean-Yves Avenard
8a818520ce Bug 1151378: Part3. Fix constness and remove use of reference to refcounted ptr. r=k17e 2015-04-07 20:33:18 +10:00
Jean-Yves Avenard
a391ed4e4a Bug 1151378: Part2. Remove libstagefright depencies from Crypto config. r=edwin 2015-04-07 20:33:18 +10:00
Jean-Yves Avenard
c3605ba928 Bug 1151378: Part1. Remove of now unused code path. r=k17e
libstagefright is now only used to read the metadata.
2015-04-07 20:33:18 +10:00
Jean-Yves Avenard
6be5fedc89 Bug 1145926: Part1. Refactor AVCC wrapper. r=cpearce
Add support for future handling of audio remuxing before conversion.
2015-04-07 20:33:17 +10:00
Jean-Yves Avenard
1a42bca79f Bug 1151360: Allow playback of extended AAC profile audio track. r=k17e 2015-04-07 20:33:17 +10:00
Jean-Yves Avenard
5eadecdf76 Bug 1149278: Limit box reads to resource length. r=k17e
Also, add a safeguard where we will never attempt to read a mp4 box over 32MiB
2015-04-07 20:33:16 +10:00
Edwin Flores
29b990ffae Bug 1147689 - Pass the session ID(s) of an encrypted frame into EME CDMs - r=cpearce 2015-03-26 22:57:36 +13:00
Jean-Yves Avenard
5e847f002d Bug 1145815: Do not report discontinuities less than 35ms. r=k17e 2015-03-25 22:32:21 +11:00
Matt Woodrow
53b24e7491 Bug 1145037 - Remove invalid assertion in MoofParser. r=ajones 2015-03-26 12:57:58 +13:00
Martin Storsjö
72e8225eda Bug 1143491: Parse all trun boxes in MP4 fragments, not only the first one. r=jya 2015-03-23 11:39:27 +02:00
Jean-Yves Avenard
92147becc0 Bug 1146222: use nsAutoCString to store mimetype string. r=karlt
We use a nsAutoCString as the mimetype is typically less than 64 characters
and prevent a heap allocation (and the unecessary fragmentation linked to it)
2015-03-24 14:45:17 +11:00
Ehsan Akhgari
33bb32f549 Bug 1145631 - Part 1: Replace MOZ_OVERRIDE and MOZ_FINAL with override and final in the tree; r=froydnj
This patch was automatically generated using the following script:

function convert() {
echo "Converting $1 to $2..."
find . \
       ! -wholename "*/.git*" \
       ! -wholename "obj-ff-dbg*" \
         -type f \
      \( -iname "*.cpp" \
         -o -iname "*.h" \
         -o -iname "*.c" \
         -o -iname "*.cc" \
         -o -iname "*.idl" \
         -o -iname "*.ipdl" \
         -o -iname "*.ipdlh" \
         -o -iname "*.mm" \) | \
    xargs -n 1 sed -i -e "s/\b$1\b/$2/g"
}

convert MOZ_OVERRIDE override
convert MOZ_FINAL final
2015-03-21 12:28:04 -04:00
Jean-Yves Avenard
e3ec79be6f Bug 1145517: Part2. Follow exactly ITU H.264 7.3.1. r=cpearce
We wouldn't have properly handled sequence of more than two zeros and 0x03.
2015-03-20 19:44:39 +11:00
Jean-Yves Avenard
702d88d999 Bug 1145517: Properly skip the NAL's emulation prevention byte. r=cpearce
Fix typo.
If a sequence of 0x000003 is found, the 0x03 byte is to be skipped.
2015-03-20 18:39:11 +11:00
Jean-Yves Avenard
5e81c329fe Bug 1143516: Ignore SPS's aspect ratio if value is nonsensical. r=cpearce 2015-03-17 16:42:02 +11:00
Jean-Yves Avenard
802039679a Bug 1139271: Part3. Only consider a Box to be available if entire content is available. r=k17e 2015-03-16 23:08:56 +11:00
Jean-Yves Avenard
6d7c84df95 Bug 1139271: Part2. Ignore partial moof. r=k17e 2015-03-16 23:08:56 +11:00
Jean-Yves Avenard
24ffd0669a Bug 1139271: Part1. Add logging when encountering invalid atoms. r=k17e 2015-03-16 23:08:55 +11:00
Bobby Holley
297188ca94 Bug 1141785 - Force all audio samples to be keyframes. r=k17e 2015-03-15 21:29:55 -07:00
Jean-Yves Avenard
bf72a74ecc Bug 1128381: Part3. Handle on the fly video format change. r=cpearce
Add monitoring of the current SPS NAL and destroy/recreate H264 decoder as
required.
2015-03-12 11:07:19 +11:00
Jean-Yves Avenard
59b28c261e Bug 1128381: Part2. Properly extract extradata from AVC1 sample. r=rillian 2015-03-12 11:07:19 +11:00
Jean-Yves Avenard
cee89aef27 Bug 1128381: Part1. Don't assert on empty extra_data. r=kentuckyfriedtakahe 2015-03-12 11:07:19 +11:00
Jean-Yves Avenard
f097259d54 Bug 1139779: Part1. Extract display dimension from SPS NAL. r=rillian 2015-03-10 21:19:41 +11:00
Edwin Flores
93a6194c82 Bug 1140933 - Handle empty subsample encryption information in SampleIterator - r=cpearce 2015-03-09 13:55:33 +13:00
Anthony Jones
f5ae0bc523 Bug 1135544 - Create an abstract base class for a track demuxer; r=kinetik 2015-03-05 17:30:44 +13:00
Jean-Yves Avenard
f1d818df55 Bug 1134064: Part3. Don't evict partial data and make resource unplayable. r=k17e 2015-02-20 14:19:14 +13:00
Anthony Jones
0dabe31062 Bug 1133572 - Use new demuxer for all sample fetches; r=cpearce 2015-02-18 19:13:15 +13:00
Anthony Jones
172e0fca69 Bug 1133572 - Remove duplication of logic from GetNextKeyframeTime(); r=cpearce 2015-02-18 19:13:14 +13:00
Jean-Yves Avenard
16d343ec2f 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
0a27305044 Bug 1127554 - Do a fallible allocation in SampleIterator::GetNext. v1 r=mattwoodrow 2015-02-13 12:19:38 -08:00
Bobby Holley
fcd008a482 Bug 1127554 - Make MP4Sample::Replace fallible. v1 r=mattwoodrow 2015-02-13 12:19:37 -08:00
Bobby Holley
c6ea1d671b Bug 1127554 - Make MP4Sample::Prepend fallible. v1 r=mattwoodrow 2015-02-13 12:19:37 -08:00
Bobby Holley
9092b791ba Bug 1127554 - Make MP4Sample::Pad fallible. v1 r=mattwoodrow 2015-02-13 12:19:36 -08:00
Bobby Holley
5314527fbc 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
07ee477ad2 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
Edwin Flores
ab5055d859 Bug 1118597 - Parse sinf boxes in MoofParser - r=jya 2015-01-19 21:39:00 +13:00
Edwin Flores
85b37c325a Bug 1118597 - Re-enable MoofParser for encrypted MP4 streams - r=jya 2015-01-27 18:35:36 +13:00
Jean-Yves Avenard
7cb22b680c Bug 1123507: Prevent out of bound memory access. r=edwin
--HG--
extra : rebase_source : 48c8a833b0b394d0c35754b2311f54e8bf8c5b66
2015-01-20 13:42:30 +11:00