Commit Graph

1091 Commits

Author SHA1 Message Date
Paul Adenot
5b3025f021 Bug 1308436 - Remove test_audioParamSetCurveAtTimeTwice.html because it's now wrong per spec. r=karlt
Differential Revision: https://phabricator.services.mozilla.com/D4108

--HG--
extra : rebase_source : 96cf54b6b5fb9a03475fe68fa5b4ef8c2e92b34f
extra : histedit_source : 7e0f47ac83c9652616959a9637ff96f32744df4d
2018-08-23 17:55:15 +02:00
Paul Adenot
7a16eb0d00 Bug 1308436 - Remove TestAudioEventTimeline.cpp. r=karlt
It's too difficult to maintain, obsolete and also it duplicates the
functionnality of wpt.

Differential Revision: https://phabricator.services.mozilla.com/D3791

--HG--
extra : rebase_source : 2ccc77b285c41835e1675713c2cc126d93cfd458
extra : histedit_source : cefb7f2953974f33517e5d9ce4d8512ff4504ebe
2018-08-14 18:45:14 +02:00
Paul Adenot
c41b903b7d Bug 1308436 - Remove test_audioParamSetCurveAtTimeZeroDuration.html. r=karlt
Per spec, it should throw. This is tested in WPT.

MozReview-Commit-ID: InzdbPQM6HD

Differential Revision: https://phabricator.services.mozilla.com/D4102

--HG--
extra : rebase_source : 93375f207421da4516602d6cf906646f46d1e231
extra : intermediate-source : 99c42ce2ef78153de0833290359754ad868e8880
extra : source : a4f09a4ad0dc6674c63e3e472124982dbeee119e
extra : histedit_source : 336aa11195357051231258fe829fc48a29defe48
2018-07-30 13:54:18 +02:00
Paul Adenot
98c8da7b4d Bug 1308436 - Adjust the AudioParam processing algorithm to match the spec. r=karlt
Ramps now take into account the end of the curve as a start value for their
automation.

Differential Revision: https://phabricator.services.mozilla.com/D3792

--HG--
extra : rebase_source : 9fc040d74bfb3bfba7aaa95d4c722edf97e1c056
extra : histedit_source : a001de094b00780ec215d77dc7629ccb44080f8e
2018-08-22 18:47:03 +02:00
Paul Adenot
83a34955ff Bug 1308436 - Rework the AudioParam event insertion algorithm to be spec compliant, and fix the exception types and values. r=karlt
Differential Revision: https://phabricator.services.mozilla.com/D4099

--HG--
extra : rebase_source : 544851135e077877e17361d8ea849090793c6509
extra : histedit_source : 94ab8b3f17f3cf38c8eca897b436e9172977ac66
2018-08-22 18:46:50 +02:00
Paul Adenot
44267d690f Bug 1308436 - Don't convert the curve duration from double to float in the EventInsertionHelper to avoid losing precision. r=karlt
MozReview-Commit-ID: 9vazrYi3J8C

Differential Revision: https://phabricator.services.mozilla.com/D4097

--HG--
extra : rebase_source : 393b828f4f43ad520aee9912af06e6215c6fce0a
extra : intermediate-source : fbc877e07d2866a85dba04a611e43441471f9364
extra : source : 938bc46cfb426d8c5f36934af894d430c7645e9c
extra : histedit_source : 254e87ff67fe76adb02d77be2c456dec0bd08401
2018-07-26 14:26:57 +02:00
Karl Tomlinson
8f279eaba8 Bug 1484046 reset variables for main thread buffer dropping logic on the same thread r=padenot
Differential Revision: https://phabricator.services.mozilla.com/D3580

--HG--
extra : moz-landing-system : lando
2018-08-17 12:24:51 +00:00
Karl Tomlinson
298f16043a Bug 1483174 use float constants with float delay time variables r=padenot
Differential Revision: https://phabricator.services.mozilla.com/D3396

--HG--
extra : moz-landing-system : lando
2018-08-16 11:09:03 +00:00
Tiberius Oros
246f2b4fab Merge inbound to mozilla-central. a=merge 2018-08-17 00:32:50 +03:00
Paul Adenot
96df0fd394 Bug 1478837 - Reinstate a few Web Audio API tests in the mochitest directory. r=karlt
MozReview-Commit-ID: 6Bqjuj1BwAJ

