Commit Graph

54 Commits

Author SHA1 Message Date
Sotaro Ikeda
1d3ceeff04 Bug 1306521 - Handle VP9 colorspace BT.709 on BasicCompositor r=nical,jwwang,jya,jrmuizel 2016-10-11 19:46:28 -07:00
Kaku Kuo
fcd9df9127 Bug 1286454 part 1 - remove MediaData::mDiscontinuity; r=jwwang
This member is only assigned but never used now.

MozReview-Commit-ID: IbuAbRaXzc4

--HG--
extra : rebase_source : 166bd3bc7478f725b64b5b2a0e8e258980674d06
2016-08-25 20:30:02 +08:00
Matt Woodrow
f323872778 Bug 1292032 - Clean up VideoData static constructor methods. r=jya
--HG--
extra : rebase_source : e025c9a15ad00e970f9027f72c78b5d6effbc301
2016-08-04 15:31:52 +12:00
Jean-Yves Avenard
5d0a764769 Bug 1288329: [ogg/vorbis] P2. Pass extra information to the decoder so that it can perform proper trimmer. r=gerald,jwwang
The OggReader always passed a complete ogg_packet to the vorbis decoder, ensuring that the right number of frames was be returned. In the conversion to the new architecture, this information got lost making the vorbis decoder always return more frames than normal on the last packet.

MozReview-Commit-ID: HYHxqXfYntJ

--HG--
extra : rebase_source : 3d2a59b011ec1e996ab7aaf29e16baa495f7d31c
2016-07-29 02:19:21 +10:00
Wes Kocher
8f0a108b9a Backed out 6 changesets (bug 1288329) for wpt failures a=backout
Backed out changeset f33cb032cc9f (bug 1288329)
Backed out changeset 49ea83d00a77 (bug 1288329)
Backed out changeset 1406c14098f1 (bug 1288329)
Backed out changeset 936b73eb37c6 (bug 1288329)
Backed out changeset a1c4d9b9de32 (bug 1288329)
Backed out changeset a76b6e559777 (bug 1288329)

--HG--
extra : amend_source : 4e054fc4af62693934a4ae450a9595443b6a961d
2016-07-29 12:36:20 -07:00
Jean-Yves Avenard
eba49ebd1c Bug 1288329: [ogg/vorbis] P2. Pass extra information to the decoder so that it can perform proper trimmer. r=gerald,jwwang
The OggReader always passed a complete ogg_packet to the vorbis decoder, ensuring that the right number of frames was be returned. In the conversion to the new architecture, this information got lost making the vorbis decoder always return more frames than normal on the last packet.

MozReview-Commit-ID: HYHxqXfYntJ

--HG--
extra : rebase_source : 3aa215576fe77357dd9a484626c0e5759aeedb3c
2016-07-29 02:19:21 +10:00
Alfredo Yang
254d49c5f6 Bug 1257107 - discard decoded data if its pts is smaller than seek time. r=jya
MozReview-Commit-ID: 70rbBsor8lp

--HG--
extra : rebase_source : 7f88969e1c5f19aa1651080dd5b1985d0b718592
2016-06-08 10:59:57 +08:00
Jean-Yves Avenard
ef05761a4e Bug 1268929: Limit memory allocated for media to 2GiB max. r=gerald
MozReview-Commit-ID: JGJLZrGFRe2

--HG--
extra : rebase_source : 9821edb3f8acc44e8196ab5d40e20fd639176408
2016-05-03 10:03:18 +10:00
Jean-Yves Avenard
e9b7cf9729 Bug 1265093: Silence CID 1358535. r=gerald
It was a false positive, has mData can only be null if mLength is also 0.

MozReview-Commit-ID: LcPtn49ew6e

--HG--
extra : rebase_source : bf9b7330c310179e63c5c1904808743fc6a67e23
2016-04-20 16:07:16 +10:00
Jean-Yves Avenard
b786ae484f Bug 1248861: P12. Update AudioCompactor to account for alignment padding. r=rillian
MozReview-Commit-ID: 2e9oUthWW4C

--HG--
extra : rebase_source : 30b370fc73e924c71c4f778913bebbace9505455
2016-04-09 21:11:16 +10:00
Jean-Yves Avenard
6409e5ed1a Bug 1248861: P3. Use AlignedAudioBuffer object with AudioData. r=cpearce
MozReview-Commit-ID: 7HiF4eHlRwB

