Commit Graph

711 Commits

Author SHA1 Message Date
Karl Tomlinson
88dbfffb29 use existing named constants b=890528
--HG--
extra : transplant_source : %C9%F5%23%A2%CC%D0%E5v%F4%7B%ED%93%0C%B6%D7%E3%CC%C5%B1%A1
2013-09-02 16:53:15 +12:00
Karl Tomlinson
761bd9f94a remove unintentional ! in ed23ecc80370 to test expected buffer frame count when length is supplied b=890528
--HG--
extra : transplant_source : %BB%8E%A8%C2BBFr%A4D%28VG%84%2A%AE%A3qZ%81
2013-09-02 16:53:15 +12:00
Karl Tomlinson
b72d4ec1b9 test for bug 891254
--HG--
extra : transplant_source : %FE%D3%7F%0F%3Da%3A%D9u6Hx2%E22%15fn%14H
2013-09-02 16:52:15 +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
Karl Tomlinson
0d8b5ff1f0 b=890528 Record silence in the delay buffer when there is no input, to avoid echos r=ehsan
--HG--
extra : transplant_source : x%A5%D0%A8%F9%7B%7DX%AA%C5%04%7E.%2C%B6%3A%EF%3F%08%5E
2013-09-02 12:59:34 +12:00
Karl Tomlinson
cc2f88a710 b=890528 delay buffer must be greater than max delay frames to avoid reading what has just been written r=ehsan
--HG--
extra : transplant_source : %86L%3C%C2%F0%A79%E4w%F6u%FD%11d%A9%FCu%F90%E8
2013-09-02 12:59:34 +12:00
Karl Tomlinson
32a9de7cae test for bug 890528
--HG--
extra : transplant_source : B%22%1A%B5%E9%03%D1%A4%D9%20%F7%12%FA%09%10%14%A0%19x%BA
2013-09-02 12:59:31 +12:00
Karl Tomlinson
b7844721cf b=890528 add more documentation and make length optional when createExpectedBuffers is present r=ehsan
--HG--
extra : transplant_source : R%7DJo%87%0C%0D%0FuX%C4%BC%C0%95%08b%5D%DA%D1%BF
2013-09-02 11:27:44 +12:00
Paul Adenot
08fd7cd240 Bug 881092 - Test that we can decode multichannel WAVE file only when using decodeAudioData. r=ehsan
--HG--
extra : rebase_source : fe1cb35be9a1197b01a6c90654abd825f28a67e5
2013-08-29 11:44:05 +02:00
Paul Adenot
bacec95428 Bug 881092 - Allow decoding files we know we can't play, in the context of WebAudio. r=kinetik,rillian
--HG--
extra : rebase_source : ebad931aede2f8225404625e90a5f3228c4a31c0
2013-08-29 11:43:44 +02:00
Brian O'Keefe
4f68eb9b02 Bug 875934 - Move LIBRARY_NAME to moz.build, batch 3; r=mshal 2013-08-15 09:02:09 -04:00
Paul Adenot
c8ef7c71b8 Bug 908144 - Don't output sound before start() is called when using OscilatorNode. r=ehsan 2013-08-26 11:46:33 +02:00
Kyle Huey
de0ee30e74 Bug 903772: Part 3 - Refactor GlobalObject. r=peterv 2013-08-22 22:17:08 -07:00
Ms2ger
87ae95251c Merge PGO-green changeset from inbound to m-c. 2013-08-22 10:31:44 +02:00
Ms2ger
2d7391b50d Bug 883284 - Part b: Move LIBXUL_LIBRARY into moz.build (a-c); r=joey 2013-08-22 08:55:59 +02:00
Ms2ger
4d968c40e1 Bug 882859 - Part b: Move FAIL_ON_WARNINGS into moz.build; r=joey+gps 2013-08-22 08:55:59 +02:00
Ehsan Akhgari
1e7ca5d13f Bug 904695 - #include fewer headers in nsContentUtils.h; r=jst 2013-08-21 15:28:26 -04:00
Ralph Giles
437a387175 Bug 865253 - Part 5: Shorten a comment to fit in 80 columns. r=ehsan 2013-08-19 11:58:00 -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
Ralph Giles
5c102b5da6 Bug 865253 - Part 3: Direct generation of fixed oscillator types. r=ehsan
Simple direct calculation of the fixed types.

We probably want to use the PeriodicWave machinery to generate
the pre-defined waveforms once it's available. In either case
we can optimize this significantly by caching the generated
waveform when the frequency is stationary over the block.
2013-08-19 11:56:00 -07:00
Ehsan Akhgari
d4b3957aa8 Bug 865253 - Part 2: Implement the alternate enum values for OscillatorNode; r=roc 2013-08-19 11:54: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
Wes Kocher
ff5292b3eb Backed out changeset 016fa89e49b0 (bug 905409) on a CLOSED TREE 2013-08-14 17:21:45 -07:00
Ehsan Akhgari
c6ce65cf2e Bug 905409 - Minimize the Web Audio #includes; r=roc 2013-08-14 18:46:00 -04:00
Paul Adenot
b14fe48e2a Bug 899135 - Drop buffers in ScriptProcessorNode instead of buffering them when the main thread is blocked. r=roc 2013-08-13 19:34:22 +02:00
Ms2ger
df8525f77d Bug 901323 - Don't include nsContentUtils.h unnecessarily; r=jlebar 2013-08-14 08:56:21 +02:00
Paul Adenot
e643bf2207 Bug 903476 - Fuzz a bit more and android as well.
--HG--
extra : rebase_source : 57d9a1ed3549a0c8a2af9fb8be42b5823f21a2ec
2013-08-13 15:56:42 +02:00
Paul Adenot
0b00e4ef84 Bug 903476 - Fuzz a bit more on win32.
--HG--
extra : rebase_source : 321848369a2f2401b1fcaf287bfbcd049a7c299c
2013-08-13 14:48:36 +02:00
Paul Adenot
66239a7ec2 Bug 903476 - Update the fuzzing values in test_mediaDecoding.html because we changed the resampler. r=ehsan
--HG--
extra : rebase_source : 3b354018ba83f53cf64d6adb511c41dfcb205039
2013-08-13 12:44:34 +02:00
Karl Tomlinson
b6833fc832 b=815643 Implement HRTF panner processing based on Blink implementation r=ehsan
--HG--
extra : rebase_source : 197fd6f39d3d45b61d25d9dc399c72828d93655a
2013-08-09 10:08:06 +12:00
Karl Tomlinson
5d662c0df1 b=815643 Add Blink's HRTFPanner to the build r=ehsan
--HG--
extra : rebase_source : 14187eb58d308c25b3ff37356a1aef6757aee81d
2013-08-09 10:07:49 +12:00
Karl Tomlinson
e37987a35d b=815643 Refactor DelayNodeEngine delay processing into a shareable class r=ehsan
--HG--
extra : rebase_source : e25ff3e490c2cbce5ed7cdf9419ccc2850ea16e5
2013-08-09 10:07:49 +12:00
Karl Tomlinson
afd43adcd6 b=865241 don't join HRTFDatabaseLoader thread until it has finished r=ehsan
Also turn some always-true conditions into assertions.

