Commit Graph

108 Commits

Author SHA1 Message Date
Star Cheng
2d091525bf Bug 984498: To plumb audiochannel type from AudioContext to MediaStreamGraph r=roc 2014-04-18 17:23:36 +08:00
Carsten "Tomcat" Book
cac8e6e93b Backed out changeset c07bced21c89 (bug 984498) for mochitest-1 bustage on a CLOSED TREE 2014-04-25 12:09:54 +02:00
Star Cheng
f4ff6a62d2 Bug 984498: To plumb audiochannel type from AudioContext to MediaStreamGraph r=roc 2014-04-18 17:23:36 +08:00
Ehsan Akhgari
66ed3f1461 Bug 999908 - Remove support for the Web Audio legacy prefs for AudioBufferSourceNode, AudioContext, and AudioParam; r=padenot 2014-04-23 08:56:42 -04:00
Boris Zbarsky
35fca5eeeb Bug 991742 part 8. Remove the "aScope" argument of WebIDL/nsWrapperCache WrapObject() methods. r=bholley
This patch was mostly generated with the following command:

find . -name "*.h" -o -name "*.cpp" | xargs sed -e '/WrapObject(JSContext/ {; N; s/\(WrapObject(JSContext *\* *a\{0,1\}[Cc]x\),\n\{0,1\} *JS::Handle<JSObject\*> a\{0,1\}[sS]cope/\1/ ; }' -i ""

and then reverting the changes that made to
dom/bindings/BindingUtils.h, since those WrapObject methods are not
the ones we're trying to change here, plus a bunch of manual fixups
for cases that this command did not catch (including all the callsites
of WrapObject()).
2014-04-08 18:27:18 -04:00
Masayuki Nakano
54d409dfca Bug 984269 Rename nsDOMEventTargetHelper to mozilla::DOMEventTargetHelper r=smaug
--HG--
rename : dom/events/nsDOMEventTargetHelper.cpp => dom/events/DOMEventTargetHelper.cpp
rename : dom/events/nsDOMEventTargetHelper.h => dom/events/DOMEventTargetHelper.h
2014-04-01 15:13:50 +09:00
Ehsan Akhgari
f54316ca85 Bug 968479 - Remove the media.webaudio.enabled pref; r=roc
--HG--
extra : rebase_source : 3618cb3097aa99a79a06af016bf6b3a3c6f77208
2014-02-06 08:36:46 -05:00
Robert O'Callahan
b026956759 Bug 952893. Part 1: Block the AudioDestinationNode when it's the only node in the AudioContext. r=padenot,karlt 2014-01-16 00:08:20 +13:00
Ryan VanderMeulen
a5b81a765d Backed out changesets ac4e6f145b9a, 91c572ac5ee1, f501606dc1d3, and 15fc5d1cb10e (bug 952893) for test failures on a CLOSED TREE. 2014-01-29 14:34:08 -05:00
Robert O'Callahan
5e98538b88 Bug 952893. Part 1: Block the AudioDestinationNode when it's the only node in the AudioContext. r=padenot 2014-01-16 00:08:20 +13:00
Paul Adenot
8ae42d79f9 Bug 952893 - Backout changesets 780cba0f9f59, 887fe3a09c3d and fb04a4252ea3 for bad commit message, DONTBUILD. 2014-01-29 17:36:56 +01:00
Robert O'Callahan
eb9730310f Bug 952389. Part 1: Block the AudioDestinationNode when it's the only node in the AudioContext. r=padenot 2014-01-16 00:08:20 +13:00
Ehsan Akhgari
73dc4b008e Bug 884368 - Part 1: Add a memory reporter for AudioContexts; r=roc,njn 2014-01-04 13:15:41 -05:00
Andrea Marchesini
fac0bfead2 Bug 925594 - WebIDL enum for AudioChannel in HTMLMediaElement, r=ehsan, r=khuey 2013-10-28 17:08:14 -07:00
Carsten "Tomcat" Book
2769e506ae Backed out changeset 5506e7033c85 (bug 925594) perma-orange mochitest test-failure on b2g-ics
--HG--
extra : transplant_source : %19E%9F_%BF%84%27%11%0D%DE%CA.%E7%09%9D%FD3%1A2U
2013-10-28 15:34:08 +01:00
Andrea Marchesini
cc71776434 Bug 925594 - WebIDL enum for AudioChannel in HTMLMediaElement, r=ehsan, r=khuey 2013-10-28 03:45:10 -07:00
Andrea Marchesini
a51331fdcf Bug 924870 - AudioContext.mozAudioChannel attribute, r=ehsan 2013-10-11 13:55:47 +02:00
Karl Tomlinson
3c9be2c42f b=914033 use AudioContext::RegisterActiveNode() in AudioBufferSourceNode r=ehsan
Storing references on the AudioContext instead of on the AudioNodes will allow
the AudioContext to report them to the cycle collector until offline rendering
starts.

