Commit Graph

502 Commits

Author SHA1 Message Date
Paul Adenot
abac115f81 Bug 1237557 - Suppress the exception if calling the callback fails when finishing a decodeAudioData operation, because there is not much we can do. r=ehsan
--HG--
extra : commitid : B4I1BhYOaBn
2016-01-07 16:58:39 +01:00
Dan Minor
12fd2984bf Bug 1105513 - Add a NEON version for AudioBlockPanStereoToStereo when aIsOnTheLeft is an array r=padenot
--HG--
extra : rebase_source : 9905b14962aec450f3b439026124d05e4b4accf3
2015-12-17 13:15:54 -05:00
Karl Tomlinson
70874c9c94 bug 1223670 make SetMozAudioChannelType() private because the type will not change after construction r=baku
--HG--
extra : rebase_source : 0ea51bcec4b7fb9833ffd120b6312a8806a0b35e
2015-12-04 01:18:11 +13:00
Karl Tomlinson
b51dbbde34 bug 1223670 throw not supported when creating a node from a stream with different channel r=baku
--HG--
extra : rebase_source : d481a95731d7b9203d7ea33db57276fd4176f3da
2015-12-10 10:51:02 -05:00
Karl Tomlinson
4c7f0b9c22 bug 1223670 replace public constructors with fallible factory methods r=baku
--HG--
extra : rebase_source : ae9bc2fbaf1fd547c7355b642b45b9ef062cff25
2015-12-10 11:25:54 -05:00
Alastor Wu
f0d62419f0 Bug 1228564 - part 2 : check audio capturing when the agent is registered/unregistered. r=baku. 2015-12-24 17:28:45 +08:00
Alastor Wu
6a38526a4d Bug 1228564 - part 1 : revert the changeset of bug 1190040. r=baku. 2015-12-24 17:17:30 +08:00
Sebastian Hengst
3c1eb47e3a Backed out changesets 961f205d340d, 14a4637e9d96 and 14a4637e9d96 (bug 1228564) for failing Android M(4) test_browserElement_inproc_AudioChannel.html. r=backout 2015-12-27 22:28:08 +01:00
Alastor Wu
7ff9329b36 Bug 1228564 - part 2 : check audio capturing when the agent is registered/unregistered. r=baku.
--HG--
extra : commitid : B7NcXGTFGrv
2015-12-24 17:28:45 +08:00
Alastor Wu
b4cb129af1 Bug 1228564 - part 1 : revert the changeset of bug 1190040. r=baku.
--HG--
extra : commitid : JZF4VU0qxpg
2015-12-24 17:17:30 +08:00
Julian Seward
7f3e3b8977 Bug 1232326 - Uninitialised value use in AudioBufferInPlaceScale. r=dminor.
--HG--
extra : rebase_source : 608cb061bb6da051dd781ff6fdbbdb5ec8e1cc6d
2015-12-16 17:36:21 +01:00
Bogdan Postelnicu
76c1720d24 Bug 1232646 - initialize 3 variables: mCurve, mTimeConstant, mDuration. r=cpearce
--HG--
extra : rebase_source : 3a0899948c5bddfab76af0de03e85484156f416b
2015-12-15 05:21:00 +01:00
Bogdan Postelnicu
ac6c0718c7 Bug 1231124 - addded mCurve to constructor. r=smaug 2015-12-09 00:00:00 +01:00
Boris Zbarsky
602de001f4 Bug 1230692. Fix WebAudioDecodeJob to properly suppress exceptions from its callbacks. r=ehsan 2015-12-07 18:42:11 -05:00
Chris Peterson
46bb7c80dd Bug 1228947 - Replace mfbt/Constants.h with math.h. r=roc
--HG--
extra : rebase_source : 4ab2c4a917ea90055e48bd6adcb53904f2266ee0
2015-11-27 20:49:55 -08: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
Dan Minor
57ace7e27d Bug 1222405 - (part 3) Build band limited tables lazily r=padenot
This builds the band limited tables for each range index individually as
required.

--HG--
extra : rebase_source : 022665e3b83b82bcdcec3cabf3ddda9c2dce2ebf
2015-11-27 15:01:28 -05:00
Dan Minor
5c9b087388 Bug 1222405 - (part 2) Build band limited tables after fundamental frequency is known r=padenot
If we build the band limited tables after the fundamental frequency is known,
we can exclude partials that are above the nyquist frequency for the sampling
frequency being used.

We rebuild the band limited tables each time we see a request for data for a
lower fundamental frequency so we have the required partials.

--HG--
extra : rebase_source : 067075c7c8a90580650bf850c50ca7d8fc1eb6ff
2015-11-13 11:17:39 -05:00
Dan Minor
eec8d40aad Bug 1222405 - (part 1) Store PeriodicWave components for later use r=padenot
We need to store the components used to create the PeriodicWave for later use
if we want to be able to build the band limited tables lazily.