--HG--
extra : rebase_source : e7fd44ced280ccc359f61b7e5668e5481bb7ecb9
2016-04-03 23:09:45 +10:00
Jean-Yves Avenard
24930cd8ab Bug 1248861: P2. Use AlignedByteBuffer with MediaRawData. r=cpearce
MozReview-Commit-ID: BGzpFEAisvE

--HG--
extra : rebase_source : 7140a2d637ffe477db7e050a130ecf7ca6eacb44
2016-04-03 21:05:23 +10:00
Jean-Yves Avenard
c186f77a84 Bug 1248861: P1. Add AlignedBuffer template class. r=cpearce
Along with AlignedByteBuffer and AlignedFloatBuffer

MozReview-Commit-ID: LmGc2JDBETi

--HG--
extra : rebase_source : b1091188870f0cfbfebcacad940504b02bc7c1dc
2016-04-03 19:25:21 +10:00
Alastor Wu
f8cd6def9a Bug 1238906 - part1 : check whether audio data is audible. r=jwwang
--HG--
extra : rebase_source : 46869a13ba565e0af5413cc2bb387e7c7e0c2df8
2016-01-21 10:19:19 +08:00
Sebastian Hengst
9249e58bdf Backed out 2 changesets (bug 1238906) for bustage in M(2) on OSX and Windows. r=bustage
Backed out changeset e729b30ba7b4 (bug 1238906)
Backed out changeset 1857bca40ac4 (bug 1238906)
2016-01-18 13:11:43 +01:00
Alastor Wu
45303164df Bug 1238906 - part1 : check whether audio data is audible. r=jwwang
--HG--
extra : transplant_source : I%CC%AD%125%872%94%D5%0A%5E%08t%0E%22%F0%A9%7E%1EK
2016-01-18 10:50:35 +08:00
Andrea Marchesini
7167daa292 summary: Bug 1231378 - part 5 - Fix uninitialized members of classes in dom/{workers,events,media,canvas}, r=smaug 2016-01-12 18:16:59 +00:00
Carsten "Tomcat" Book
00abd66130 Backed out changeset 6d08ab04a77c (bug 1231378) 2016-01-12 15:48:53 +01:00
Andrea Marchesini
98f16784c5 Bug 1231378 - part 5 - Fix uninitialized members of classes in dom/{workers,events,media,canvas}, r=smaug 2016-01-12 13:57:37 +00:00
Nathan Froyd
ffeb7c7fe3 Bug 1229963 - use UniquePtr<T[]> instead of nsAutoArrayPtr<T> in dom/media/; r=cpearce 2015-12-02 18:07:59 -05:00
Nicolas Silva
1ebb1e2bb7 Bug 1219330 - Handle PlanaYCbCrImage::SetData failure. r=jya, jesup 2015-11-03 12:24:26 +01:00
Nathan Froyd
1f0804852a Bug 1220491 - clarify ownership relationships for creators of AudioData; r=gerald
The way we pass in AudioDataValue arrays into AudioData is non-uniform:
sometimes we have nsAutoArrayPtrs, sometimes we don't, and it's not
immediately obvious from the function signature of the constructor that
we're actually taking ownership of this array.  Let's fix that by using
UniquePtr<AudioDataValue[]> smart pointers to hold the data prior to
creating AudioData values, and for passing in to AudioData's
constructor.  Using standard-er C++ things instead of our homegrown ones
is a good thing.
2015-11-01 17:34:26 -05:00
Nathan Froyd
01583602a9 Bug 1207245 - part 6 - rename nsRefPtr<T> to RefPtr<T>; r=ehsan; a=Tomcat
The bulk of this commit was generated with a script, executed at the top
level of a typical source code checkout.  The only non-machine-generated
part was modifying MFBT's moz.build to reflect the new naming.

CLOSED TREE makes big refactorings like this a piece of cake.

 # The main substitution.
find . -name '*.cpp' -o -name '*.cc' -o -name '*.h' -o -name '*.mm' -o -name '*.idl'| \
    xargs perl -p -i -e '
 s/nsRefPtr\.h/RefPtr\.h/g; # handle includes
 s/nsRefPtr ?</RefPtr</g;   # handle declarations and variables
'

 # Handle a special friend declaration in gfx/layers/AtomicRefCountedWithFinalize.h.