--HG--
extra : rebase_source : a38b75a1a27f25cef7b9dd86a1cca15ce9f67893
2013-08-09 10:07:42 +12:00
Karl Tomlinson
2ea901aa4d b=865241 make HRTFDatabaseLoader ref-counting thread-safe r=ehsan
--HG--
extra : rebase_source : 8cab96807c111eb103dbe931d14a86a8b97a824e
2013-08-09 09:59:56 +12:00
Karl Tomlinson
296268450d b=815643 Add Blink's HRTFDatabase and HRTFDatabaseLoader to the build r=ehsan
--HG--
extra : rebase_source : e7aa0ce1ca436bbb429cb1f6051b3b8210bf767a
2013-08-09 09:56:28 +12:00
Karl Tomlinson
76ae42715c b=815643 Add Blink's HRTFElevation to the build r=ehsan
--HG--
extra : rebase_source : 5dda0b6c6302197574ac5fafbb0f06b1ac65980a
2013-08-08 21:38:30 +12:00
Karl Tomlinson
f64e2297c1 b=815643 Reduce convolver fft size for low sample rates r=ehsan
--HG--
extra : rebase_source : 0d7c6d4a3bcb340fc674f0b4181cf264fcc4e041
2013-08-08 21:38:30 +12:00
Karl Tomlinson
b57bd542e2 b=815643 Add code to interpret and resample impulse response data r=ehsan
--HG--
extra : rebase_source : 35497353634022f297b2ebf333b7230b12c1f9c2
2013-08-08 21:38:30 +12:00
Karl Tomlinson
f68d252272 b=815643 Add HRTF impulse response data r=ehsan
The impulse response sample data is directly from individual impulse response wave files
in Blink SVN revision 153183.

--HG--
extra : rebase_source : 037471efd5be1f0d4a798bcc01192db9398377c2
2013-08-08 21:38:30 +12:00
Karl Tomlinson
715c2a763f b=815643 Use symmetry to halve the number of HRTF kernels calculated and cached r=ehsan
--HG--
extra : rebase_source : 12e4a114630e793c22d3e335c38c641a6bc20ee2
2013-08-08 21:38:29 +12:00
Karl Tomlinson
8c052323df b=815643 Add Blink's HRTFKernel to the build r=ehsan
A functional difference is that HRTFKernel is not reference-counted.

--HG--
extra : rebase_source : 66a9653fed75265ec55d915b731876bcb793d513
2013-08-08 21:38:29 +12:00
Karl Tomlinson
c3889975de b=865241 always leave 20 samples of headroom when extracting group delay, removing the discontinuity at delay = 20 r=ehsan
--HG--
extra : rebase_source : 30515ea2236b7503ff7e446d50930f91135bc7e0
2013-08-08 21:38:29 +12:00
Karl Tomlinson
a8f2492870 b=815643 Add Blink's frequency interpolation and group delay methods from FFTFrame to FFTBlock r=ehsan
--HG--
extra : rebase_source : 1e3393c85f1828cbcce49af1e3160fc3535d39b8
2013-08-08 21:38:24 +12:00
Karl Tomlinson
c312f43e8d b=865241 don't try to compute a phase for group delay from the DC and nyquist components of the DFT r=ehsan
Given imagP[0] is really realP[halfSize], it doesn't make sense to calculate a
phase from placing the DC and Nyquist components in different directions.
The DC component doesn't have a phase offset and lastPhase is already
initialized to zero.

This makes extractAverageGroupDelay() consistent with addConstantGroupDelay()
and to some extent interpolateFrequencyComponents().

The effect of the bug would have been small for reasonably sized FFTs.

--HG--
extra : rebase_source : b2931d625bd7e014f123b576f28aad7f719c585d
2013-08-08 21:37:36 +12:00
Karl Tomlinson
b03713d218 b=815643 remove unused HRTF code r=ehsan
--HG--
extra : rebase_source : f6063443b6e7574055b0ad92e95e32d7f0a850cd
2013-08-08 21:37:36 +12:00
Karl Tomlinson
9524af834b b=815643 Import the HRTF panner implementation from Blink r=ehsan
This code was copied from Blink SVN revision 153183.

--HG--
extra : rebase_source : 968f69846f5c532eda3580c8ce2176e2e6b5fc63
2013-08-08 21:37:36 +12:00
Ryan VanderMeulen
8afe7e8fed Merge inbound to m-c. 2013-08-09 19:08:45 -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
Paul Adenot
b07edfc4a2 Bug 897092 - Fix setTargetAtTime glitch. r=ehsan
--HG--
extra : rebase_source : 8b1162e7721637df2b8a2faad849609d3177369b
2013-08-09 15:11:03 +02:00
Robert O'Callahan
95d8c8d855 Bug 856361. Part 8: Fix copying of track data from input streams to output streams in AudioNodeExternalInputStream. r=padenot
--HG--
extra : rebase_source : 344780d9c27ce3026ae5c12a08ea6a1ba3b4e924
2013-08-01 16:02:49 +12: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
JW Wang
dee2ecf218 Bug 875277 - Part 2: Implement WaveShaperNode.oversample - speex. r=ehsan 2013-08-06 14:11:32 +08:00
JW Wang
78371426cf Bug 875277 - Part 1: Implement WaveShaperNode.oversample - webidl enums. r=ehsan 2013-08-06 14:15:07 +08:00
Ryan VanderMeulen
94cd7b2435 Backed out changesets aee6b1a6c400 and a633e4d67d31 (bug 875277) for bustage. 2013-08-05 20:47:07 -04:00
JW Wang
6792fdb826 Bug 875277 - Part 2: Implement WaveShaperNode.oversample - speex. r=ehsan 2013-08-05 10:34:52 +08:00
JW Wang
82fbbe4088 Bug 875277 - Part 1: Implement WaveShaperNode.oversample - webidl enums. r=ehsan 2013-07-26 15:14:35 +08: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
Mike Hommey
d01b5df996 Bug 881323 - Re-implement CycleCollectorParticipant with actual vtables, with constexpr to avoid static initializers. r=mccr8 2013-08-02 10:29:05 +09:00
Ehsan Akhgari
5ee21d6d3f Bug 895322 - Part 1: Replace the usages of MOZ_STATIC_ASSERT with C++11 static_assert; r=Waldo
This patch was mostly generated by running the following scripts on the codebase, with some
manual changes made afterwards:

# static_assert.sh
#!/bin/bash
# Command to convert an NSPR integer type to the equivalent standard integer type

function convert() {
echo "Converting $1 to $2..."
find . ! -wholename "*nsprpub*" \
       ! -wholename "*security/nss*" \
       ! -wholename "*/.hg*" \
       ! -wholename "obj-ff-dbg*" \
       ! -name nsXPCOMCID.h \
       ! -name prtypes.h \
         -type f \
      \( -iname "*.cpp" \
         -o -iname "*.h" \
         -o -iname "*.cc" \
         -o -iname "*.mm" \) | \
    xargs -n 1 `dirname $0`/assert_replacer.py #sed -i -e "s/\b$1\b/$2/g"
}

convert MOZ_STATIC_ASSERT static_assert
hg rev --no-backup mfbt/Assertions.h \
                   media/webrtc/signaling/src/sipcc/core/includes/ccapi.h \
                   modules/libmar/src/mar_private.h \
                   modules/libmar/src/mar.h