--HG--
extra : rebase_source : d2163747ec487e4bf521a27ecd95670125d5555a
2018-08-14 12:10:00 +02:00
Karl Tomlinson
7e758c3e77 bug 1474470 support convolution of stereo input with a mono impulse response buffer r=padenot
This initial implementation does twice the necessary processing for mono input,
but that will be addressed in bug 1474222.

MozReview-Commit-ID: AZQ7Zb8jEtK

--HG--
extra : rebase_source : 9feeb254217dc4e14b78cb03315fb948e3477a16
2018-08-16 09:59:05 +12:00
Karl Tomlinson
7b02c4debb bug 1480661 use single precision for operating on delay values r=padenot
These are derived from single precision AudioParam values
and so there is little to gain from using double.

double has the disadvantage that values intended to be integer
frame counts are less likely to be integer. e.g.

(rr) print ((float)(128.0/48000.0))*48000.f
$91 = 128
(rr) print ((float)(128.0/48000.0))*48000.0
$92 = 127.99999862909317
(rr) print ((float)(128.0/44100.0))*44100.f
$93 = 128
(rr) print ((float)(128.0/44100.0))*44100.0
$94 = 127.99999765120447
(rr) print ((float)(768.0/48000.0))*48000.f
$95 = 768.000061
(rr) print ((float)(768.0/48000.0))*48000.0
$96 = 768.0000364780426
(rr) print ((float)(768.0/44100.0))*44100.f
$97 = 768
(rr) print ((float)(768.0/44100.0))*44100.0
$98 = 768.00002697855234

MozReview-Commit-ID: FlmZJeBjUYY

--HG--
extra : rebase_source : 5c4f4a68383468c6afd15de43526eae42b01154b
2018-08-06 10:18:24 +12:00
Karl Tomlinson
db85c1ab25 bug 1480661 remove unused mCurrentDelay r=padenot
MozReview-Commit-ID: 4EIeOE769Ne

--HG--
extra : rebase_source : 9e4116d4e0487af003b30fcc163b3a8495f541d0
2018-08-02 18:37:49 +12:00
Karl Tomlinson
e423d1dd0f bug 1480661 move DelayNode channelCount test to wpt r=padenot
MozReview-Commit-ID: 9RUVk4dMW6g

--HG--
rename : dom/media/webaudio/test/test_delaynode-channel-count-1.html => testing/web-platform/tests/webaudio/the-audio-api/the-delaynode-interface/delaynode-channel-count-1.html
extra : rebase_source : e660fbf78d2605f356211b26ba81cfb8c333189e
2018-08-06 09:38:19 +12:00
Karl Tomlinson
c9e4bfc724 bug 1480661 add test for DelayNode channelCount r=padenot
MozReview-Commit-ID: D6JbCa3Gsmr

--HG--
extra : rebase_source : 2c1709799fde00c0ac8a4428b16aa58dbef019d0
2018-08-01 12:18:09 +12:00
Karl Tomlinson
d70e1cc5fa bug 1480661 avoid reading channel count of most recent delay buffer input when reading samples at max delay r=padenot
When maxDelay was mMaxDelayTicks and these were an integer multiple of block
size, the +1 for determining oldestChunk was enough to wrap around the buffer
and find the most recent chunk, which may have a different channel count to
that of the oldest.

MozReview-Commit-ID: KakFeGzuvsW

--HG--
extra : rebase_source : 51c2ab1dffb7ffa9e941b06e379eacacfaa6904a
2018-08-02 17:36:05 +12:00
Karl Tomlinson
522bb0c752 bug 1474222 test ConvolverNode channelInterpretation changes r=padenot
MozReview-Commit-ID: 9s7ozdSRofY

--HG--
extra : rebase_source : b771f901c1c0a6e4c598818dd80ad8517375ccd6
2018-08-06 20:59:37 +12:00
Karl Tomlinson
2ad6f2ea42 bug 1474222 move convolver up-mixing test to wpt r=padenot
MozReview-Commit-ID: ItbXaY2GCrF

