Commit Graph

71 Commits

Author SHA1 Message Date
Mike Hommey
bc5d6801bb Bug 1041860 - Avoid setting FINAL_LIBRARY to libraries that further use a FINAL_LIBRARY. r=mshal 2014-07-23 08:37:51 +09:00
Karl Tomlinson
6578a0d181 b=991533 move sample rate limits to WebAudioUtils r=padenot
Also change WebAudioUtils from a class to a namespace, so that constant
variables can be defined inline with internal linkage.

static class variables cannot be defined inline because this violates the one
definition rule, even though some compilers may not notice.

--HG--
extra : transplant_source : %9F4%2Ct%BA%D2%BD%8A1Xev%92%C0%A1%AD%88IH%BF
2014-05-16 08:44:17 +12:00
Eric Rahm
314e9711f0 Bug 967817 - Finish memory reporters for Web Audio. r=roc, njn 2014-04-13 11:08:10 -07:00
Karl Tomlinson
d74753f274 b=986901 don't assume that DelayNode maxDelayTime is greater than 1 block r=padenot
Also apply DelayNode maxDelayTime before rounding to ticks.

--HG--
extra : transplant_source : %F1i%02%2A%ED%98%95%C9u%60%0B%1A%81A%C2%8E%FB%F3%FA%D5
2014-03-31 18:32:34 +13:00
Chris Peterson
650b323b04 Bug 984071 - Part 1: Fix unused variable warning in content/media/webaudio. r=padenot 2014-03-17 20:11:24 -07:00
Ehsan Akhgari
7361571aea Bug 981931 - Stop leaking the allocated buffers in PeriodicWave::createBandLimitedTables; r=padenot 2014-03-11 00:41:19 -04:00
Karl Tomlinson
da3263b6c1 b=857610 handle DelayNode channel count changes and separate buffer read and write r=padenot
The basic idea is to write out the signal that came in with the same number of
channels as it had when it came in.  Things get a bit more complicated when
one output block may be derived from more than one input block, each having
different numbers of channels.  When this happens, the input blocks with fewer
channels are upmixed, so as not to lose (or distort) any signal in the block
with more channels.

HRTFPanner no longer uses exponential decay (with time constant 20ms) for
delay changes, but a smoother linear transition during cross-fade time (~45ms).