--HG--
extra : transplant_source : %13%87%97%9F%CD%D8V%16%D2%D4%B5%84D%0A%D6%02%9BNj%FC
2013-09-24 13:47:00 +12:00
Karl Tomlinson
4314cfc6df b=914033 use AudioContext::RegisterActiveNode() in ScriptProcessorNode r=ehsan
Storing references on the AudioContext instead of on the AudioNodes will allow
the AudioContext to report them to the cycle collector until offline rendering
starts.

--HG--
extra : transplant_source : %CD%5Els2%7F/%DD%5E%07%08%FE%29%5B%98%95%F3%11G%E6
2013-09-24 13:46:30 +12:00
Karl Tomlinson
a15c0a10b9 b=914033 use AudioContext::RegisterActiveNode() in OscillatorNode r=ehsan
Storing references on the AudioContext instead of on the AudioNodes will allow
the AudioContext to report them to the cycle collector until offline rendering
starts.

--HG--
extra : transplant_source : %81%83Hp%F6T%E7%9EA%B3%D0%5Dz%EA%1FYv%A2%23%ED
2013-09-24 13:45:41 +12:00
Karl Tomlinson
55c4867ce7 b=916680 don't keep active AudioNodes alive from an AudioContext that has shut down r=ehsan
--HG--
extra : transplant_source : %20%3Fl%E0%D7R%7B_%E6%B0%C7%BB%3A%E7%21%9D%F1%A2%F4%1C
2013-09-18 13:10:30 +12:00
Karl Tomlinson
608b070c45 b=910171 add a general means to keep active nodes alive from the AudioContext r=ehsan
AudioNodes that keep playing or tail-time references need to have these
references cleared when an AudioContext has completed or is shut down by the
window.

Storing references on the AudioContext instead of on the AudioNodes will allow
the AudioContext to report playing references to the cycle collector until
offline rendering starts for bug 914033.  This is not necessary for tail-time
references, but it is tidier to use the same code for playing and tail-time
references.

--HG--
extra : transplant_source : %E0%F1%06%BFV%B6XI%9BX%8E%8D7%3FsU%8F%F9%14r
2013-09-17 11:53:40 +12:00
Karl Tomlinson
f0f3cd0ecb b=916422 make OfflineAudioContext::StartRendering() throw if called more than once r=ehsan
--HG--
extra : transplant_source : %B6T%C0C%F0/%03%A3C%25%9B%EF%A8%C41%8E%86%E9%FCr
2013-09-16 17:14:45 +12:00
Karl Tomlinson
7a48a1f657 b=914030 shut down an AudioDestinationNode's graph on destruction, if not already r=ehsan
This means that the graph will be shutdown properly, even if the
AudioDestinationNode is unlinked before AudioContext::Shutdown() is called.

Making MediaStreamGraph::DestroyNonRealtimeInstance() idempotent also makes
AudioContext::Shutdown() idempotent.

--HG--
extra : transplant_source : jZ%86%C5%C2n%17%EF%C2%C0y%ED%14%0E%17_dt%0C%07
2013-09-10 17:05:22 +12:00
Nicholas Nethercote
191ed08f6a Bug 911020 - Introduce js/TypeDecls.h, which holds very commonly used type declarations from the JS engine. r=luke.
--HG--
extra : rebase_source : 008ef689989f93b46627b8be8608bdbc544ca3a2
2013-08-27 19:59:14 -07:00
Kyle Huey
de0ee30e74 Bug 903772: Part 3 - Refactor GlobalObject. r=peterv 2013-08-22 22:17:08 -07:00
Ralph Giles
fc6c1b487b Bug 865253 - Part 4: Stop OscillatorNodes on context shutdown. r=ehsan
Like AudioBufferSourceNode and ScriptProcessorNode, OscillatorNode
holds a self-reference in mPlaying. Keep track of all osc nodes
in the AudioContext and explicitly stop them to make sure this
reference is dropped.
2013-08-19 11:57:00 -07:00
Ehsan Akhgari
d3e93cd446 Bug 865253 - Part 1: Implement the DOM bindings for OscillatorNode; r=roc 2013-08-19 11:53:00 -07:00
Ehsan Akhgari
f678926c6d Bug 905409 - Minimize the Web Audio #includes; r=roc 2013-08-15 15:44:14 -04:00
Nathan Froyd
32842a584e Bug 901615 - don't include BindingUtils.h in AudioContext.h; r=roc 2013-08-05 13:40:06 -04:00
Ehsan Akhgari
33cdf48b64 Bug 855568 - Implement MediaElementAudioSourceNode
X-Git-Commit-ID: 52f1fcdd561e8214e6820a3f2478d9e8b9623430