perl -p -i -e 's/::nsRefPtr;/::RefPtr;/' gfx/layers/AtomicRefCountedWithFinalize.h

 # Handle nsRefPtr.h itself, a couple places that define constructors
 # from nsRefPtr, and code generators specially.  We do this here, rather
 # than indiscriminantly s/nsRefPtr/RefPtr/, because that would rename
 # things like nsRefPtrHashtable.
perl -p -i -e 's/nsRefPtr/RefPtr/g' \
     mfbt/nsRefPtr.h \
     xpcom/glue/nsCOMPtr.h \
     xpcom/base/OwningNonNull.h \
     ipc/ipdl/ipdl/lower.py \
     ipc/ipdl/ipdl/builtin.py \
     dom/bindings/Codegen.py \
     python/lldbutils/lldbutils/utils.py

 # In our indiscriminate substitution above, we renamed
 # nsRefPtrGetterAddRefs, the class behind getter_AddRefs.  Fix that up.
find . -name '*.cpp' -o -name '*.h' -o -name '*.idl' | \
    xargs perl -p -i -e 's/nsRefPtrGetterAddRefs/RefPtrGetterAddRefs/g'

if [ -d .git ]; then
    git mv mfbt/nsRefPtr.h mfbt/RefPtr.h
else
    hg mv mfbt/nsRefPtr.h mfbt/RefPtr.h
fi

--HG--
rename : mfbt/nsRefPtr.h => mfbt/RefPtr.h
2015-10-18 01:24:48 -04:00
James Cheng
6930bc717c Bug 1203047 - Make MediaDecoderReader know less about AudioData/VideoData by using MediaData instead. r=jya
--HG--
extra : rebase_source : 928721bb5a8669445725cab86e43be002f38c88a
2015-09-10 03:06:00 +02:00
Karl Tomlinson
ea84d39947 bug 962719 use unsigned ints for FrameID and ProducerID for defined overflow behavior r=roc
--HG--
extra : rebase_source : 0375f04a60a548975547b80e60e5cf5dada2f86f
2015-08-12 11:02:41 +12:00
Jean-Yves Avenard
34f14685e5 Bug 1190258: [MSE] P3. Use actual allocated size rather than logical size when calculating eviction rate. r=gerald
This makes eviction slightly more aggressive and ensure we are actually under the memory threshold.
2015-08-06 18:48:45 +10:00
Jean-Yves Avenard
2517b3c491 Bug 1190258: P2. Don't use a FallibleTArray as backend for MediaRawData. r=njn
MediaRawData is often kept to store small data that is unlikely to change over the lifetime of the MediaRawData.
The use of nsTArray as memory backend comes at a cost of much greater memory allocated than required.

Additionally, a MediaRawData was configured to allocate a minimum size of 4kiB.
While this made sense for our past use of MediaRawData, the new MSE keeps big arrays of them to keep audio and video samples.
Combined with the nsTArray overheads, our actual memory use was 22 times greater than thought.
A source buffer allow 100MiB worth of samples, resulting in an actual memory usage of 2.2GiB.
2015-08-06 18:48:45 +10:00
Jean-Yves Avenard
8c8e3b2a70 Bug 1190258: P1. Use getter to access MediaRawData mData and mSize member. r=cpearce 2015-08-06 18:48:44 +10:00
Bobby Holley
97b9240b34 Bug 1188696 - Hoist nsRefPtr.h into MFBT. r=froydnj 2015-07-29 10:44:59 -07:00
Kilik Kuo
a3e974ad80 Bug 1186367 - Make MDSM more ignorant of AudioData/VideoData via using MediaQueue<MediaData> instead. r=jwwang 2015-07-28 00:21:33 +08:00
Jean-Yves Avenard
ba9653671f Bug 1184429: P2. MediaResource::SilentReadAt to read from cache first. r=jwwang
In practice, it will always read from the cache. This allows SilentReadAt to really be silent and prevent unecessary NotifyDataArrived callbacks.
2015-07-17 19:38:09 +10:00
Birunthan Mohanathas
a8939590de Bug 1182996 - Fix and add missing namespace comments. rs=ehsan
The bulk of this commit was generated by running:

  run-clang-tidy.py \
    -checks='-*,llvm-namespace-comment' \
    -header-filter=^/.../mozilla-central/.* \
    -fix