--HG--
rename : content/media/webaudio/DelayProcessor.cpp => content/media/webaudio/DelayBuffer.cpp
rename : content/media/webaudio/DelayProcessor.h => content/media/webaudio/DelayBuffer.h
extra : rebase_source : 18453d631779cd7d0672b5325e110b107ab4237d
2014-03-05 10:06:57 +13:00
Karl Tomlinson
83baad2302 b=857610 remove unnecessary HRTFPanner loop as a block is always the same size r=padenot
--HG--
extra : rebase_source : 6325ac6ad4ee25c6b0facaaec27d1a0a25772107
2014-03-03 12:49:45 +13:00
Karl Tomlinson
b4147c8c5c b=857610 rename DelayProcessor to DelayBuffer r=padenot
--HG--
rename : content/media/webaudio/DelayProcessor.cpp => content/media/webaudio/DelayBuffer.cpp
rename : content/media/webaudio/DelayProcessor.h => content/media/webaudio/DelayBuffer.h
extra : rebase_source : be71a5abbcf067f513fbaf2967745e80383d285f
2014-03-03 12:49:45 +13:00
Birunthan Mohanathas
d07d624561 Bug 963056 - Part 1: Name unnamed struct in IRC_Composite_C_R0195-incl.cpp. r=ehsan 2014-02-11 13:31:57 -05:00
Paul Adenot
aacecc26c1 Bug 942022 - Return safely when thread creation fails, in ReverbConvolver. r=karlt 2014-01-10 16:01:18 +01:00
Karl Tomlinson
df5a5e02e8 b=956604 optimize inverse FFT scaling during convolution r=padenot
--HG--
extra : transplant_source : %FD%10%CEAnU%98w%15%9D%9E6l%A7Q1%E1V%CDD
2014-01-08 16:58:11 +13:00
Karl Tomlinson
a69af4fbbf b=956604 Remove unnecessary channel count parameter from AudioBufferInPlaceScale r=padenot
--HG--
extra : transplant_source : %98%098%E3%1D%9D%B4%22%FD%ED%3C%96%11%96%F9P%89%F4J0
2014-01-08 16:57:53 +13:00
Karl Tomlinson
f3dc828963 b=944143 avoid producing infinite stream of subnormals in ZeroPole tail r=padenot
--HG--
extra : transplant_source : gI%94%E9%DB%99%83%B7%09%B6%82q%FF9%5DI%BE%D6%EF%B6
2014-01-07 12:53:48 +13:00
Birunthan Mohanathas
3440613a39 Bug 713082 - Part 2: Rename Util.h to ArrayUtils.h. r=Waldo
--HG--
rename : mfbt/Util.h => mfbt/ArrayUtils.h
2013-12-08 21:52:54 -05:00
Karl Tomlinson
3d689d137a b=937057 provide a null ptr instead of a zero buffer when processing resampler tail r=padenot
--HG--
extra : transplant_source : %8EK%22q%A6%E9%82%F1%5E-%9E%BEs%01%F1%D1Jj%097
2013-12-03 12:07:17 +13:00
Karl Tomlinson
c7825beee6 b=939491 avoid producing infinite stream of subnormals in BiquadFilterNode tail r=padenot
Using double precision for the processing means the main loop is unlikely to
encounter subnormals and provides suitable extra precision to minimize
accumulation of error.

If the tail output values are denormalized when converted to single precision
then flush them to zero to reduce downstream computation cost.

--HG--
extra : transplant_source : %08%09u%C48%E3i%AB%23%1B%D8_kz%E5%A8_%3D%C4%93
2013-12-03 12:07:16 +13:00
Ehsan Akhgari
1a8e3f714a Bug 939571 - Build Web Audio in unified mode; r=glandium 2013-11-19 14:11:16 -05:00
Mike Hommey
2812d11fce Bug 939632 - Remove LIBRARY_NAME for leaf libraries. r=gps
Landing on a CLOSED TREE.
2013-11-19 11:50:54 +09:00
Mike Hommey
e06d795c71 Bug 939074 - Remove most LIBXUL_LIBRARY. rs=gps 2013-11-19 11:48:10 +09:00
Mike Hommey
e80e877ab7 Bug 939044 - Remove most definitions of MODULE. r=mshal 2013-11-19 11:47:39 +09:00
Mike Hommey
ffe0380912 Bug 935881 - Use FINAL_LIBRARY for all (fake) libraries that end up linked in a single other library. r=gps 2013-11-19 11:47:14 +09:00
Ms2ger
b63b756490 Bug 931404 - Move LOCAL_INCLUDES to moz.build in content/; r=gps 2013-11-11 09:04:06 +01:00
Karl Tomlinson
2b3444a66e b=898291 skip HRTF panner processing when input has been null long enough for output to be null r=ehsan
--HG--
extra : transplant_source : %E4l%83zo%0E%08%14%FF%F7%9D%D6%8C%FD%A2%07a%2A%8Aq
2013-10-25 14:05:43 +13:00
Karl Tomlinson
bc9f136d2d b=898291 erase azimuth/elevation history when reset()ing HRTFPanner r=ehsan
so that old cross-fade info does not distort new sound when a PannerNode
finishes and restarts.

