Граф коммитов

59 Коммитов

Автор SHA1 Сообщение Дата
Paul Adenot cbccf7ece3 Bug 1541467 - Handle situations where the document is not available from the AudioContext. r=karlt
Differential Revision: https://phabricator.services.mozilla.com/D25955

--HG--
extra : moz-landing-system : lando
2019-04-05 11:38:06 +00:00
Valentin Millet ce1581df1f Bug 1477205 - Remove the exception when a node is created after closing the AudioContext. r=padenot
Differential Revision: https://phabricator.services.mozilla.com/D21361

--HG--
extra : moz-landing-system : lando
2019-03-22 12:41:53 +00:00
Ryan Hunt 00e98538aa Bug 1523969 part 6 - Move method definition inline comments to new line in 'dom/'. r=nika
Differential Revision: https://phabricator.services.mozilla.com/D21106

--HG--
extra : rebase_source : ea3f51c2c11247114deccbc86e90fb02b8a97257
2019-02-25 16:05:29 -06:00
Andreas Pehrson 88cb071d63 Bug 1513638 - Rename DispatchToMainThreadAfterStreamStateUpdate to DispatchToMainThreadStableState. r=jya,karlt
Differential Revision: https://phabricator.services.mozilla.com/D14421

--HG--
extra : moz-landing-system : lando
2018-12-19 04:34:10 +00:00
Sylvestre Ledru 804b8b8883 Bug 1204606 - Reformat of dom/media r=jya
# skip-blame

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

--HG--
extra : moz-landing-system : lando
2018-11-19 13:25:37 +00:00
Paul Adenot 4cd025e1b6 Bug 1493779 - Gracefuly handle OOM when setting a buffer on ConvolverNode. r=karlt
When OOMing when allocating the temporary buffer, we return an error from the
ctor via an output parameter, and make the ConvolverNode output silence.
Additionaly, a warning is issued each time we fail to set a buffer to the buffer
property of a ConvolverNode.

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

--HG--
extra : moz-landing-system : lando
2018-10-09 13:19:20 +00:00
Andreea Pavel ed5deef5cb Backed out 2 changesets (bug 1493779) for failing android mochitest media on a CLOSED TREE
Backed out changeset 4dbc5f131040 (bug 1493779)
Backed out changeset 2430e0fe8d6d (bug 1493779)
2018-10-08 14:25:15 +03:00
Paul Adenot f495f7a26f Bug 1493779 - Gracefuly handle OOM when setting a buffer on ConvolverNode. r=karlt
When OOMing when allocating the temporary buffer, we return an error from the
ctor via an output parameter, and make the ConvolverNode output silence.
Additionaly, a warning is issued each time we fail to set a buffer to the buffer
property of a ConvolverNode.

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

--HG--
extra : moz-landing-system : lando
2018-10-08 09:03:59 +00:00
Bogdan Tara 913a7c73ea Backed out 2 changesets (bug 1493779) for test_convolverNodeOOM.html failures CLOSED TREE
Backed out changeset e78d9996b1a4 (bug 1493779)
Backed out changeset 53950ea4b105 (bug 1493779)
2018-10-04 20:24:19 +03:00
Paul Adenot 9482cd13ff Bug 1493779 - Gracefuly handle OOM when setting a buffer on ConvolverNode. r=karlt
When OOMing when allocating the temporary buffer, we return an error from the
ctor via an output parameter, and make the ConvolverNode output silence.
Additionaly, a warning is issued each time we fail to set a buffer to the buffer
property of a ConvolverNode.

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

--HG--
extra : moz-landing-system : lando
2018-10-04 15:31:42 +00:00
Brindusan Cristian 470f28193b Backed out 2 changesets (bug 1493779) for mda failures in test_convolverNodeOOM.html. CLOSED TREE
Backed out changeset cefa70540aac (bug 1493779)
Backed out changeset e380ab03ba8d (bug 1493779)
2018-10-04 12:38:59 +03:00
Paul Adenot 1f43e0e744 Bug 1493779 - Gracefuly handle OOM when setting a buffer on ConvolverNode. r=karlt
When OOMing when allocating the temporary buffer, we return an error from the
ctor via an output parameter, and make the ConvolverNode output silence.
Additionaly, a warning is issued each time we fail to set a buffer to the buffer
property of a ConvolverNode.

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