2015-07-13 08:25:42 -07:00
Robert O'Callahan
75aeccfacf Bug 1143575. Add frame IDs to VideoData. r=cpearce
--HG--
extra : commitid : 5ijlvDzuKRq
extra : rebase_source : fc0c82ca6f5c5a2bb9f9f06f86a8e295aea7438d
2015-06-07 12:34:00 +03:00
Robert O'Callahan
b5074af667 Bug 1143575. Keep currently-rendered frame at the front of the video queue. r=cpearce
This makes normal playback consistent with the buffering state, which already
does this. We'll also need this when we handle multiple images, because then
we need to hande the entire queue of images to the ImageContainer without
pulling any of them off the queue.

--HG--
extra : commitid : B1zt05nhVn6
extra : rebase_source : af8a411f5f9be9d3a8c15633b2c4ad446be6d13f
2015-07-03 19:29:30 +12:00
Robert O'Callahan
c3252e17f5 Bug 1143575. Remove Theora-only duplicate frame optimization. r=cpearce
--HG--
extra : commitid : 6kaBElgTmcX
extra : rebase_source : 12941907af16da54a4db81ff82892bedc0b2653f
2015-03-28 10:53:37 +13:00
Jean-Yves Avenard
16649c81d5 Bug 1171314: P1. Add SharedTrackInfo object. r=cpearce 2015-06-19 16:45:14 +10:00
Bobby Holley
d2949f85ca Bug 1163223 - Adjust incoming samples for start time. r=jww 2015-06-16 15:08:35 -07:00
Bobby Holley
d9860a80b4 Bug 1163223 - Introduce StartTimeRendezvous and route samples through it. r=jww
No sample adjusting is done yet - this just makes the data available.
2015-06-16 15:08:30 -07:00
Wes Kocher
f45cfb1d2d Backed out 8 changesets (bug 1163223) for getting in the way of me backing out f46a712edf7e
Backed out changeset c1b33c43f0c5 (bug 1163223)
Backed out changeset a7ee6eb45f62 (bug 1163223)
Backed out changeset b2e10f194455 (bug 1163223)
Backed out changeset 9e7651567cad (bug 1163223)
Backed out changeset 20e25e93ed5f (bug 1163223)
Backed out changeset 5193508738f8 (bug 1163223)
Backed out changeset aea6b8d15318 (bug 1163223)
Backed out changeset 7b6804398fc3 (bug 1163223)
2015-06-16 14:47:50 -07:00
Bobby Holley
e78f41ef02 Bug 1163223 - Adjust incoming samples for start time. r=jww 2015-06-16 13:00:00 -07:00
Bobby Holley
06087fe59c Bug 1163223 - Introduce StartTimeRendezvous and route samples through it. r=jww
No sample adjusting is done yet - this just makes the data available.
2015-06-16 12:59:57 -07:00
Birunthan Mohanathas
04a761af4f Bug 1174220 - Part 3: Remove MediaLargeByteBuffer. r=jya 2015-06-14 21:37:13 -07:00
Birunthan Mohanathas
2d96c72f58 Bug 1174220 - Part 2: Use MediaByteBuffer instead of MediaLargeByteBuffer. r=jya
All MediaLargeByteBuffer calls already include the `mozilla::fallible`
parameter so we can safely replace MediaLargeByteBuffer with MediaByteBuffer.
2015-06-14 21:37:13 -07:00
Birunthan Mohanathas
61b1dc8e69 Bug 1174220 - Part 1: Remove capacity constructor of MediaLargeByteBuffer. r=jya 2015-06-14 21:37:13 -07:00
Jean-Yves Avenard
52a7a65989 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.

--HG--
extra : rebase_source : 809221de3e5bde540bd40406f061f3865e4c4f00
2015-04-15 15:27:38 +10:00
Jean-Yves Avenard
0d5cf79b96 Bug 1153049: Part2. Fix const-ness. r=cpearce
--HG--
extra : rebase_source : 7a9fad13436126356ab20116ca40055d2ec51d77
2015-04-14 15:15:46 +10:00
Jean-Yves Avenard
ea02e1a1f5 Bug 1152658: Use MediaRawDataWriter to access MediaRawData::mCrypto. r=cpearce
--HG--
extra : rebase_source : 20332ef7e99c0183d219c0b1b739aae24f35d907
2015-04-14 15:15:46 +10:00
Jean-Yves Avenard
aa270b640c Bug 1152652: Part1. Use mStandardMozillaStyle for crypto classes. r=edwin 2015-04-09 21:14:56 +10:00
Jean-Yves Avenard
a441d92aa3 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
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