# assert_replacer.py
#!/usr/bin/python

import sys
import re

pattern = re.compile(r"\bMOZ_STATIC_ASSERT\b")

def replaceInPlace(fname):
  print fname
  f = open(fname, "rw+")
  lines = f.readlines()
  for i in range(0, len(lines)):
    while True:
      index = re.search(pattern, lines[i])
      if index != None:
        index = index.start()
        lines[i] = lines[i][0:index] + "static_assert" + lines[i][index+len("MOZ_STATIC_ASSERT"):]
        for j in range(i + 1, len(lines)):
          if lines[j].find("                 ", index) == index:
            lines[j] = lines[j][0:index] + lines[j][index+4:]
          else:
            break
      else:
        break
  f.seek(0, 0)
  f.truncate()
  f.write("".join(lines))
  f.close()

argc = len(sys.argv)
for i in range(1, argc):
  replaceInPlace(sys.argv[i])

--HG--
extra : rebase_source : 4b4a4047d82f2c205b9fad8d56dfc3f1afc0b045
2013-07-18 13:59:53 -04:00
Paul Adenot
0bdeab0a15 Bug 895720 - Actually use the fuzz value. 2013-07-30 11:10:33 +01:00
Paul Adenot
0e9230a9f2 Bug 895720 - On MacOS, increase the fuzz factor for test_audioBufferSourceNodeOffset.html. 2013-07-30 11:06:33 +01:00
Ryan VanderMeulen
f3f8beff11 Bug 894941 - Increase fuzz tolerance for the small-shot.ogg mediaDecoding test to resolve a CLOSED TREE. 2013-07-26 15:17:34 -04:00
Robert O'Callahan
a20b43c5a8 Bug 890716. Fix race in Reverb::Reverb. r=padenot
--HG--
extra : rebase_source : 65af577f5ffcf7f7a0b650f1693f4159ddac4ac6
2013-07-26 13:35:22 +12:00
Ms2ger
36f3f6ae03 Bug 885170 - Remove nsINode::GetClassInfo(); r=peterv 2013-07-24 09:31:06 +02:00
Ms2ger
fb6790e6d8 Bug 888643 - Part b: Move CPP_UNIT_TESTS definitions into moz.build files; r=gps 2013-07-24 09:23:06 +02:00
Joshua Cranmer
08dac03f44 Bug 884061 - Part 3d: Use NS_DECL_THREADSAFE_ISUPPORTS in content/, r=smaug
--HG--
extra : rebase_source : ee869e0ec710259b1f3d1a328bff27c5d2960ea1
2013-07-18 21:21:19 -05:00
Ehsan Akhgari
2e9a3a5936 Bug 891254 - Fix the usage of uninitialized samples when the input to a ConvolverNode has a volume; r=roc
--HG--
extra : rebase_source : 2d7e6c393e66096cf410adce0924843ad2eda61b
2013-07-18 10:22:47 -04: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
d8fa3b15c0 Bug 894150 - Unregister the PannerNode in the AudioListener when destroying the stream. r=ehsan 2013-07-16 14:45:41 +02:00
Ryan VanderMeulen
4d4078f8cb Backed out 2 changesets (bug 894150) for crashtest orange.
Backed out changeset 80ce41a4e6ee (bug 894150)
Backed out changeset b41c7f2ddda5 (bug 894150)
2013-07-16 12:33:56 -04:00
Paul Adenot
b266047b79 Bug 894150 - Test. 2013-07-16 17:39:13 +02:00
Paul Adenot
f2c6d51eea Bug 894150 - Unregister the PannerNode in the AudioListener when destroying the stream. r=ehsan 2013-07-16 14:45:41 +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
Paul Adenot
043fd87042 Bug 886653 - Don't call speex_resampler_skip_zeros when changing the rate in AudioBufferSourceNode. r=ehsan 2013-07-12 17:21:51 +02:00
Paul Adenot
aacae3cd50 Bug 892492 - Fix automation on AudioBufferSourceNode.playbackRate. r=ehsan 2013-07-12 11:23:21 +02:00
Trevor Saunders
82e5558b37 bug 887483 - remove a bunch of useless assignments to FORCE_STATIC_LIB implied by LIBXUL_LIBRARY=1 r=mshal 2013-07-11 11:06:34 -04:00
Thomas Zimmermann
029ae7c49e Bug 831224: Allow update of the media duration, r=padenot
With MP3 streams, the media duration might change after we received
new data. This patch adds infrastructure to signal the new duration
to the media decoder and state machine. It will also fire an event
of type 'durationchange' to the DOM.
2013-05-03 09:48:37 +02:00
JW Wang
704634eff4 Bug 896353 - Set principal for mDOMStream in MediaStreamAudioDestinationNode. r=roc 2013-07-23 11:54:32 +08:00
Ed Morley
dd1504ab38 Backed out changeset 43953e9233a2 (bug 831224) 2013-08-08 09:59:49 -07:00
Thomas Zimmermann
21922c6b1f Bug 831224: Allow update of the media duration, r=padenot
With MP3 streams, the media duration might change after we received
new data. This patch adds infrastructure to signal the new duration
to the media decoder and state machine. It will also fire an event
of type 'durationchange' to the DOM.