--HG--
extra : rebase_source : d760433e6fe5490a60da761be7e2148a6504d20d
2015-11-12 10:40:45 -05:00
Nathan Froyd
c381a6b86c Bug 1218454 - part 2 - don't #include nsContentUtils.h from CallbackObject.h; r=bz
We used to need nsContentUtils.h here for nsCxPusher, but since that got
moved to ScriptSettings.h, we no longer need nsContentUtils.h for
anything.
2015-10-26 12:14:47 -04:00
Lars T Hansen
b62493634b Bug 1176214 - Part 11: Changes to DOM, except for WebGL. r=bz, r=clb
--HG--
extra : rebase_source : 9c9d3f493822d68be20597d9974292ed5ec4ab70
2015-11-25 19:04:50 +01:00
JW Wang
e4cbe0c128 Bug 1228939 - 1. add mSeekable to MediaInfo. 2. use MediaEventSource to notify the decoder when the media is not seekable. 3. remove unused code. r=jya. 2015-12-02 15:42:32 +08:00
Nicholas Nethercote
ddc78c3b0c Bug 1229458 - Remove SizeOfIncludingThisMustBeUnshared() from string classes. r=mccr8.
The patch changes all uses of SizeOfIncludingThisMustBeUnshared() to
SizeOfIncludingThisIfUnshared(). This incurs the (tiny) cost of an unnecessary
IsReadonly() check for guaranteed-unshared strings, but avoids the possible
assertion failures that would occur when MustBeUnshared() was used incorrectly
on shared strings, which is an easy mistake to make.

--HG--
extra : rebase_source : b1e91f1c19bcbe0521b0ce461d6c90512ca938ef
2015-12-01 15:36:26 -08:00
Karl Tomlinson
b0b63d25cd bug 1227411 add logging of AudioParam API use r=padenot
--HG--
extra : rebase_source : 5399d15dc0e81c5745c2952e39d3d74ba6ce08c4
2015-11-24 18:08:13 +13:00
Karl Tomlinson
3e2ffb81fd bug 1227411 add some initial logging of AudioNode API use r=padenot
--HG--
extra : rebase_source : 9ffb6c3da3468b305d31f7d907a674671674611f
2015-11-24 15:55:10 +13:00
Karl Tomlinson
c95ab76c6c bug 1227411 add WEB_AUDIO_API_LOG r=padenot
--HG--
extra : rebase_source : c27e117a0a6af5fe8913dabb656842281643ecc4
2015-11-24 12:48:17 +13:00
Chris Pearce
cea22429d5 Bug 1226450 - Report audio/video codecs used in HTMLMediaElement and WebAudio via telemetry. r=jya 2015-11-25 12:52:48 +13:00
JW Wang
328ebd72a1 Bug 1226569. Part 1 - Use MediaEventSource to publish MetadataLoaded and FirstFrameLoaded events. r=jya. 2015-11-23 10:35:18 +08:00
JW Wang
b194bb0f80 Bug 1219163. Part 2 - Move some functions that are never called from the interface of AbstractMediaDecoder down the class hierarchy. r=jya. 2015-11-23 10:26:49 +08:00
JW Wang
a7be18a6e3 Bug 1219163. Part 1 - Remove unused functions from AbstractMediaDecoder. r=jya. 2015-11-23 10:19:04 +08:00
Karl Tomlinson
b859c7f93d bug 1222202 implement query interface to nsIMemoryReporter r=bz
--HG--
extra : rebase_source : 5920d3df2b4629bc379959011a5d2a971776311d
2015-11-16 13:08:21 +13:00
Karl Tomlinson
50201f89c3 bug 1225003 test no crashes in decodeAudioData() and offline context memory reporting r=erahm
--HG--
extra : rebase_source : d7c0389512088d5b308a7f0ad9f667e36aaad3f2
2015-11-18 10:52:35 +13:00
Karl Tomlinson
dbdd106a64 bug 1225003 null-check mBuffer in SizeOfExcludingThis() r=padenot
--HG--
extra : rebase_source : b8b63f861e2d58d4b45a4d4ec3d7c187afc882b6
2015-11-17 08:58:48 +13:00
Karl Tomlinson
bc68ee1302 bug 1223520 avoid leaking NaNs to and from the otherwise unused imaginary frequency components r=padenot
The zeroth component is not removed from the BufferComplexMultiply() call so
as not to disrupt alignment.

The mOutputBuffer[halfSize].i assertions are removed because the code no
longer uses these components, and so their values are irrelevant.