--HG--
rename : dom/media/webaudio/test/test_convolver-upmixing-1-channel-response.html => testing/web-platform/tests/webaudio/the-audio-api/the-convolvernode-interface/convolver-upmixing-1-channel-response.html
extra : rebase_source : becc3e3b8df9cd9b99fb29c642ec6848cd7830ba
2018-08-06 09:31:40 +12:00
Karl Tomlinson
09c58a5f32 bug 1474222 test ConvolverNode up-mixing r=padenot
MozReview-Commit-ID: GZVe85depAj

--HG--
extra : rebase_source : e65cea213bc8582c54ecfe9f995928b4c05a443c
2018-07-27 20:03:39 +12:00
Karl Tomlinson
7ee8880ce6 bug 1474222 change ConvolverNode output to mono for single channel convolution r=padenot
This also returns to using a single convolver for processing of mono input,
which introduces complexity in up-mixing the state of the convolver when a
second channel is added.

MozReview-Commit-ID: KeBrAswQbtF

--HG--
extra : rebase_source : d793bd967e0291069e4e6cc418de53c4b4cf3253
2018-08-06 21:24:15 +12:00
Karl Tomlinson
53de4f8c06 bug 1474222 consider allocation size instead of used channel count for re-using AudioBlockBuffer r=padenot
MozReview-Commit-ID: CgA051giSTU

--HG--
extra : rebase_source : 22d06a101a1c08d399de99bcd3477f1ff9ba3880
2018-08-03 18:32:28 +12:00
Karl Tomlinson
095ab44cad bug 1474222 keep memory allocated for convolver volume premultiplication until no longer required r=padenot
MozReview-Commit-ID: D3cfKjp0lwi

--HG--
extra : rebase_source : a8e948b758ab0b8c222c33340783c2527ddfbf15
2018-07-16 19:33:35 +12:00
Karl Tomlinson
e0496cfa3b bug 1474222 uninline ConvolverNodeEngine::ProcessBlock() r=padenot
MozReview-Commit-ID: tbuG2AQJoC

--HG--
extra : rebase_source : fd6aeca490b3a9ed1fb116abd25e8d0199802cca
2018-07-16 19:22:15 +12:00
Jan de Mooij
0090285015 Bug 1480678 part 12 - Do a CheckedUnwrap in AudioContext::DecodeAudioData to ensure we don't have a CCW. r=bz
Note that right now aBuffer.Obj() will never be a cross-compartment wrapper anyway, because that can only happen when we're calling a WebIDL constructor, and this is not a constructor.
2018-08-09 10:48:29 +02:00
Karl Tomlinson
9687fa6c7d bug 1476231 switch FFTBlock from libav to ffvpx r=jya
This results in a speed improvement of about 6% on the "Convolution reverb"
webaudio-benchmark (measured with Linux x86_64 build on Skylake).

MozReview-Commit-ID: 94W6h3qE1tB

--HG--
extra : rebase_source : f6fe4f3fa0338a90a1e389450134027d9389af09
2018-07-14 14:44:43 +12:00
Jan de Mooij
80adc67aba Bug 1478955 part 1 - Rename JSAutoRealm to JSAutoRealmAllowCCW. r=luke 2018-07-28 12:12:26 +02:00
Paul Adenot
cc16352f8d Bug 1414366 - Take into account start and end time when processing ConstantSource output. r=karlt
MozReview-Commit-ID: IA5sjDTP1t5

--HG--
extra : rebase_source : 056c0bd1e67baf0b42b2d3fe3a67a98b4c3c5fa7
2018-07-19 17:59:19 +02:00
Paul Adenot
9fba355645 Bug 1414366 - Don't assume aStart is aligned on block boundary in AudioParamTimeline::GetValuesAtTime. r=karlt
MozReview-Commit-ID: JQoDwVPQ2s6