--HG--
extra : rebase_source : f417b968e81d9c9a1aff8ae3174079a297eb371b
2013-05-03 09:48:37 +02:00
Paul Adenot
4392f23f11 Bug 888271 - Make test_AudioBufferSourceNodeOffset.html fuzzier. 2013-07-10 15:03:19 +02:00
Ehsan Akhgari
0a8e65dd4a Bug 891543 - Remove the version of AudioBuffer::GetChannelData that is unused; r=roc 2013-07-09 17:35:05 -04:00
Ryan VanderMeulen
e527d02c4a Bug 888271 - Increase errorRatio allowance of AudioBufferSourceNode test. r=padenot 2013-07-09 16:01:58 -04:00
Paul Adenot
967aaeb186 Bug 888271 - Don't substract twice by mOffset in AudioBufferSourceNode. r=ehsan 2013-07-09 10:41:54 +02:00
Ehsan Akhgari
9575f867f2 Bug 890543 - Make AudioBuffer not inherit from nsISupports; r=mccr8 2013-07-05 16:21:52 -04:00
Robert O'Callahan
56ffa35ac0 Bug 890248. Avoid situations where adding a new input to an AudioNode can race with a message telling the AudioNode to release its mPlayingRef. r=ehsan
--HG--
extra : rebase_source : 913683cc16a717bf73f9976292af965aba6b7758
2013-07-05 13:49:53 +12:00
Robert O'Callahan
78a692c67a Bug 886618. Part 4: Test. r=ehsan 2013-07-05 09:19:54 +12:00
Ehsan Akhgari
eaa8385098 Bug 890072 - Part 2: Keep the ConvolverNode alive while its reverb buffers are being exhausted; r=roc 2013-07-03 21:38:31 -04:00
Ehsan Akhgari
a6a3a001eb Bug 890072 - Part 1: Factor out PlayingRefChanged from DelayNodeEngine; r=roc 2013-07-03 21:37:39 -04:00
Ehsan Akhgari
41c4bbf2bc Bug 889016 - Part 2: Report an error in the synchronous AudioContext.createBuffer unless the legacy pref has been set; r=roc 2013-07-04 09:25:12 -04:00
Ehsan Akhgari
1f4cc9ee86 Bug 890023 - Set the output channel count for ConvolverNode to 2 unconditionally; r=roc 2013-07-04 09:22:22 -04:00
Ehsan Akhgari
9810921acc Backed out 2 changesets (bug 890072) for possible leaks
Backed out changeset 5e815a5ca50d (bug 890072)
Backed out changeset 7151ab8ff70c (bug 890072)
2013-07-03 22:17:25 -04:00
Ehsan Akhgari
93ad1a8f64 Bug 890072 - Part 2: Keep the ConvolverNode alive while its reverb buffers are being exhausted; r=roc 2013-07-03 21:38:31 -04:00
Ehsan Akhgari
83be9599d6 Bug 890072 - Part 1: Factor out PlayingRefChanged from DelayNodeEngine; r=roc 2013-07-03 21:37:39 -04: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
2df7ddb555 Backed out 2 changesets (bug 890072) because gcc sucks
Backed out changeset ff011e5b3655 (bug 890072)
Backed out changeset 0ed650741dc5 (bug 890072)
2013-07-03 20:36:06 -04:00
Ehsan Akhgari
44670c6487 Bug 890072 - Part 2: Keep the ConvolverNode alive while its reverb buffers are being exhausted; r=roc 2013-07-03 20:20:57 -04:00
Ehsan Akhgari
45cec38f9b Bug 890072 - Part 1: Factor out PlayingRefChanged from DelayNodeEngine; r=roc 2013-07-03 20:20:06 -04:00
Ehsan Akhgari
d1d9fbed63 Bug 889042 - Null check the argument to ConvolverNode::SetBuffer; r=padenot
--HG--
extra : rebase_source : e69ed91550603d4477b0b6084e05af971a0b050c
2013-07-02 14:15:32 -04:00
Robert O'Callahan
2b403babce Bug 886618. Part 2: Simplify OOM handling when stealing array buffer data. r=ehsan
--HG--
extra : rebase_source : 1343b39cdf4e65af99219da47e778f86d8a38b04
2013-06-30 00:30:35 +12:00
Robert O'Callahan
7ef9b92ccb Bug 886618. Part 3: Handle null data in ConvolverNode. r=ehsan
--HG--
extra : rebase_source : 64e9c67937db1bea84bc3445d1e774782b5de419
2013-06-29 17:32:18 +12:00
Robert O'Callahan
63f7a9af8d Bug 886618. Play nothing when one or more of the Float32Arrays of an AudioBuffer has been neutered. r=ehsan
--HG--
extra : rebase_source : 6778a5416142e247aa91ec29bbc50b049ecd6d90
2013-06-26 04:01:07 +12:00
Justin Lebar
6c46d0633d Bug 820686 - Remove code after MOZ_CRASH or MOZ_ASSUME_NOT_REACHED. r=(see below)
r=tbsaunde for accessible
r=jmuizelaar for gfx
r=waldo for js
r=roc for layout
r=glandium for mozglue
r=jduell for netwerk
r=khuey for everything else
2013-06-28 18:38:32 -07:00
Justin Lebar
75c400493b Bug 802686 - s/MOZ_NOT_REACHED/MOZ_CRASH/ in Gecko. r=(see below)
r=tbsaunde for accessible
r=jmuizelaar for gfx
r=roc for layout
r=glandium for mozglue
r=jduell for netwerk
r=khuey for everything else

This is a mechanical change made with sed.  Later patches in this queue
clean up the whitespace errors and so on.
2013-06-28 18:38:30 -07:00
Robert O'Callahan
15ce2d4131 Bug 886618. Remove dead AudioBuffer code. r=ehsan
--HG--
extra : rebase_source : fcd30cacfbcd1a43f62e0c0ce7df2dd57c307366
2013-06-29 01:49:56 +12:00
Robert O'Callahan
315060d0c1 Bug 886657. Don't play anything from an AudioBufferSourceNode until a buffer has been set and start() has been called. r=ehsan 2013-06-26 04:00:42 +12:00
Masatoshi Kimura
af2068ecf9 Bug 859022 - Remove the MSVC exemption for FAIL_ON_WARNINGS in content/media. r=roc 2013-06-27 20:30:41 +09:00
Ehsan Akhgari
c7eec477d6 Bug 886660 - Fix the leak in FFTBlock::SetFFTSize(); r=roc 2013-06-25 20:37:56 -04:00
Ryan VanderMeulen
0406c5ea35 Backed out 2 changesets (bug 886618, bug 886657) for frequent OSX 10.7 mochitest-1 failures.
Backed out changeset 9fd8b2adc693 (bug 886618)
Backed out changeset 376fe12f4de4 (bug 886657)
2013-06-25 15:24:11 -04:00
Robert O'Callahan
0055d1c333 Bug 886618. Play nothing when one or more of the Float32Arrays of an AudioBuffer has been neutered. r=ehsan
--HG--
extra : rebase_source : a254d45ed8222b7154a541ecfff63125541abf85
2013-06-26 04:01:07 +12:00
Robert O'Callahan
402d68090e Bug 886657. Don't play anything from an AudioBufferSourceNode until a buffer has been set and start() has been called. r=ehsan
--HG--
extra : rebase_source : 48494d925526a8a064b42a59797fef70c61d4276
2013-06-26 04:00:42 +12:00
Ehsan Akhgari
08ed61c0f0 Bug 885583 - Enable Web Audio unconditionally across mochitests; r=roc 2013-06-23 19:23:02 -04:00
Ehsan Akhgari
cbebfc17c9 Bug 886165 - Hide the alternate names in the spec behind prefs which are turned off by default; r=roc
This patch uses one pref per interface, to allow us finer grain control over
which ones we might need to turn on in the future.
2013-06-23 19:22:10 -04: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
Boris Zbarsky
256c17d070 Bug 883827. Make Optional<NonNull<T>> and Optional<OwningNonNull<T>> nicer to use by having their const Value() method return a T&. r=peterv 2013-06-19 14:48:43 -04:00
Ehsan Akhgari
e15c82a1f2 Bug 884632 - Optimize MediaStreamGraphImpl::PrepareUpdatesToMainThreadState in order to only include AudioNodeStreams that the main thread is interested in; r=roc 2013-06-18 23:09:44 -04:00
Jon Coppeard
586c7b4514 Bug 877762 - GC: Post-barrier cycle collector participants - 7 Convert most JSObect to use Heap<T> (ex. XBL) r=bz 2013-06-18 11:00:38 +01:00
Josh Matthews
9ea183ce8d Bug 865257 - Implement MediaStreamAudioDestinationNode. r=ehsan,roc 2013-05-21 15:17:47 -04:00
Ehsan Akhgari
7ee328d5a7 Bug 881558 - Re-introduce try-locking in the reverb implementation; r=roc 2013-06-12 20:57:17 -04:00
Ehsan Akhgari
86a61bfcd9 Bug 815643 - Part 9: Port Blink's LayoutTest for ConvolverNode to mochitest-plain; r=roc
--HG--
extra : rebase_source : b829991957f0349a6c2541fcc99d4214e701a2ae
2013-06-10 16:10:07 -04:00
Ehsan Akhgari
0342e8ccf4 Bug 815643 - Part 8: Import convolution tests from Blink; r=roc
Imported from Blink SVN revision 150518