--HG--
extra : rebase_source : 96014bdb66a86e1d764979f7b1a313c24196a60b
extra : histedit_source : 59ef41301d48a7f80798d8dbecc43aa85703c26f
2015-11-11 20:34:41 +13:00
Karl Tomlinson
9c3d0ed0df test for bug 1223520 r=padenot
--HG--
extra : rebase_source : 126c624ab62c82bddb45141ea2f8f7e7446f521e
extra : histedit_source : 4b2ba424644f0ab5493de4978ca9170b5ece4be1
2015-11-12 12:16:32 +13:00
Karl Tomlinson
f9ed76a4de bug 1224102 reduce the size of the final FFT convolution stage if possible r=padenot
--HG--
extra : rebase_source : 18d699f2710d9094811e0d734bcb1cf085c147c6
extra : histedit_source : 0393d5f2d3251aae45f07473e103c026921054bc
2015-11-12 17:34:13 +13:00
JW Wang
8dedbfa33d Bug 1223599 - Remove the throttling argument from AbstractMediaDecoder::NotifyDataArrived(). r=jya. 2015-11-11 17:59:16 +08:00
Dan Minor
229f2b76cc Bug 1171436 - support at least 8192 elements for PeriodicWave r=padenot
This increases the maximum PeriodicWave size to 8192 and adds an optimization
to use 8192 elements only in the case where we receive more than 4096
components. In accordance with the spec, a maximum number of components is no
longer enforced.

--HG--
extra : rebase_source : ecb9a401fabdb14f23f690c44944ece434599055
2015-10-27 22:05:47 -04:00
JW Wang
4f2d0e76bc Bug 1220558. Part 1 - remove unused arguments from MediaDecoderReader::DispatchNotifyDataArrived() and its callees/callers. r=jya. 2015-11-11 07:43:38 +08:00
Carsten "Tomcat" Book
4d6f05d2f8 merge mozilla-inbound to mozilla-central a=merge 2015-11-09 14:55:30 +01:00
Gregor Wagner
96837db759 Bug 1222478 - Enable more mulet tests. r=gerard-majax 2015-11-06 20:01:45 +01:00
Karl Tomlinson
de1e2244a1 bug 1221836 return output pointer from FFTConvolver::process() to save a buffer copy r=padenot
--HG--
extra : rebase_source : 99568b7c3095f44a061f783cefd5d6cbeebfa496
2015-11-04 21:23:18 +13:00
Karl Tomlinson
754b0bf4f3 bug 1221833 remove now-unused direct convolver r=padenot
--HG--
extra : rebase_source : 648461a4d49b58d72eb18826b4cd43f62230852b
2015-11-04 09:21:45 +13:00
Karl Tomlinson
9211c999d3 bug 1221833 remove first two half-block-size convolver stages r=padenot
Efficiency is proportional to stage size, so start with the largest size
possible.

--HG--
extra : rebase_source : 34915efce1eb94e18f53adf35dc939301242467a
2015-11-04 09:02:57 +13:00
Karl Tomlinson
3bc589b269 bug 1221833 replace initial direct convolution stage with fft r=padenot
--HG--
extra : rebase_source : 2cc20db26a95b56683d24853622fbe3cac016b45
2015-11-04 08:40:12 +13:00
Karl Tomlinson
02e971d1d8 bug 1221833 reduce FFTConvolver latency by one block r=padenot
--HG--
extra : rebase_source : 1bf6b117a8d50717c04bb6f149bd16e2fc86976a
2015-11-04 06:32:49 +13:00
Karl Tomlinson
3a15f3bba0 bug 1221830 double maximum realtime convolver stage size to 2048 r=padenot
Now, the most FFT work that happens during one realtime processing block is
when one 2048-size stage and the 256-size stage are performed at the same
phase-offset.  Before FFT timing was controlled by initial input buffer offset
(bug 1221831), two 1024-size stages as well as the 512- and 256-size stages
performed FFTs at one offset.  Thus, the maximum work in one block is reduced
by a ratio of about 11 to 9.

Measurements also indicate a similar reduction in total rendering thread
CPU usage.

Previously the alignment of the eleven 1024-size realtime stages was such
that, in three consecutive blocks, two 1024-size stages would peform their
FFTs.  Now, the 2048-size stages is aligned so that none of these perform
their FFTs in consecutive blocks.

--HG--
extra : rebase_source : 7265374c1642661db1d4f4d630ddc8294be689c7
2015-11-04 11:46:21 +13:00
Karl Tomlinson
fe5dd59db9 bug 1221830 use WEBAUDIO_BLOCK_SIZE constant in FFTConvolver r=padenot
--HG--
extra : rebase_source : 08b570d5f6f2f3d121706867935253c9d898dd55
2015-11-04 07:39:41 +13:00
Karl Tomlinson
8f7fd34a0b bug 1221830 use WEBAUDIO_BLOCK_SIZE slice size for background convolver thread r=padenot
as with the main thread.

The comment was incomplete as ReverbConvolverStage also supports multiples of
the FFT halfsize, but only values up to WEBAUDIO_BLOCK_SIZE.

--HG--
extra : rebase_source : 34f11834dd425075e8948f47dcc5283dcb50fc42
2015-11-03 16:36:53 +13:00
Karl Tomlinson
0c21da20ee bug 1221830 use WEBAUDIO_BLOCK_SIZE constant in Reverb methods r=padenot
--HG--
extra : rebase_source : b7e18f2aa4abf271f45428efac16ee1e703a6652
2015-11-03 16:35:32 +13:00