Commit Graph

1995 Commits

Author SHA1 Message Date
Ehsan Akhgari
97fcf715d6 Bug 865234 - Part 9: Avoid variable shadowing in AudioNodeStream::ObtainInputBlock; r=roc 2013-04-30 19:37:58 -04:00
Ehsan Akhgari
40c7bffd01 Bug 865234 - Part 8: Add a test case for channel mixing rules; r=roc 2013-04-30 00:06:04 -04:00
Ehsan Akhgari
28722fca86 Bug 865234 - Part 7: Change the speaker up-mixing and down-mixing rules according to the Web Audio spec; r=roc 2013-04-29 20:15:26 -04:00
Ehsan Akhgari
3a69ee0f88 Bug 865234 - Part 6: Round up the |when| argument AudioBufferSouceNode.start; r=roc
This change is made in order to increase compatibility of the implementation
with what WebKit does.  This helps us in order to be able to compare our
results more closely to WebKit's.
2013-04-29 19:22:49 -04:00
Ehsan Akhgari
1d867d0441 Bug 865234 - Part 5: Don't mark a stream as finished when there are streams following it; r=roc
Without this patch, if we have an AudioBufferSourceNode which is finished, the
nodes following it will not see its mLastChunk.  This breaks the Web Audio
block processing logic since we rely on the assumption that the buffer for the
last output of AudioBufferSourceNode is correctly passed to the following
engines.
2013-04-29 16:58:19 -04:00
Ehsan Akhgari
a61aa7a132 Bug 865234 - Part 4: Implement ChannelInterpretation's effect when mixing inputs; r=roc 2013-04-27 19:52:21 -04:00
Ehsan Akhgari
3995da02e1 Bug 865234 - Part 3: Implement ChannelCountMode's effect when mixing inputs; r=roc 2013-04-27 19:41:52 -04:00
Ehsan Akhgari
9c26dbc68f Bug 865234 - Part 2: Send the channel mixing information to the AudioNodeStream; r=roc 2013-04-27 19:25:23 -04:00
Ehsan Akhgari
a749080ffb Bug 865234 - Part 1: Add DOM bindings for the channel mixing attributes; r=roc 2013-04-27 18:44:50 -04:00
Ehsan Akhgari
febaf4a1a5 Bug 867324 - Make it safe to stop source nodes when shutting down the AudioContext in case the nodes die right away; r=roc
(This time with the correct bug #)
2013-04-30 16:01:39 -04:00
Ehsan Akhgari
23d66661c0 Backed out changeset cace8e8e8556 because of the wrong bug number 2013-05-01 01:15:09 -04:00
Ehsan Akhgari
ffdb7c03e4 Bug 860958 - Make it safe to stop source nodes when shutting down the AudioContext in case the nodes die right away; r=roc 2013-04-30 16:01:39 -04:00
Chris Pearce
3262662a85 Bug 862182 - Revert bug 862183 due to frequent orange in 459439 crashtest. CLOSED TREE. r=philor 2013-05-01 13:33:33 +12:00
Chris Pearce
37aa644c0a Bug 862182 - Hold references to MediaResource in nsRefPtrs (content/media/omx), and fix some omx compiler warnings. r=doublec 2013-05-01 11:23:46 +12:00
Chris Pearce
b5a5314926 Bug 862182 - Hold references to MediaResource in nsRefPtrs (content/media/plugins). r=doublec 2013-05-01 11:23:46 +12:00
Chris Pearce
f7895b7d0b Bug 862182 - Hold references to MediaResource in nsRefPtrs. r=roc 2013-05-01 11:23:46 +12:00
Paul Adenot
fe0d0dac61 Bug 867089 - Test for invalid playbackRate values on an AudioBufferSourceNode. r=ehsan
--HG--
extra : rebase_source : 215d7cbe21144a3ed2a0642e49f10c4f10d1d66a
2013-04-30 16:04:44 +02:00
Paul Adenot
6402233faa Bug 867089 - Validate the playbackRate before using it. r=ehsan
--HG--
extra : rebase_source : 6e4065d4db69cb2d13f7ba5c05fbe9c74db03bf3
2013-04-30 16:04:05 +02:00
Ryan VanderMeulen
97c7feb7b5 Backed out changesets 5447d49a2c6f and ab9c9d0819a2 (bug 867089) for mochitest failures.
CLOSED TREE
2013-04-30 11:16:55 -04:00
Paul Adenot
8c8d0b4eb8 Bug 867089 - Test for invalid playbackRate values on an AudioBufferSourceNode. r=ehsan 2013-04-30 16:04:44 +02:00
Paul Adenot
3d22663645 Bug 867089 - Validate the playbackRate before using it. r=ehsan 2013-04-30 16:04:05 +02:00
Chris Pearce
37662fc2d9 Bug 866664 - Don't call WMFDecoder::IsMP3Enabled() off the main thread. r=padenot 2013-04-30 22:14:18 +12:00
Andrew McCreight
30fedfb95c Bug 866570 - test. r=smaug 2013-04-28 22:38:57 -07:00
Ehsan Akhgari
aa479f73fd Bug 866737 - Unregister PannerNodes when they're unlinked by the cycle collector; r=padenot 2013-04-29 14:06:40 -04:00
Andrew McCreight
6b31bf18b4 Bug 866570 - AudioContext should use its superclass's CC stuff. r=smaug 2013-04-29 06:04:59 -07:00
Ehsan Akhgari
c91f30797b Bug 866442 - Implement BiquadFilterNode.getFrequencyResponse; r=padenot 2013-04-27 16:29:48 -04:00
Ehsan Akhgari
2bdc8e9186 Bug 865246 - Part 5: Implement BiquadFilterNode's processing based on the Blink implementation; r=padenot 2013-04-26 17:49:09 -04:00
Ehsan Akhgari
9eee1965be Bug 865246 - Part 4: Send the changes in the type parameter to the stream; r=padenot 2013-04-26 18:23:52 -04:00
Ehsan Akhgari
c62b64e90c Bug 865246 - Part 3: Update the BiquadFilterNode IDL to match the current spec; r=padenot 2013-04-26 17:11:23 -04:00
Ehsan Akhgari
18b36c4ebe Bug 865246 - Part 2: Add the Biquad processing implementation to the build system; r=padenot 2013-04-26 14:48:45 -04:00
Ehsan Akhgari
1b7dd43fa1 Bug 865246 - Part 1: Import the Biquad processing implementation from Blink; r=padenot
The original code was copied from Blink SVN revision 148720.
2013-04-26 14:42:22 -04:00
Ehsan Akhgari
6d602f4c09 Bug 866108 - Part 2: Do not assume that we can always get a script global from the context's window; r=padenot 2013-04-27 18:44:13 -04:00
Ehsan Akhgari
ab2d0bc310 Bug 866108 - Part 1: Don't attempt to dispatch the audioprocess event on a node which has been unlinked by the cycle collector; r=padenot 2013-04-27 15:04:10 -04:00
Ehsan Akhgari
f0797f9f57 Backed out changeset 7c244b521e54 (the investigation patch for bug 866079) 2013-04-27 15:07:29 -04:00
Ehsan Akhgari
7442c4df57 Investigation for bug 866079 - Make the Command class live in the global scope in the hopes of getting better stack traces 2013-04-26 12:02:19 -04:00
Aryeh Gregor
e78504c9a9 Bug 859817 - Remove implicit conversions from raw pointer to already_AddRefed; r=Ms2ger 2013-04-22 14:15:59 +03:00
Ehsan Akhgari
3a048937ab Bug 865550 - Unlink AudioBufferSourceNode members before AudioNode; r=mccr8 2013-04-25 16:52:52 -04:00
Ehsan Akhgari
38f134b992 Bug 859600 - Make AudioContext an EventTarget; r=smaug 2013-04-25 00:28:39 -04:00
Ehsan Akhgari
225ca99bf9 Bug 865650 - Ensure that looping will only happen if the start offset is less than the end offset; r=padenot
--HG--
extra : rebase_source : 3de31185083df174f7b6e823d1a135aee39c211d
2013-04-25 09:34:47 -04:00
Boris Zbarsky
f75142b01d Bug 864727 part 5. Make all the WrapObject methods take a handle for the scope object. r=ms2ger 2013-04-25 12:29:54 -04:00
Ehsan Akhgari
557ec26e0f Bug 865532 - Don't attempt to stop an AudioBufferSourceNode that doesn't have a context; r=padenot 2013-04-24 22:24:25 -04:00
Ehsan Akhgari
eac64e1821 Bug 865548 - Convert the node arrays in AudioContext to hashsets; r=padenot 2013-04-24 23:32:41 -04:00
Ehsan Akhgari
b6e9710e71 Bug 865004 - Disconnect the AudioNode from the graph before deleting it; r=bzbarsky 2013-04-24 16:57:07 -04:00
Ehsan Akhgari
fcf7078a8e Backed out changeset 089871cdaf1e (bug 865004) because of crashtest leaks on a CLOSED TREE 2013-04-24 16:29:08 -04:00
Ehsan Akhgari
01608e4b32 Bug 865004 - Disconnect the AudioNode from the graph before deleting it; r=bzbarsky 2013-04-24 15:30:19 -04:00
Guilherme Gonçalves
8a0d0df675 Bug 863852 - Part 2 - Handle reentrance in the state machine. r=smaug 2013-04-24 11:09:31 -07:00
Guilherme Gonçalves
aa4dd68d0d Bug 863852 - Part 1 - Log event and state names rather than codes. r=smaug 2013-04-24 11:09:30 -07:00
Guilherme Gonçalves
0d8f7088b9 Bug 863813 - Only call the done function once per test, failure or success. r=smaug 2013-04-24 11:09:30 -07:00
Guilherme Gonçalves
41f280a2ce Bug 858141 - Don't assert on EVENT_AUDIO_ERROR while on STATE_ESTIMATING. r=smaug 2013-04-24 11:09:30 -07:00
Eitan Isaacson
f153dbde70 Bug 864858 - Hold a reference to utterance before nsSpeechTask goes away in DispatchEndImpl() r=smaug 2013-04-24 09:49:35 -07:00
Ehsan Akhgari
f75763a080 Bug 864709 - Part 2: Protect accesses to AudioNodeEngine::mNode using a lock; r=padenot 2013-04-24 12:13:45 -04:00
Ehsan Akhgari
be9574366b Bug 864709 - Part 1: Hold a strong reference to the AudioNodeStream before calling ProduceOutput on it; r=padenot 2013-04-24 11:52:16 -04:00
Paul Adenot
bd71531a02 Bug 864164 followup - Also send the params to the stream when setting the buffer. r=ehsan 2013-04-23 17:42:40 +02:00
Ehsan Akhgari
f3f4b81e3c Bug 864164 - Part 2: Send the AudioBufferSourceNode buffer parameter changes to the stream; r=padenot 2013-04-22 17:01:22 -04:00
Robert O'Callahan
e9333907ac Bug 834835. Part 4: Test basic MediaStreamTrack functionality. r=jesup 2013-04-17 17:18:53 +12:00
Robert O'Callahan
55209a1c96 Bug 834835. Part 3: Implement DOMMediaStream::GetAudio/VideoTracks. r=jesup 2013-04-17 17:18:37 +12:00
Robert O'Callahan
1f70f57d15 Bug 834835. Part 2: Make DOMMediaStream maintain a list of MediaStreamTrack objects. r=jesup
We use a MediaStreamListener to watch the MediaStream and maintain the list
of MediaStreamTrack objects.
2013-04-17 17:18:24 +12:00
Robert O'Callahan
f84445be2e Bug 834835. Part 1: Add initial AudioStreamTrack/VideoStreamTrack/MediaStreamTrack interfaces and implementations. r=jesup 2013-03-27 14:32:51 +13:00
Robert O'Callahan
2ed09c899e Bug 786539. Part 3: Reenable test on Windows. r=cpearce 2013-04-24 21:19:08 +12:00
Robert O'Callahan
042c9329a8 Bug 786539. Part 2: AreAllStreamsForResourceSuspended should ignore streams that can't read the resource data we need. r=cpearce 2013-04-24 21:19:02 +12:00
Robert O'Callahan
a2885f20df Bug 786539. Part 1: When receiving an HTTP 416 in response to a seek, tell the media cache that we reached the end of the resource. r=cpearce
See the comments. This is especially likely to happen if we reach the end of
a resource and then do our reopen-on-error dance because at some point we
paused and resumed and we fear the server may have timed out our connection
without giving us all the data.
2013-04-24 21:18:56 +12:00
Ehsan Akhgari
84afc888ff Bug 864613 - Take the dynamics compressor node's input chunk volume into account; r=padenot
--HG--
extra : rebase_source : d065091c344325b9c42c26307074d20ad81e0cd0
2013-04-22 22:16:42 -04:00
Ehsan Akhgari
960b4e84ff Bug 864609 - Take the panner node's input chunk volume into account; r=padenot
--HG--
extra : rebase_source : 4ccebeb02cd8a52721b5bff5f5c77f9a7201312b
2013-04-22 22:07:49 -04:00
Ehsan Akhgari
7b3517171c Bug 864606 - Take the gain node's input chunk volume into account when we have automation events for changing the gain value; r=padenot
--HG--
extra : rebase_source : 0d8c538a22ba764559a30c09e436eaaf38ac63fd
2013-04-22 22:05:16 -04:00
Ehsan Akhgari
372be8564a Bug 864605 - Take the input chunk's volume into account in the nodes that buffer their input; r=padenot
--HG--
extra : rebase_source : 7590e20cbb1ac347f3988aaa5dbc586012747221
2013-04-22 21:59:51 -04:00
Ehsan Akhgari
febd320fc7 Bug 864351 - Hold on to a SelfReference for ScriptProcessorNodes to make sure that they won't go away prematurely if they're used as source nodes; r=padenot 2013-04-22 21:23:54 -04:00
Ehsan Akhgari
7571e9d313 Bug 834513 follow-up: Mode AudioNode::DestroyMediaStream into the cpp file, and inline UnbindFromEngine 2013-04-22 22:45:37 -04:00
Ehsan Akhgari
27c7c4dcf7 Bug 864091 - Part 3: Implement DynamicsCompressorNode's processing based on the Blink's implementation; r=padenot 2013-04-21 16:13:59 -04:00
Ehsan Akhgari
f03533b4a7 Bug 864091 - Part 2: Add the Blink Dynamics Compressor implementation to the build system; r=padenot,glandium 2013-04-20 23:12:00 -04:00
Ehsan Akhgari
625818e3fe Bug 864091 - Part 1: Import the Dynamics Compressor implementation from Blink; r=padenot
The original code was copied from Blink SVN revision 148720.
2013-04-20 19:46:24 -04:00
Ehsan Akhgari
ba2650c05f Bug 864164 - Part 1: Send the AudioBufferSourceNode loop parameter changes to the stream; r=padenot 2013-04-22 00:22:33 -04:00
Ehsan Akhgari
a09ccd781d Bug 864322 - Stop all audio buffer source nodes when the context is being shut down to prevent leaks in the graph; r=padenot
--HG--
extra : rebase_source : a64d445609ac9892d0fae36122fdc25e1437f400
2013-04-22 11:45:34 -04:00
Ehsan Akhgari
65f9c8c375 Bug 864086 - Simplify AudioNode::DestroyMediaStream callers; r=padenot 2013-04-22 08:14:10 -04:00
Ehsan Akhgari
2666bbba26 Bug 864083 - Cleanup AudioBuffer::GetThreadSharedChannelsForRate; r=padenot 2013-04-22 08:12:45 -04:00
Ryan VanderMeulen
95d5080f59 Backed out changesets 3b8fdfefcf5e and ab61f99fb584 (bug 864083) for bustage on a CLOSED TREE. 2013-04-22 08:58:32 -04:00
Ehsan Akhgari
762d5ad5f6 Bug 864086 - Simplify AudioNode::DestroyMediaStream callers; r=padenot 2013-04-22 08:14:10 -04:00
Ehsan Akhgari
d7d8be9b4a Bug 864083 - Cleanup AudioBuffer::GetThreadSharedChannelsForRate; r=padenot 2013-04-22 08:12:45 -04:00
Ms2ger
7c1ae1ff7c Merge m-c to m-i. 2013-04-21 09:54:41 +02:00
Ms2ger
02553db10a Bug 862409 - Add the media.audio_data.enabled pref to all.js; r=bz 2013-04-21 08:41:21 +02:00
Ehsan Akhgari
7c8466ca68 Bug 834513 - Part 4: Add tests for ScriptProcessorNode, and also test AudioBufferSourceNode using it; r=roc 2013-04-20 11:17:58 -04:00
Ehsan Akhgari
51c4aebe76 Bug 834513 - Part 3: Implement ScriptProcessorNode; r=roc 2013-04-13 21:37:04 -04:00
Ehsan Akhgari
6ee7fc5a87 Bug 834513 - Part 2: Add an AudioNode weak pointer to the AudioNodeEngine class; r=roc 2013-04-20 12:16:28 -04:00
Chris Pearce
4d6942abba Bug 852915 - Disable MP3 playback using WMF on Win7SP0 to prevent random crashes. r=bbondy 2013-04-19 14:54:26 +12:00
Ryan VanderMeulen
4ce090df96 Backed out 4 changesets (bug 834835) for making bug 786539 nearly perma-orange. 2013-04-18 10:32:26 -04:00
Phil Ringnalda
7399e393c8 Back out 248daf8c6362 (bug 852915) for Win7 mochitest-1 orange 2013-04-17 23:23:33 -07:00
Chris Pearce
a376842435 Bug 852915 - Disable MP3 playback using WMF on Win7SP0 to prevent random crashes. r=bbondy 2013-04-18 16:38:14 +12:00
Robert O'Callahan
67951bc060 Bug 834835. Part 4: Test basic MediaStreamTrack functionality. r=jesup
--HG--
extra : rebase_source : 5fe7024af9ad4669f6fbdbc8149f8de00a75f13a
2013-04-17 17:18:53 +12:00
Robert O'Callahan
cf61513215 Bug 834835. Part 3: Implement DOMMediaStream::GetAudio/VideoTracks. r=jesup
--HG--
extra : rebase_source : 6e4ab9c849320ee3a3a1b516bf143f528957e57f
2013-04-17 17:18:37 +12:00
Robert O'Callahan
59d5436554 Bug 834835. Part 2: Make DOMMediaStream maintain a list of MediaStreamTrack objects. r=jesup
We use a MediaStreamListener to watch the MediaStream and maintain the list
of MediaStreamTrack objects.

--HG--
extra : rebase_source : 325a4069f97f716a76ff73a4edb0677e62283631
2013-04-17 17:18:24 +12:00
Robert O'Callahan
8d2cfc600e Bug 834835. Part 1: Add initial AudioStreamTrack/VideoStreamTrack/MediaStreamTrack interfaces and implementations. r=jesup
--HG--
extra : rebase_source : 7d9ec16301f7ba12fb181e0b37fdcaf8455b97e4
2013-03-27 14:32:51 +13:00
Boris Zbarsky
a295fe137f Bug 835643 part 4. Put in place all the infrastructure to switch EventListener to WebIDL codegen. r=smaug 2013-04-16 17:16:08 -04:00
Ryan VanderMeulen
32e0055ca7 Merge m-c to inbound. 2013-04-16 16:04:20 -04:00
Mike Shal
24b4056720 Bug 846634 - Part 2: Move EXPORTS to moz.build; r=joey 2013-04-16 15:24:43 -04:00
Diego Wilson
6e5ca76079 Bug 860760 - Pause OMX media sources when playback is paused. r=sotaro, r=cdouble
OMXCodec needs to now when the stream is paused. Otherwise it will
prevent the device from lowering its power state when idle.
2013-04-10 17:58:25 -07:00
Ehsan Akhgari
eb671321e6 Bug 834513 - Part 1: Refactor WebAudioDecodeJob::GetJSContext into AudioContext; r=roc 2013-04-14 14:18:43 -04:00
Ehsan Akhgari
94e7d9880d Bug 854319 - Part 2: Always use a ref pointer when dealing with MediaResource objects; r=cpearce 2013-04-15 20:08:03 -04:00
Ehsan Akhgari
73adb43547 Bug 854319 - Part 1: Call BeginDecoding before OnDecodeThreadStart; r=cpearce
This is what WMFReader::OnDecodeThreadStart() expects.
2013-04-15 19:49:35 -04:00
Ehsan Akhgari
97fdf4af59 Bug 853298 - Part 2: Make AudioNode an EventTarget; r=smaug 2013-04-12 11:28:33 -04:00
Ehsan Akhgari
2d790c190b Bug 853298 - Part 1: Switch the ownership model of audio nodes to be based the cycle collector with wrapper caches; r=roc
Here is what this patch does:
 * Got rid of the JSBindingFinalized stuff
 * Made all nodes wrappercached
 * Started to hold a self reference while the AudioBufferSourceNode is playing back
 * Converted the input references to weak references
 * Got rid of all of the SetProduceOwnOutput and UpdateOutputEnded logic

The nodes are now collected by the cycle collector which calls into
DisconnectFromGraph which drops the references to other nodes and destroys the
media stream.  Note that most of the cycles that are now inherent in the
ownership model are between nodes and their AudioParams (that is, the cycles
not created by content.)
2013-04-14 21:52:55 -04:00
Paul Adenot
4acb2a4b45 Bug 853551 - Implement the doppler part of AudioPannerNode. r=ehsan 2013-04-11 14:47:57 +02:00