--HG--
extra : rebase_source : c50aeed5d0fceaa9112cd9e791ec7acd9904fd84
2013-06-10 16:09:53 -04:00
Ehsan Akhgari
b13562cec7 Bug 815643 - Part 7: Add a basic API test for ConvolverNode; r=roc
--HG--
extra : rebase_source : be90de45e240fec45875a65235104d2d92716a14
2013-06-10 16:09:38 -04:00
Ehsan Akhgari
a55f314420 Bug 815643 - Part 6: Optimize FFTBlock to avoid recreating kiss_fftr_cfg objects all the time; r=roc
Setting up the FFT tables turns out to be quite expensive because of the
large number of calls to sin() and cos().

In the future we may want to look into having a global cache of FFT
tables per size, in order to pay the cost of setting each one of them up
only once.

--HG--
extra : rebase_source : 871d11e7f74db9e3e6c704da9518d40cba3deb8a
2013-06-10 16:09:25 -04:00
Ehsan Akhgari
af95a1d60d Bug 815643 - Part 5: Implement ConvolverNode's processing based on the Blink implementation; r=roc
--HG--
extra : rebase_source : 4c1a8dbaa4ab2d4fcc67c0a5226a6937e0656404
2013-06-10 16:09:12 -04:00
Ehsan Akhgari
5c7839318c Bug 815643 - Part 4: Add the Convolution processing implementation to the build system; r=roc
--HG--
extra : rebase_source : 2a5aa609334c67bb9b09090d9f681c5c3a940c5c
2013-06-10 16:09:01 -04:00
Ehsan Akhgari
e6e01928fc Bug 815643 - Part 3: Import the Convolution processing implementation from Blink; r=roc
The original code was copied from Blink SVN revision 150518.

--HG--
extra : rebase_source : 1fbc3cc7f7325bdd8806d7ef30a5c882b505debf
2013-06-10 16:08:38 -04:00
Ehsan Akhgari
8353ddad3c Bug 815643 - Part 2: Refactor our Web Audio FFT code into the FFTBlock class; r=roc
This is useful in order for us to be able to borrow code from Blink with
fewer changes, and also to explore faster platform dependent FFT
implementations in the future if needed.