--HG--
extra : moz-landing-system : lando
2018-10-03 23:15:23 +00: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 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
Jeff Gilbert 5b753da289 Bug 1470325 - s/FooBinding/Foo_Binding/g - r=qdot
MozReview-Commit-ID: JtTcLL5OPF0
2018-06-26 17:05:01 -07:00
Emilio Cobos Álvarez fffb25b74f Bug 1465585: Switch from mozilla::Move to std::move. r=froydnj
This was done automatically replacing:

  s/mozilla::Move/std::move/
  s/ Move(/ std::move(/
  s/(Move(/(std::move(/

Removing the 'using mozilla::Move;' lines.

And then with a few manual fixups, see the bug for the split series..

MozReview-Commit-ID: Jxze3adipUh
2018-06-01 10:45:27 +02:00
Paul Adenot 934bbfef39 Bug 1443228 - Make the ConvolverNode ctor throw NotSupportedError when passed a buffer with an invalid channel count. r=karlt
Spec: https://webaudio.github.io/web-audio-api/#dom-convolvernode-buffer
This is well tested in web-platform-test, the test has been added a day ago and
will be merged soon: 16376ce7a6/webaudio/the-audio-api/the-convolvernode-interface/convolver-channels.html

MozReview-Commit-ID: LxsDomV5bEL

--HG--
extra : rebase_source : 460b653c67743a395733006e4961b93861a26a9a
2018-03-08 11:23:45 +01:00
Karl Tomlinson 8c9f6a5188 bug 1391482 accept int16_t sample buffers in ConvolverNode r=padenot
MozReview-Commit-ID: LvYkiSvhQdP

--HG--
extra : rebase_source : afc72106b1e5aa05ddbe65c57506a54c61fc4b25
2017-08-10 19:55:36 +12:00
Karl Tomlinson 6ffb9a235f bug 1391482 generalize shared channel data from AudioBuffer as AudioChunk r=padenot
Although the AudioChunk buffer is still always a
ThreadSharedFloatArrayBufferList, 16 bit buffers will be permitted in a future
patch.

MozReview-Commit-ID: FPZ6VcX4C1q

--HG--
extra : rebase_source : dc0d82d5495383ab2aaca37a09d282dd3c747e83
2017-08-09 16:39:40 +12:00
Andrew McCreight 78807d8776 Bug 1391005 - Eliminate NS_INTERFACE_MAP_BEGIN_CYCLE_COLLECTION_INHERITED. r=peterv
Replace it with NS_INTERFACE_MAP_BEGIN_CYCLE_COLLECTION, because it
has been the same for a while.

MozReview-Commit-ID: 5agRGFyUry1

--HG--
extra : rebase_source : 5388c56b2f6905c6ef969150f0c5b77bf247624d
2017-08-29 16:02:48 -07:00
Phil Ringnalda 2f26d0e9a4 Backed out 15 changesets (bug 1391482) for rooting hazard
Backed out changeset 4d4ed9b64bdb (bug 1391482)
Backed out changeset c02da061fc56 (bug 1391482)
Backed out changeset 7f096b0d1d0e (bug 1391482)
Backed out changeset 497e04031fc3 (bug 1391482)
Backed out changeset cb6ac4267562 (bug 1391482)
Backed out changeset b9a522cc88c9 (bug 1391482)
Backed out changeset 6feba222e86b (bug 1391482)
Backed out changeset ee13302be6c8 (bug 1391482)
Backed out changeset 0e12a1bdb2fa (bug 1391482)
Backed out changeset 7ffc044e742a (bug 1391482)
Backed out changeset fc35c12c815f (bug 1391482)
Backed out changeset 527ea972cdf3 (bug 1391482)
Backed out changeset a9c7abf92455 (bug 1391482)
Backed out changeset fea3e5cd3590 (bug 1391482)
Backed out changeset ca07d3a43b11 (bug 1391482)

MozReview-Commit-ID: 9Cq8e7pr2SP
2017-08-28 20:40:11 -07:00
Karl Tomlinson 580aed4daa bug 1391482 accept int16_t sample buffers in ConvolverNode r=padenot
MozReview-Commit-ID: LvYkiSvhQdP

--HG--
extra : rebase_source : 755b0c959a03f9b20464c34d6a12e372065614b1
2017-08-10 19:55:36 +12:00
Karl Tomlinson a372b3e655 bug 1391482 generalize shared channel data from AudioBuffer as AudioChunk r=padenot
Although the AudioChunk buffer is still always a
ThreadSharedFloatArrayBufferList, 16 bit buffers will be permitted in a future
patch.

MozReview-Commit-ID: FPZ6VcX4C1q

--HG--
extra : rebase_source : dc0d82d5495383ab2aaca37a09d282dd3c747e83
2017-08-09 16:39:40 +12:00
Karl Tomlinson 5f85b81a36 bug 1024182 remove buffer copy for short impulse responses and so correct normalization scale r=padenot
Despite the comment, this was necessary only for a direct convolver stage,
which has been removed:
https://hg.mozilla.org/mozilla-central/rev/e66105937eef190dec073f1b9859e07a0272706b#l4.29

FFT convolver stages pad the buffer to the necessary length in
FFTBlock::PadAndMakeScaledDFT().

Trailing zeros in the impulse change the scale used in normalization
and so padding the buffer before calculating the scale led to the wrong scale
being used.
https://github.com/WebAudio/web-audio-api/issues/481

MozReview-Commit-ID: LqP1x1hmLOM

--HG--
extra : rebase_source : f902190c25a7b95594d8115e43cde91f0cf00146
2017-08-09 16:52:01 +12:00
Karl Tomlinson 123ec37b96 bug 1388656 keep response buffer on graph thread only long enough to initialize the Reverb r=padenot
MozReview-Commit-ID: 6DvpXeWPGHp

--HG--
extra : transplant_source : %CA6vfB%D3%B3%064g%F3%EA%F2%20%1B%11%94S%A9%CA
extra : histedit_source : 40f753de8fefdc64abb11be61dd468b3d2d8acbe
2017-08-08 16:08:21 +12:00
Karl Tomlinson 6715046ac3 bug 1388656 re-initialize the Reverb only once when the ConvolverNode buffer changes r=padenot
MozReview-Commit-ID: IKMK5GYVRBB

--HG--
extra : transplant_source : DT%17%04%FF%A2%3A%C2%E7%E1%99j%0Cs%09%EA2%25%FE%03
extra : histedit_source : 7e88e9ef61f525c1c88aa5d29a70e8facf910f82
2017-08-08 16:01:57 +12:00
Karl Tomlinson fe7c8d323e bug 1388656 remove unused SAMPLE_RATE SetInt32Parameter case r=padenot
Sample rate is passed as a double.

MozReview-Commit-ID: DBCvrCWPlgf

--HG--
extra : transplant_source : %C50%3D%1BG%88%B0%90%97R%A6%9F%1E%83%BA%FA%82%F3W%5D
extra : histedit_source : 62c64e8c7284e896f0ba706e81699ca5cba96c48
2017-08-08 15:56:09 +12:00
Karl Tomlinson 495d615457 bug 1388656 size to actual used length in nsTArray::SetCapacity() optimization r=padenot
MozReview-Commit-ID: BGFliZTx4QL

--HG--
extra : transplant_source : %A2%1E%E5%F0%96%F6%A2d%F1%D1%098YbYo%22%80%D8%B3
extra : histedit_source : efbca2ae49d9463d16c3f462aaa5a1b05cca312a
2017-08-08 15:47:24 +12:00
Paul Adenot 404c800005 Bug 1341555 - Consolidate use of the MSG's AbstractMainThread, and stop having AbstractMainThread on MediaStreams. r=pehrsons
MozReview-Commit-ID: 5hGDQcfpH6a

--HG--
extra : rebase_source : 41bb678f37cfcdbc9912a25f45a5ca488084aabe
2017-06-29 11:30:57 -07:00
Bevis Tseng 72d516ef01 Bug 1314833 - Part 2.2: Use AbstractThread::CreateDirectTaskDrainer() to Drain Direct Tasks Dispatched to MediaStreamGraph. f=rjesup,r=padenot,jwwang
MozReview-Commit-ID: 1KgE3uKu4CG

--HG--
extra : rebase_source : 2ad950afe84675fb9bc4c449e53e7c0d52270175
2016-12-07 22:00:12 -10:00
Andrea Marchesini 0c863ebca2 Bug 1322883 - AudioNode constructors - part 9 - ConvolverNode, r=padenot 2016-12-15 19:24:42 +01:00
Andreas Pehrson 5c882b1fe8 Bug 1300529 - Remove default arguments from AudioNodeStream::Create. r=padenot
MozReview-Commit-ID: KG8PtBbJrc2

--HG--
extra : rebase_source : 4be41a0dff23a62dfa43699a1e0ebd8c429b41b7
2016-09-05 17:25:41 +02:00
Jonathan Watt b15368cfcb Bug 1279451 - Remove a lot of unnecessary includes of nsAutoPtr.h. rs=sparky 2016-06-07 21:10:18 +01:00
Dan Minor 8c7cbbbf79 Bug 877662 - Align audio buffer allocations to 16 byte boundaries r=padenot
To be able to use SSE2 routines, we need to audio buffers to be allocated
on 16 byte boundaries.

MozReview-Commit-ID: 2mjxMWqysFd

--HG--
extra : rebase_source : 8bd7d48b767b7bcfa5874061586b9b41c26a18ae
2016-04-13 15:31:50 -04:00
Jean-Yves Avenard d822675be4 Bug 1240411: P1. Clean up webaudio headers. r=cpearce
Remove redundant virtual keyword and add missing override if any.
2016-01-19 19:47:28 +11: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
Karl Tomlinson e6e2a0f9e8 bug 1217625 perform checks for transition to inactive outside of stream processing r=padenot
This will allow streams to be suspended when they are discovered inactive.
Suspending is not possible while iterating over stream lists for processing.

The approach of delaying the transition to inactive state may result in a
couple of extra processing iterations, but can save on the number of messages
that need to be created when compared to the approach of traversing downstream
nodes during stream processing.

--HG--
extra : rebase_source : b6707da5afa9323058b3f70b7743c13380618dad
2015-10-23 09:37:45 +13: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
Karl Tomlinson 7fe490cca6 bug 1207003 add GraphTime parameter to ProcessBlock() and remove GetCurrentPosition() r=padenot
This is immediately useful for making the track unnecessary, but will also be
required when switching to the destination node stream for tracking time (bug
1205558) because using GetCurrentPosition() on the destination node stream
would give different results depending on the stream processing order (when
called during processing of streams not strictly upstream from the destination
node).

--HG--
extra : rebase_source : 7a3432b2e6a20fa3f42be05776c178dfda64d166
2015-09-18 17:05:25 +12:00
Karl Tomlinson 026a99369a bug 1205540 account for active inputs and skip processing when streams are inactive r=padenot
--HG--
extra : rebase_source : 20eca7c13b9757fc9c79ee414a7b4c2c8da26be2
2015-09-18 00:03:00 +12:00
Karl Tomlinson 57f288f403 bug 1205540 provide querying whether engines need to continue processing even without input r=padenot
--HG--
extra : rebase_source : 08dfd9685c49b93a9ca113434f62d92de26f58e7
2015-09-09 08:54:03 +12:00
Carsten "Tomcat" Book 1ae732f5ba Backed out 5 changesets (bug 1205540) for Assertion Failurs in m2-e10s tests on a CLOSED TREE
Backed out changeset e89d8182d588 (bug 1205540)
Backed out changeset abace4cdec06 (bug 1205540)
Backed out changeset b3f6e1db7233 (bug 1205540)
Backed out changeset 0d122cb34921 (bug 1205540)
Backed out changeset 4de5f87180fb (bug 1205540)
2015-09-18 16:36:33 +02:00
Karl Tomlinson abcc44d6d5 bug 1205540 account for active inputs and skip processing when streams are inactive r=padenot
--HG--
extra : rebase_source : ad55142a54728e7ed2dab8edefbe87547e09d85a
2015-09-18 00:03:00 +12:00
Karl Tomlinson ee25bfb081 bug 1205540 provide querying whether engines need to continue processing even without input r=padenot
--HG--
extra : rebase_source : 76545deae4cdc929f1b3ce4d10065f99f21a2ec3
2015-09-09 08:54:03 +12:00
Robert O'Callahan a320393b12 Bug 1189506. Pass AudioContext to AudioNodeStream::Create. r=karlt
--HG--
extra : commitid : 2WtlMxxGnj1
extra : rebase_source : 31d3c936c139df1348249df1f34e5206d38647db
2015-09-09 01:22:16 +12:00
Karl Tomlinson ea0e72c924 bug 1198656 interpret null ConvolverNode mBuffer as a buffer of zeros r=padenot
Zero output even when normalize is set is consistent with
http://webaudio.github.io/web-audio-api/#widl-ConvolverNode-normalize
due to the specified isinf() test.

--HG--
extra : transplant_source : %17%BA%82%80%7DK%0EZOGg%7B%C0%0D%BF%93%D2%82%A0%E8
2015-08-21 17:14:14 +12:00
Karl Tomlinson e74d20e2da bug 1197028 use AudioBlock for web audio processing to reuse buffers shared downstream r=padenot
--HG--
extra : rebase_source : d2e403ae64a314177cba4d596ea235eb351ad3bc
2015-09-03 19:01:50 +12:00
Karl Tomlinson e32bdd4030 bug 1197028 use AudioChunk::ChannelCount() r=padenot
--HG--
extra : rebase_source : 033220c221f33fb4230f1384427d24e9b0b01213
2015-09-03 17:30:16 +12:00
Karl Tomlinson 46ff786925 bug 1197043 use flags to distinguish between external streams and events r=padenot
MediaStreamAudioDestinationNode does not need any main thread events because
mDOMStream provides GetCurrentTime to consumers.

MediaRecoder also does not use main thread current time.

--HG--
extra : rebase_source : e022dc12e8a0e67c70d4a617449e28e76288b57e
2015-08-13 16:13:34 +12:00