--HG--
extra : rebase_source : f9d653ca530a54f310c915d8745de1266cabb71a
2018-07-19 17:58:35 +02:00
Paul Adenot
d097a302f8 Bug 1477704 - r=karlt
--HG--
extra : rebase_source : 165ea665512f8119efd4c9b34aa3efb38a8910d6
2018-07-23 16:47:44 +02:00
Brian Hackett
ea6ebf1b6e Bug 1207696 Part 6a - Disable media elements when recording or replaying, r=jesup.
--HG--
extra : rebase_source : 10a1178dca996839da8496036196e7018d517787
2018-07-23 14:41:26 +00:00
Paul Adenot
65c5379bb6 Bug 1476744 - Pull values from the AudioListener when computing PannerNode values. r=karlt
MozReview-Commit-ID: KiaLegWHOZV

--HG--
extra : rebase_source : 92d8d9644157a1eceb5638ed6ef10a4f1bfa0a15
2018-07-17 12:01:24 +02:00
Paul Adenot
c0f386b1a6 Bug 1148354 - Remove the tests related to the doppler effect from mochitests. r=karlt
MozReview-Commit-ID: 7DZy9ySQrTc

--HG--
extra : rebase_source : aae5a0e6ac2fa5a6f4d13dda75a22db85be1560f
2018-07-17 10:04:33 +02:00
Paul Adenot
fa9c6503ab Bug 1148354 - Remove the doppler effect from the PannerNode. r=baku,karlt
MozReview-Commit-ID: 8aGlRTt77Bv

--HG--
extra : rebase_source : cfc3e9112d54e62b576a508c084df923c10bacdd
2018-07-19 11:19:29 +02:00
Andreea Pavel
98338c6ff5 Backed out 4 changesets (bug 1476744, bug 1148354) for failing android at http://10.0.2.2:8854/tests/dom/media/test/crashtests/doppler-1.html on a CLOSED TREE
Backed out changeset 0ae34db4c34f (bug 1476744)
Backed out changeset 97d89ba5f93d (bug 1148354)
Backed out changeset d9174c023701 (bug 1148354)
Backed out changeset b4085dba45c5 (bug 1148354)
2018-07-20 17:13:20 +03:00
maxLanglade
7292f5dbd0 Bug 1413284 - A RangeError exception is thrown if start/stop is called with a out of range param r=padenot
MozReview-Commit-ID: G65bFgMu10D

--HG--
extra : rebase_source : e2a4f44072d568c5960994f330bb9550bc05830e
2018-07-18 21:32:14 +02:00
Paul Adenot
39fa812acf Bug 1476695 - Return minimum and maximum 32bits float for AudioParam.{minValue,maxValue} that used to return infinity. r=karlt
MozReview-Commit-ID: 2eDNA3HU1j5

--HG--
extra : rebase_source : 55c4952a9f80a1bdba65c74e818c8bf9c1e4b2d5
2018-07-16 17:56:16 +02:00
Paul Adenot
cd897cd542 Bug 1476744 - Pull values from the AudioListener when computing PannerNode values. r=karlt
MozReview-Commit-ID: KiaLegWHOZV

--HG--
extra : rebase_source : 92d8d9644157a1eceb5638ed6ef10a4f1bfa0a15
2018-07-17 12:01:24 +02:00
Paul Adenot
55c4d21c1e Bug 1148354 - Remove the tests related to the doppler effect from mochitests. r=karlt
MozReview-Commit-ID: 7DZy9ySQrTc

--HG--
extra : rebase_source : 38a20e4411807bd0554b9bc26fd44ebfee18c090
2018-07-17 10:04:33 +02:00
Paul Adenot
5a67ba5c59 Bug 1148354 - Remove the doppler effect from the PannerNode. r=baku,karlt
MozReview-Commit-ID: 8aGlRTt77Bv

--HG--
extra : rebase_source : c566708f275949908afe75f4fd0066b1b3e6bfc5
2018-07-19 11:19:29 +02:00
Dale Harvey
c9e5e7c554 Bug 1470082 - Change autoplay checkbox to combobox. r=cpearce,flod,johannh
MozReview-Commit-ID: E71TxvgfJlJ

--HG--
extra : rebase_source : 30ca63df77e48a44de4d3e90182440c3937ed32f
2018-06-29 14:14:33 +01:00
Paul Adenot
1e98c50388 Bug 1456271 - Ajust tests to reflect the alignment to the spec. r=padenot
Both for mochitest (simply an expectation adjustment), and in mochitest (align
with the code).

MozReview-Commit-ID: 2UIq4zrcd02