--HG--
extra : rebase_source : 34bbded736e1b385754756513c59ee27ce7552a5
2013-06-10 16:08:21 -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
633030a223 Bug 865244 - Test for AudioContext.destination.maxChannelCount. r=ehsan 2013-06-10 19:32:28 +02:00
Paul Adenot
7bd9ae8ec4 Bug 865244 - Implement AudioContext.destination.maxChannelCount. r=ehsan 2013-06-10 19:32:28 +02:00
Sankha Narayan Guria
2bfc77e0ce Bug 880265 - Remove AudioBufferSourceNode.gain; r=ehsan 2013-06-08 00:55:04 +05:30
Paul Adenot
58b0235609 Bug 878875 - Port Blink's LayoutTest for PannerNode to mochitest-plain. r=ehsan 2013-06-07 20:06:40 +02:00
Paul Adenot
9b4fefabf4 Bug 878875 - Import PannerNode tests from Blink. r=ehsan
Imported from Blink SVN revision 152035
2013-06-07 20:06:40 +02:00
Ehsan Akhgari
1391c0772c Bug 880129 - Correctly handle AnalyserNodes with a buffer size smaller than 128; r=roc 2013-06-07 07:33:00 -04:00
Ehsan Akhgari
62640d6e21 Bug 879014 - Part 2: Implement the alternate enum values for BiquadFilterNode; r=roc 2013-06-03 19:23:06 -04:00
Ehsan Akhgari
c444ec8b37 Bug 879014 - Part 1: Implement the alternate enum values for PannerNode; r=roc 2013-06-03 19:22:48 -04:00
Ryan VanderMeulen
3dd3218865 Backed out 3 changesets (bug 877527, bug 878765) for mochitest-1 timeouts on a CLOSED TREE.
Backed out changeset 0bf1e71fe3cc (bug 877527)
Backed out changeset 8473deb5fba9 (bug 878765)
Backed out changeset 0d327854300c (bug 877527)
2013-06-03 15:01:20 -04:00
Paul Adenot
9e29aa84a4 Bug 877527. Forgot to hg add. 2013-06-03 19:15:41 +02:00
Paul Adenot
eb8ab95ec5 Bug 877527 2013-06-03 19:13:23 +02:00
Ehsan Akhgari
5698703154 Bug 878478 - Disable looping of AudioBufferSourceNode when we detect that the loopStart offset is not less than the loopEnd offset; r=roc 2013-06-02 09:26:26 -04:00
Ehsan Akhgari
b319c56bac Bug 878328 - Sanitize the time argument of AudioParam.setValueCurveAtTime; r=roc 2013-06-02 09:26:06 -04:00
Ehsan Akhgari
dc0358066e Bug 878407 - Allocate a large enough delay buffer when the delay time fraction value is less than 0.5; r=roc 2013-06-02 09:25:46 -04:00
Ehsan Akhgari
7bb5a36eda Bug 878497 - Add a test case for AudioParam.setValueAtTime; r=roc 2013-06-02 09:25:16 -04:00
Ehsan Akhgari
1e0789da84 Bug 878014 - Use double precision when sampling the delay AudioParam; r=roc 2013-06-01 03:02:46 -04:00
Ehsan Akhgari
72c63d4e5c Bug 877820 - Improve the argument checking for OfflineAudioContext's sampleRate argument; r=roc 2013-05-30 20:54:07 -04:00
Ehsan Akhgari
13fff291bf Bug 876024 - Sanity check all of the time values passed to Web Audio; r=roc 2013-05-30 20:53:15 -04:00
Ehsan Akhgari
d822bd3533 Bug 877523 - Correctly handle small maximum delay values for DelayNode; r=roc 2013-05-30 20:52:26 -04:00
Ehsan Akhgari
b64aed8e7c Bug 877039 - Set the Web Audio maximum channel count to 32; r=roc
--HG--
extra : rebase_source : 7e5bb51cd3bd9b4fbe01649af8f14e17cf6b3042
2013-05-30 14:25:52 -04:00
Arnaud Sourioux
ac2132dad0 Bug 856822: Annotate ~1700 methods with MOZ_OVERRIDE in /content r=smaug 2013-05-29 13:43:41 -07:00
Ehsan Akhgari
df64361ce8 Bug 877231 - Make the error checking for the OfflineAudioContext constructor more strict; r=roc
--HG--
extra : rebase_source : 123a39f3d4a169c85927b4e23f99a9962efc4452
2013-05-29 19:35:30 -04:00
Ehsan Akhgari
2577c23c9a Bug 877125 - Handle the case where the expected number of channels for the offline AudioDestinationNode and the actual input number of channels do not match; r=roc
--HG--
extra : rebase_source : 432c10fe039b24b1aea1d0329ebef37f9e62cd0a
2013-05-29 19:33:14 -04:00
Ryan VanderMeulen
468b93224a Backed out changeset a966aadd9ae3 (bug 856822) for Windows bustage on a CLOSED TREE. 2013-05-29 17:56:10 -04:00
Arnaud Sourioux
ff4b91709f Bug 856822: Annotate ~1700 methods with MOZ_OVERRIDE in /content r=smaug 2013-05-29 13:43:41 -07:00
Ehsan Akhgari
de94a9e96b Bug 875221 - Make sure to balance the creation and destruction of streams for media graphs; r=roc 2013-05-29 11:38:39 -04:00
Ehsan Akhgari
3b9b54e31a Bug 876118 - Impose a unified channel count limit of 10000 channels in Web Audio; r=roc
--HG--
extra : rebase_source : 480cebb99e5dd8673df179b490d11e6c513fa1d1
2013-05-29 07:36:37 -04:00
Ehsan Akhgari
abe35e49ff Bug 876834 - Do not accept sampling rates which we won't be able to handle when creating an OfflineAudioContext; r=roc 2013-05-29 00:10:52 -04: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
59a18c2247 Bug 876252 - Stop the AudioBufferSourceNode if the offset is no longer valid after setting a new buffer more effectively; r=roc
Calling Stop() here is not quite enough, because web content might call stop() again
with a non-zero argument, which overrides what we do here.
2013-05-27 20:17:24 -04:00
Mike Shal
994cfe0b6b Bug 864774 - Part 2: Move CPPSRCS to moz.build as CPP_SOURCES; r=joey CLOSED TREE
From 9e0ba7f425143f545eb6c4b26a9a96b5ade4d8e9 Mon Sep 17 00:00:00 2001
2013-04-23 17:54:15 -04:00
Ehsan Akhgari
ac9c045ad1 Bug 875402 - Delete MediaInputPort objects using normal refcounting semantics; r=roc 2013-05-25 10:01:08 -04:00
Ehsan Akhgari
0ab611361f Bug 875596 - Properly handle AudioParam SetCurve automation events with a 0 duration; r=roc
--HG--
rename : content/media/webaudio/test/test_audioParamSetCurveAtTime.html => content/media/webaudio/test/test_audioParamSetCurveAtTimeZeroDuration.html
2013-05-24 13:19:47 -04:00
Ehsan Akhgari
3c5b12a9a8 Bug 873553 - Part 11: Run the Web Audio tests with two OfflineAudioContexts, one at 48KHz and one at 44.1KHz; r=roc
--HG--
extra : rebase_source : b3847be5b05a9dc5e0d3233fadd30c92a6f07292
2013-05-24 13:11:53 -04:00
Ehsan Akhgari
ca9338667f Bug 873553 - Part 10: Allow creating OfflineAudioContexts with arbitrary sampling rates; r=roc
--HG--
extra : rebase_source : 99758cbe05b83d34734e4df11f30ebbbd12811df
2013-05-24 13:11:32 -04:00
Ehsan Akhgari
7243e880a5 Bug 873553 - Part 9: Port WebAudioUtils to use the stream's sampling rate; r=roc
--HG--
extra : rebase_source : 18e01ed739bb505f7825c3d79e00c8552a70fad0
2013-05-24 13:11:18 -04:00
Ehsan Akhgari
c3f2357a32 Bug 873553 - Part 8: Port DynamicsCompressorNode to use the stream's sampling rate; r=roc
--HG--
extra : rebase_source : ebf2989b778a03f873eea83ed5c885360981e2ed
2013-05-24 13:10:59 -04:00
Ehsan Akhgari
57a5f849b0 Bug 873553 - Part 7: Port DelayNode to use the stream's sampling rate; r=roc
--HG--
extra : rebase_source : db35f08edab8a54c6c60a0ead2d7afed59d2c360
2013-05-24 13:10:44 -04:00
Ehsan Akhgari
6cc538470a Bug 873553 - Part 6: Port BiquadFilterNode to use the stream's sampling rate; r=roc
--HG--
extra : rebase_source : 3522c7cb9ea0469f6ac9607ea0408b078f56f09e
2013-05-24 13:10:24 -04:00
Ehsan Akhgari
d934527fc6 Bug 873553 - Part 5: Port AudioBufferSourceNodeEngine to use the stream's sampling rate; r=roc
--HG--
extra : rebase_source : 13d1133fb34d3695eece432047b719b456961610
2013-05-24 13:13:31 -04:00
Ehsan Akhgari
6c146d9103 Bug 873553 - Part 4: Pass the sampling rate to the engine in SetTimelineParameter; r=roc
--HG--
extra : rebase_source : aa574757e9791eafd8c6825328fc4e2f65479f34
2013-05-24 13:10:08 -04:00
Ehsan Akhgari
d5f53f01ab Bug 873553 - Part 3: Rename AudioBufferSourceNodeEngine::mSampleRate to mBufferSampleRate; r=roc
--HG--
extra : rebase_source : 3970da0f20d3d53f17d0ce8244a12de073eeb19a
2013-05-24 13:09:51 -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
3e5b5e657d Bug 875144 - Disallow creating AudioBuffers of 0 length; r=roc 2013-05-23 22:39:36 -04:00
Ehsan Akhgari
35f81fb4da Bug 874024 - Allow creation of ScriptProcessorNodes with 0 input or output channels; r=roc 2013-05-23 08:26:21 -04:00
Ehsan Akhgari
c08a3bf04a Bug 874915 - Stop the AudioBufferSourceNode if the offset is no longer valid after setting a new buffer; r=roc
--HG--
extra : rebase_source : 0b179aab5ddb1ffd4ab2aeb8366b36975c949187
2013-05-23 07:50:48 -04:00
Ehsan Akhgari
1bfc965bdc Bug 874869 - Disallow setting AudioNode.channelCount to zero; r=roc
--HG--
extra : rebase_source : 8015dda70e2191820c9482b529a22bdaa67dd79e
2013-05-23 07:46:20 -04:00
Ryan VanderMeulen
4a2c1820e6 Backed out changesets e52c6f7200b3 and 2718954757e1 (bug 874869) for intermittent Windows leaks. 2013-05-22 15:22:26 -04:00
Bobby Holley
91448a9dac Bug 868130 - Remove the lion's share of JSAutoRequests in gecko. r=gabor
There are still a handful that either are used with other runtimes, or that
happen very early/late in cx the lifetime of various things where it doesn't
necessarily make sense to have a cx on the stack. This should definitely ensure
that we're not doing double-duty with the nsCxPusher change, though.
2013-05-22 10:05:28 -06:00
Bobby Holley
54ef3d2952 Bug 868130 - Include nsCxPusher.h everywhere we need it, and stop including it from nsContentUtils.h. r=gabor 2013-05-22 10:05:26 -06:00
Ehsan Akhgari
34a9786e5f Bug 874869 - Disallow setting AudioNode.channelCount to zero; r=roc 2013-05-22 11:30:31 -04:00
Ehsan Akhgari
84a5e374ef Bug 873335 - Unlink ScriptProcessorNode members before AudioNode; r=mccr8 2013-05-21 14:54:23 -04:00
Ehsan Akhgari
3894f484df Bug 836599 - Part 14: Run most of the existing Web Audio tests using OfflineAudioContext as well as AudioContext; r=roc
This helps us get a decent amount of test coverage on OfflineAudioContext in
both the existing tests and the future tests.
2013-05-16 19:31:08 -04:00
Ehsan Akhgari
30c4151889 Bug 836599 - Part 13: Add a unit test for OfflineAudioContext; r=roc 2013-05-16 19:31: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
Ehsan Akhgari
497b7175f9 Bug 872635 - Drop the DelayNode's self-reference right on time, to make sure that DelayNodes don't leak with OfflineAudioContexts; r=roc 2013-05-15 20:51:47 -04:00
Paul Adenot
6d73395fce Bug 867104 - Add a crashtest. r=ehsan 2013-05-14 14:14:42 +02:00
Paul Adenot
0048792bd1 Bug 867104 - r=ehsan 2013-05-14 14:14:42 +02:00
Ehsan Akhgari
bee3aa1c74 Bug 865251 - Implement WaveShaperNode; r=roc 2013-05-14 00:12:30 -04:00
Ed Morley
36fb30076b Backed out changeset 496846474ed3 (bug 864774) 2013-05-13 10:05:49 +01:00
Ehsan Akhgari
19d51152a3 Bug 871201 - Part 2: Implement AudioBufferSourceNode.gain; r=roc
X-Git-Commit-ID: db8923b372db098aa7a5dc1cbf42674310b61aef
X-Mailer: git-send-email