--HG--
extra : transplant_source : I%A9%DAx%9F%AE%B8%88%90FN%3B%3E%FC%FE%827%CB%10%8C
2013-10-25 14:05:42 +13:00
Karl Tomlinson
4503f80c5a b=924288 continue producing BiquadFilter sound output after input becomes null r=ehsan
--HG--
extra : transplant_source : %A6%DDf%09%98C%C0%E6%AEy%F8%F6%FF%7E/f%D7%12Ub
2013-10-25 14:05:42 +13:00
Mike Hommey
b000a846c2 Bug 929905 - Consolidate sources in moz.build. r=gps 2013-10-25 08:23:05 +09:00
Brian O'Keefe
9c9d71fddb Bug 928709 - Convert chromium-config.mk to mozbuild, r=mshal 2013-10-02 13:17:55 -04:00
Birunthan Mohanathas
a058382a85 Bug 784739 - Switch from NULL to nullptr in content/; r=ehsan
--HG--
extra : rebase_source : 9237726507e8002479616a98a82646a763932507
2013-10-23 16:34:10 -04:00
Karl Tomlinson
27cf88ffdf b=924288 no need to set filter parameters after every process() r=ehsan
--HG--
extra : transplant_source : %23%D1%3B%D8%03%85%25%95%A8z%15%24K%F0%F7f2%20u%95
2013-10-09 15:33:07 +13:00
Ehsan Akhgari
8febb002f2 Convert the Web Audio DynamicsCompressorNode fatal assertion to a warning, because it should not be a fatal assertion (no bug) 2013-09-30 18:20:03 -04:00
Karl Tomlinson
02d29ab666 b=912474 use speex_resampler_process_int on platforms where speex_resampler_process_float expects samples in the range +/-32767 r=ehsan
--HG--
extra : rebase_source : 48b08dc174e49d26b80ac4e439f97c5e2fa65f58
2013-09-28 12:16:57 +12:00
Ralph Giles
2ea123dcde Bug 865256 - Part 3d: Port blink's PeriodicWave to gecko. r=ehsan
Changes to use gecko infrastructure.
2013-09-10 14:33:03 -07:00
Ralph Giles
bd65ff7b49 Bug 865256 - Part 3c: Import blink's PeriodicWave. r=ehsan
From 3807300c75ae70f004b76cbce023e59a0367e09b Mon Sep 17 00:00:00 2001
This is the original code from blink svn trunk r157670 for reference.
This commit has no porting or build support, to make subsequent changes
easier to identify.
2013-09-10 14:29:51 -07:00
Ehsan Akhgari
c88ae238ac Bug 917299 - Remove some dead code in content/ and dom/; r=bzbarsky 2013-09-17 12:49:07 -04:00
Robert O'Callahan
03e7828db2 Bug 910989. Remove nsTHashtable::Init, fallible allocation, and MT hashtables. r=ehsan,bsmedberg
--HG--
extra : rebase_source : 0787130b1814c74bfb38dc178de94022f0b2e64e
2013-09-02 20:41:57 +12:00
Mike Hommey
f8bc7fa754 Bug 912293 - Remove now redundant boilerplate from Makefile.in. r=gps 2013-09-05 09:01:46 +09:00
Karl Tomlinson
3d1ac8d90c b=906966 limit ConvolverNode and PannerNode input channel count through channelCount and channelCountMode r=ehsan
--HG--
extra : transplant_source : %8A%FB%BC%D3%D0%F3Ct%A5%D1%B1%AF%3D%9Bk%896%7F%7F%1F
2013-09-05 07:44:35 +12:00
Brian O'Keefe
d118b95a0d Bug 875934 - Move LIBRARY_NAME to moz.build, batch 3; r=mshal 2013-08-15 09:02:09 -04:00
Ms2ger
6d473220dc Bug 883284 - Part b: Move LIBXUL_LIBRARY into moz.build (a-c); r=joey 2013-08-22 08:55:59 +02:00
Ehsan Akhgari
1131972e0e Bug 905409 - Minimize the Web Audio #includes; r=roc 2013-08-15 15:44:14 -04:00
Karl Tomlinson
fb08eba385 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
c41d18de82 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
705047473b 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
1a98f66b41 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
b446dda0ec 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
82fc807491 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
64b55fc1da 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
dd71493550 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
7aae3a93ab 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