--HG--
extra : rebase_source : 1858e73b3ad89aade3219ee8556c653c55c85bed
2018-07-16 15:04:11 +02:00
Paul Adenot
788fbbb0f0 Bug 1456271 - Implement new behaviour of PeriodicWave ctor: not passing in any array makes it into a sine wave. r=baku
MozReview-Commit-ID: AbI62hSxZyS

--HG--
extra : rebase_source : 2d6e9ec5bf95fcfe30d964dfc38eb29333a58578
2018-05-30 18:42:29 +02:00
Margareta Eliza Balazs
a865255e0e Backed out 2 changesets (bug 1456271) for mda failures in dom/media/webaudio/test/test_periodicWave.html
Backed out changeset b99bd4121181 (bug 1456271)
Backed out changeset b37a0606d6a0 (bug 1456271)
2018-07-16 17:11:14 +03:00
Paul Adenot
15677a0da5 Bug 1456271 - Implement new behaviour of PeriodicWave ctor: not passing in any array makes it into a sine wave. r=baku
MozReview-Commit-ID: AbI62hSxZyS

--HG--
extra : rebase_source : 2d6e9ec5bf95fcfe30d964dfc38eb29333a58578
2018-05-30 18:42:29 +02:00
Paul Adenot
1a7517e102 Bug 1421091 - Remove a bit from a gtest that is tested directly in the bindings. r=jya
This cannot happen anymore, because we're using sequence<float> and not
Float32Array in WebIDL, and sequence<float> throws when it contains Infinity or
NaN.

MozReview-Commit-ID: 9ZUbXa0viSk

--HG--
extra : rebase_source : e1783b6873caeefa1f09caf938e342f591da0056
extra : source : 5d0cce417e56935badf1e7a503f348079c8a9435
2018-07-13 14:31:53 +02:00
Paul Adenot
60c64e2118 Bug 1421091 - Update AudioParam.setValueCurveAtTime to take sequence<float> instead of a Float32Array. r=baku
Link to the standard: https://webaudio.github.io/web-audio-api/#dom-audioparam-setvaluecurveattime

MozReview-Commit-ID: 8GwaIbQkfr2

--HG--
extra : rebase_source : aa8dd5e653de51768ff81d855fe1b8b398baa586
extra : intermediate-source : 9d34c85e0ec166fb7a117b2a85ca7cd4e98b1ceb
extra : source : d752fc72a9a35fdc0ce7b8bce94b29149eaf7639
2018-07-03 18:00:27 +02:00
Paul Adenot
b752303705 Bug 1472550 - Add a little regression test. r=karlt
A more involved test exists as a web-platform-tests, but we can't run it because
it makes use of AudioListener AudioParam, that we don't have right now.

MozReview-Commit-ID: 8QJ12cGVRbQ

--HG--
extra : rebase_source : 6161e33d7d8ef83eb5e16a4570a770401dd672cd
2018-07-06 18:58:21 +02:00
Paul Adenot
2ecf8157e2 Bug 1472550 - Consistently apply the distance, input and cone gain on all channels when computing the effect of a PannerNode when its AudioParams have been set. r=karlt
In the panning formula, one of the channels is always left untouched by the
panning gain, so the current setup didn't work: it would not apply the gain to
one of the channels.

MozReview-Commit-ID: LjrTlTT2z9r

--HG--
extra : rebase_source : 29aabddc7caf16427330687acbab91f9c3047d32
2018-07-05 18:17:51 +02:00
Paul Adenot
cb94e70cef Bug 1472550 - Add Audio{Buffer,Block}InPlaceScale that takes an array of gain values, with SSE and NEON variants. r=dminor
MozReview-Commit-ID: FzfDObKCrEd

--HG--
extra : rebase_source : 4697a44f5369279a060d63ac495fdb034e35202b
2018-07-06 15:18:06 +02:00
Arnaud Bienner
e89bd4b6e5 Bug 1470856 - Add AudioWorklet definition. r=baku,karlt
MozReview-Commit-ID: 39eqjisGNTE

--HG--
extra : rebase_source : 97c18e1125c490f3e9aa3b9d5c864f99da6fd265
2018-06-27 11:31:02 +02:00