--HG--
rename : content/media/webaudio/test/test_audioBufferSourceNode.html => content/media/webaudio/test/test_audioBufferSourceNodeGain.html
rename : content/media/webaudio/test/test_audioBufferSourceNode.html => content/media/webaudio/test/test_delayNodeWithGainAlternate.html
extra : rebase_source : 2cc9259229209fa926970e78ddfc2ef5765f4ad5
2013-05-13 00:17:55 -04:00
Ehsan Akhgari
dfe47b7ab0 Bug 871201 - Part 1: Refactor the gain processing logic of GainNodeEngine into a reusable base class; r=roc
X-Git-Commit-ID: e3c9ccaf984c74bb041e2a35fb092dd91e643555
X-Mailer: git-send-email

--HG--
extra : rebase_source : c26ad3b5953f15b599baa9fea0cf66580f2a3262
2013-05-13 00:17:36 -04:00
Ehsan Akhgari
5a3c2ed05b Bug 870174 - Eliminate some lags and glitches caused by resampling in decodeAudioData and AudioBufferSourceNode.cpp, and make the code simpler too!; r=roc
X-Git-Commit-ID: d9ad3597291b9f656712dcdd15725afcc3882fa1
X-Mailer: git-send-email

--HG--
extra : rebase_source : 5f51d27aec53fd5e9ab868e799ce05ee2b7692d4
2013-05-13 00:17:00 -04:00
Mike Shal
02469b68e2 Bug 864774 - Part 2: Move CPPSRCS to moz.build as CPP_SOURCES; r=joey
From 140b9201e3b5d2d8efe7af286d279c2411dbc197 Mon Sep 17 00:00:00 2001
2013-04-23 17:54:15 -04:00
Nathan Froyd
eba34f22d7 Bug 858131 - rewrite FloatingPoint.h to be C++-only instead of C-compatible C++; r+original-author=Waldo 2013-05-01 16:55:13 -04:00
Ehsan Akhgari
e6ca808683 Bug 870167 - Create a mini test framework for Web Audio; r=roc
--HG--
rename : content/media/webaudio/test/test_audioBufferSourceNodeLoop.html => content/media/webaudio/test/test_audioBufferSourceNodeEnded.html
extra : rebase_source : 787d1d19b6463906ff9db8cbfb5e61d76a2ab667
2013-05-09 08:45:35 -04:00
Ehsan Akhgari
d0679b48e8 Bug 869682 - Make sure that GainNode does not modify its input buffer; r=roc 2013-05-07 23:32:23 -04:00
Ehsan Akhgari
14175761c2 Bug 869224 - Use the same algorithm to compute the buffer start/end time and to convert AudioParam time values to ticks; r=roc 2013-05-07 23:31:15 -04:00
Nathan Froyd
dc3bfcbc39 Bug 869073 - make WebIDL enums enum classes instead of plain enums; r=bz 2013-05-06 15:28:13 -04:00
Ehsan Akhgari
4da547d014 Bug 865242 - Remove support for soundfield panning from PannerNode; r=padenot 2013-05-07 08:27:08 -04:00
Ehsan Akhgari
f01f0505d9 Bug 865231 - Implement AudioParam.setValueCurveAtTime; r=roc 2013-05-06 19:50:45 -04:00
Ehsan Akhgari
c3c3b0028e Bug 868864 - Correctly scale the time values of AudioParam when converting it to ticks, and correctly calculate SetTargetAtTime event values the first time they're encountered; r=roc 2013-05-06 14:59:43 -04:00
Ehsan Akhgari
ed4c312d3e Bug 868855 - Respect the input's volume in ChannelMergerNode and ChannelSplitterNode; r=roc 2013-05-06 14:30:47 -04:00
Ehsan Akhgari
98bbd68e08 Bug 865233 - Implement the ended event for AudioBufferSourceNode; r=roc 2013-05-06 14:22:01 -04:00
Ehsan Akhgari
d737c31ab8 Bug 867174 - Part 2: Protect against invalid sample rates a bit harder; r=padenot 2013-05-06 11:34:03 -04:00
Ehsan Akhgari
46cad293b8 Bug 865248 - Implement ChannelMergerNode; r=roc
--HG--
rename : content/media/webaudio/ChannelSplitterNode.h => content/media/webaudio/ChannelMergerNode.h
2013-05-05 11:49:37 -04:00
Ehsan Akhgari
5b8b3eb487 Bug 865247 - Part 4: Implement ChannelSplitterNode; r=roc 2013-05-05 11:49:13 -04:00
Ehsan Akhgari
07fbb18a70 Bug 865247 - Part 3: Add a ProduceAudioBlock overload to handle simultaneous processing of multiple input and output ports; r=roc
The ObtainInputBlock API is also changed to create an input block for one input
block at a time.  An array of these input blocks is then sent to
ProduceAudioBlock for processing, which generates an array of AudioChunks as
output.

Backwards compatibilty with existing engines is achieved by keeping the
existing ProduceAudioBlock API for use with engines with only a maximum of one
input and output port.
2013-05-05 11:48:45 -04:00
Ehsan Akhgari
7275461f2b Bug 865247 - Part 2: Tell MediaInputPorts about their input and output ports; r=roc 2013-05-05 11:47:59 -04:00
Ehsan Akhgari
8d0e9d56f7 Bug 868485 - Part 2: Add test cases for createBuffer with mono downmixing; r=roc 2013-05-05 11:16:23 -04:00
Ehsan Akhgari
91cf92d40d Bug 868485 - Part 1: Implement the mixToMono behavior for createBuffer; r=roc 2013-05-05 11:15:58 -04:00
Ehsan Akhgari
bf10328ba6 Bug 868776 - Fix rooting hazards in Web Audio code; r=till 2013-05-04 17:40:20 -04:00
Yuan Pengfei
9ba4db562b Bug 868716 - Fix placement of #include <float.h>; r=ehsan 2013-05-04 11:35:35 -04:00
Chris Pearce
bbaa7306e8 Bug 847267 - Use DXVA2 to offload H.264 decoding to the GPU on Windows. r=Bas 2013-05-04 22:12:41 +12:00
James Willcox
8a604ee1de Bug 848652 - Implement ArrayBuffer version of AudioContext.createBuffer r=ehsan
--HG--
rename : content/media/webaudio/test/test_decodeAudioData.html => content/media/webaudio/test/test_mediaDecoding.html
2013-05-03 16:42:28 -04:00
Matt Brubeck
4a49b819a3 Back out changeset 1a0f522cf110 (bug 848652) because of assertion failures in MediaBufferDecoder.cpp
CLOSED TREE