--HG--
extra : rebase_source : c40cd0c7070dec9e0273093499228f13906f8fc5
2013-07-25 15:01:49 +12:00
Robert O'Callahan
3f1bcdc18d Bug 856361. Part 6: Make MediaStreamAudioSourceNode keep its DOMMediaStream alive, and make the DOMMediaStream keep the MediaStreamAudioSourceNode alive. r=ehsan
--HG--
extra : rebase_source : 0e3b5108d8ced8b1f1f427c9fd4f87e97c46921d
2013-07-25 14:07:34 +12:00
secretrobotron
4535b91abc Bug 856361. Part 5: Implement MediaStreamAudioSourceNode. r=ehsan
--HG--
extra : rebase_source : 265f31edda31a2f749eacc568919304622446748
2013-07-24 23:29:39 +12:00
Boris Zbarsky
cad540afeb Bug 900898 part 2. Move to using Nullable<TypedArray> to represent possibly-null TypedArray structs. r=smaug 2013-08-05 13:40:01 -04:00
Ehsan Akhgari
1949a827b5 Bug 900341 - Shut down the decoder object for an AudioContext from a runnable; r=bent,roc 2013-08-02 12:07:17 -04:00
Ms2ger
36f3f6ae03 Bug 885170 - Remove nsINode::GetClassInfo(); r=peterv 2013-07-24 09:31:06 +02:00
Paul Adenot
cae697e35c Bug 883591 - Don't allow creating a MediaStreamDestinationNode on an OfflineAudioContext. r=ehsan 2013-07-18 11:57:38 +02:00
Paul Adenot
3272f71ce4 Bug 891986 - Keep the source ArrayBuffer to a decodeAudioData call alive until the decoding is complete. r=mccr8,ehsan 2013-07-16 11:00:36 +02:00
Drew Willcoxon
9a245e82e1 Bug 879111 - Mute Web Audio when allowMedia is false on the docshell. r=ehsan 2013-07-03 17:44:32 -07:00
Ehsan Akhgari
cdc93d6b0e Bug 865256 - Part 2: Rename WaveTable to PeriodicWave; r=roc
--HG--
rename : content/media/webaudio/WaveTable.cpp => content/media/webaudio/PeriodicWave.cpp
rename : content/media/webaudio/WaveTable.h => content/media/webaudio/PeriodicWave.h
rename : content/media/webaudio/test/test_waveTable.html => content/media/webaudio/test/test_periodicWave.html
rename : dom/webidl/WaveTable.webidl => dom/webidl/PeriodicWave.webidl
2013-06-19 18:24:26 -04:00
Josh Matthews
9ea183ce8d Bug 865257 - Implement MediaStreamAudioDestinationNode. r=ehsan,roc 2013-05-21 15:17:47 -04:00
Ehsan Akhgari
1922757878 Bug 815643 - Part 1: Implement the DOM bindings for ConvolverNode; r=roc
--HG--
extra : rebase_source : 9f6853dcaeeac1f36aa8c2ee90991a7f0ea0b145
2013-06-10 16:07:55 -04:00
Paul Adenot
7bd9ae8ec4 Bug 865244 - Implement AudioContext.destination.maxChannelCount. r=ehsan 2013-06-10 19:32:28 +02:00
Ehsan Akhgari
113a464d54 Bug 865256 - Part 1: Implement the DOM bindings for WaveTable; r=roc 2013-05-28 07:19:07 -04:00
Ehsan Akhgari
22b9d20d59 Bug 873553 - Part 2: Teach each AudioNodeStream about its sampling rate, and store the value inside AudioContext; r=roc
--HG--
extra : rebase_source : beed6a6f965acdff307b7d4861d5f336c224d498
2013-05-24 13:09:29 -04:00
Ehsan Akhgari
eb4978d70a Bug 873553 - Part 1: Remove AudioContext::GetRate; r=roc
This method is currently unused.

--HG--
extra : rebase_source : c6d5a9788e6cb03fc965852e5b97a72e05cfd3e2
2013-05-24 13:09:08 -04:00
Ehsan Akhgari
d2c63bc836 Bug 836599 - Part 12: Fix the lifetime management of the Web Audio graph in presence of OfflineAudioContexts; r=roc
Here we make the non-realtime graphs to go to sleep until they're shut down
from the main thread.  This allows us to use the common forced shutdown code
path in MediaStreamGraphImpl::RunThread.  We also need to delete the graph
object when the last message is dispatched to it.

In addition, we need to make sure that the AudioNodes also get released when
they're no longer needed.  To do this, we need for force the SelfReference of
AudioBufferSourceNodes to be released when the context is shut down, and also
trigger the destruction of the graph there.
2013-05-16 19:31:08 -04:00
Ehsan Akhgari
e31cd426d8 Bug 836599 - Part 11: Implement the processing of OfflineAudioContext; r=roc
We use a custom AudioNodeEngine for the destination nodes belonging to
OfflineAudioContexts, and there we record the rendered buffer.  Once the buffer
is full, we resample it if the sampling rate of the OfflineAudioContext is
different than the ideal sampling rate, and then we hand it off to the main
thread in order for the complete event to be dispatched.
2013-05-16 19:30:57 -04:00
Ehsan Akhgari
1428a73574 Bug 836599 - Part 10: Use the non-realtime MediaStreamGraph API and a custom destination node engine for OfflineAudioContext; r=roc
We offload most of the logic for OfflineAudioContext to the destination node,
since that's where the sample recording needs to happen, so doing this will
make the code simpler.
2013-05-16 19:30:42 -04:00
Ehsan Akhgari
e7318c89ad Bug 836599 - Part 9: Implement the DOM binding for OfflineAudioContext; r=roc 2013-05-16 19:30:41 -04:00