--HG--
rename : content/media/webaudio/test/test_mediaDecoding.html => content/media/webaudio/test/test_decodeAudioData.html
2013-05-03 15:18:06 -07:00
Ehsan Akhgari
e79c6d96a9 Bug 868409 - ScriptProcessorNode's playing ref should remain active as long as there are outstanding connections; r=roc 2013-05-03 10:59:41 -04:00
James Willcox
ef70532696 # ebe5edd8c0ac367c043437a674d4200cf4525757
Bug 848652 - Implement ArrayBuffer version of AudioContext.createBuffer r=ehsan

--HG--
rename : content/media/webaudio/test/test_decodeAudioData.html => content/media/webaudio/test/test_mediaDecoding.html
extra : rebase_source : 7b0926091743dd6cd17a0adee9a6d3c5181dfa4d
2013-05-03 16:42:28 -04:00
Ehsan Akhgari
d2078ef9df Bug 867174 - Part 1: Deliver the correct channel count the to the resampler the first time that we see a buffer; r=padenot 2013-04-30 16:36:19 -04:00
Ehsan Akhgari
b396c375d9 Bug 867876 - Add some tests for the AudioParam automation events; r=roc 2013-05-02 01:13:27 -04:00
Paul Adenot
06a84c0e3f Bug 867203 - Part 2: Remove useless mPannerNode member in AudioBufferSourceNode. r=ehsan
--HG--
extra : rebase_source : dc94f66dbb4291226ab3f2c6c1ad8dc7aa4081e7
2013-05-02 17:04:49 +02:00
Ehsan Akhgari
c9ce04d576 Bug 867203 - Part 1: Unregister AudioBufferSourceNodes from PannerNodes when they die; r=padenot
--HG--
extra : rebase_source : 3c580a0feba39d01779a91e6bd10a10d98cb7114
2013-04-30 19:20:55 -04:00
Ehsan Akhgari
263ccfd864 Bug 866434 - Part 4: Add a test case for connecting an AudioNode to an AudioParam; r=roc 2013-05-01 23:13:43 -04:00
Ehsan Akhgari
bc394ffb2a Bug 866434 - Part 3: Mix in the value generated by AudioNode inputs to AudioParams when getting their values during audio processing; r=roc 2013-05-01 23:12:59 -04:00
Ehsan Akhgari
1cff2c39cc Bug 866434 - Part 2: Give each AudioParam that is connected to an AudioNode an AudioNodeStream; r=roc
These MediaStreams are used as a way to down-mix the input AudioChunks, and
also as a way to get proper stream processing ordering.  The MediaStream for
the source AudioNode is an input to these streams, and these streams in turn
are inputs to the MediaStream that the AudioNode that owns the AudioParam owns.
This way, the Media Streams Graph processing code will order the streams so
that by the time that the MediaStream for a given node is processed, all of the
MediaStreams belonging to the AudioNode(s) feeding into the AudioParam have
been processed.

This has a tricky side-effect that those streams also being considered when
determining the input block for the AudioNodeStream belonging to the
AudioParam's owner AudioNode.  In order to fix that, we simply special case
those streams and make AudioNodeStream::ObtainInputBlock ignore them.
2013-05-01 21:02:31 -04:00
Ehsan Akhgari
af0f671957 Bug 866434 - Part 1: Make it possible to connect an AudioNode to an AudioParam; r=roc 2013-05-01 18:59:02 -04:00
Ed Morley
8d30e59ef8 Backed out changeset 2938c2e1f7e7 (bug 867203) since part 1 had to be backed out for conflicts 2013-05-03 10:10:18 +01:00
Ed Morley
bcd204df9a Backed out changeset ad407adf94f2 (bug 867174) and friends for causing permaorange mochitest-2 on Android, disabling tests without using android.json and/or conflicting with the backouts on three CLOSED TREEs 2013-05-03 09:24:04 +01:00
Ed Morley
8cfe90523b Backed out changeset 9351bfd9d8c5 (bug 867174) 2013-05-03 09:20:05 +01:00
Ed Morley
e9207d2323 Backed out changeset 85ec6c943147 (bug 867876) 2013-05-03 09:20:01 +01:00
Ed Morley
275a93e3f3 Backed out changeset b342f87552a3 (bug 865642) 2013-05-03 09:19:58 +01:00
Ed Morley
359ab0de6f Backed out changeset 3cadad39da66 (bug 868116) 2013-05-03 09:19:55 +01:00
Ed Morley
74cc32e1ba Backed out changeset 93602e7a1551 (bug 865642) 2013-05-03 09:19:52 +01:00
Ed Morley
09a97ad595 Backed out changeset da92f0c44e91 (bug 867980) 2013-05-03 09:19:49 +01:00
Ed Morley
8644a275d4 Backed out changeset 6402e13dc9ba (bug 865642) 2013-05-03 09:19:46 +01:00
Ed Morley
d1a7b75684 Backed out changeset b66017604bdd (bug 867203) 2013-05-03 09:19:43 +01:00
Paul Adenot
871e1f91aa Bug 867203 - Part 2: Remove useless mPannerNode member in AudioBufferSourceNode. r=ehsan
--HG--
extra : rebase_source : 1b4bb979fd34dabc470ed8e59a40deaff0fa61a5
2013-05-02 17:04:49 +02:00
Ehsan Akhgari
33a92bcb9b Bug 867203 - Part 1: Unregister AudioBufferSourceNodes from PannerNodes when they die; r=padenot
--HG--
extra : rebase_source : e4aca1ebb975e04e8821df0377ee652e18755ed7
2013-04-30 19:20:55 -04:00
Ryan VanderMeulen
6599a4f628 Bug 865642 - Disable more tests on Android. 2013-05-02 23:59:31 -04:00
Ryan VanderMeulen
43b2d21d1b Bug 867980 - Disable test on Android due to frequent timeouts. 2013-05-02 21:25:38 -04:00
Ryan VanderMeulen
67bdfbb473 Bug 865642 - Disable tests on Android due to frequent timeouts. 2013-05-02 21:24:17 -04:00
Ryan VanderMeulen
850b69a548 Bug 868116 - Disable test on Android due to being perma-orange. 2013-05-02 15:39:40 -04:00
Ehsan Akhgari
1d93351afa Bug 865642 - Disable test_bug867174.html on Android 2013-05-02 12:03:49 -04:00
Oleg Romashin
6fd654b87f Bug 867964 - Build fail with DenormalDisabler.h:116: error: 'FLT_MIN' was not declared in this scope. r=ehsan
--HG--
extra : rebase_source : 7076471a442c3ce639b81259e824edd0c1a69eb0
2013-05-01 06:51:13 -07:00