Commit Graph

472 Commits

Author SHA1 Message Date
Karl Tomlinson
d4a45b39b6 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
583218c666 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
3bfb5507c3 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
a650122f64 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
d494799ed1 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
0e2cb4c001 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
a7e95885f3 b=815643 remove unused HRTF code r=ehsan
--HG--
extra : rebase_source : f6063443b6e7574055b0ad92e95e32d7f0a850cd
2013-08-08 21:37:36 +12:00
Karl Tomlinson
d1fd66224a 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
13be9bc4d0 Merge inbound to m-c. 2013-08-09 19:08:45 -04:00
Nathan Froyd
149b32cc38 Bug 901615 - don't include BindingUtils.h in AudioContext.h; r=roc 2013-08-05 13:40:06 -04:00
Paul Adenot
ef23a9ac06 Bug 897092 - Fix setTargetAtTime glitch. r=ehsan
--HG--
extra : rebase_source : 8b1162e7721637df2b8a2faad849609d3177369b
2013-08-09 15:11:03 +02:00
Robert O'Callahan
537a0a5351 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
d6eeb2dccd 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
306005fb0f 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
2c86644947 Bug 856361. Part 5: Implement MediaStreamAudioSourceNode. r=ehsan
--HG--
extra : rebase_source : 265f31edda31a2f749eacc568919304622446748
2013-07-24 23:29:39 +12:00
JW Wang
ce885c443c Bug 875277 - Part 2: Implement WaveShaperNode.oversample - speex. r=ehsan 2013-08-06 14:11:32 +08:00
JW Wang
6d8256114d Bug 875277 - Part 1: Implement WaveShaperNode.oversample - webidl enums. r=ehsan 2013-08-06 14:15:07 +08:00
Ryan VanderMeulen
19f45ff72d Backed out changesets aee6b1a6c400 and a633e4d67d31 (bug 875277) for bustage. 2013-08-05 20:47:07 -04:00
JW Wang
ec7bb8499e Bug 875277 - Part 2: Implement WaveShaperNode.oversample - speex. r=ehsan 2013-08-05 10:34:52 +08:00
JW Wang
5d37ced844 Bug 875277 - Part 1: Implement WaveShaperNode.oversample - webidl enums. r=ehsan 2013-07-26 15:14:35 +08:00
Boris Zbarsky
82ba945cef 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
fa95f63946 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
ca80cd82ad 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
085494b95d 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
2c94d0b2f4 Bug 895720 - Actually use the fuzz value. 2013-07-30 11:10:33 +01:00
Paul Adenot
a33021b0b3 Bug 895720 - On MacOS, increase the fuzz factor for test_audioBufferSourceNodeOffset.html. 2013-07-30 11:06:33 +01:00
Ryan VanderMeulen
95c899b5cd 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
bb4a03e7ad Bug 890716. Fix race in Reverb::Reverb. r=padenot
--HG--
extra : rebase_source : 65af577f5ffcf7f7a0b650f1693f4159ddac4ac6
2013-07-26 13:35:22 +12:00
Ms2ger
5ae654e2b6 Bug 885170 - Remove nsINode::GetClassInfo(); r=peterv 2013-07-24 09:31:06 +02:00
Ms2ger
7d7359c752 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
46c5cc932a 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
81722d8e02 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
f0b2dcf9d3 Bug 883591 - Don't allow creating a MediaStreamDestinationNode on an OfflineAudioContext. r=ehsan 2013-07-18 11:57:38 +02:00
Paul Adenot
23e5b0ef24 Bug 894150 - Unregister the PannerNode in the AudioListener when destroying the stream. r=ehsan 2013-07-16 14:45:41 +02:00
Ryan VanderMeulen
01616062a4 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
ed960be5bf Bug 894150 - Test. 2013-07-16 17:39:13 +02:00
Paul Adenot
127e99dd3c Bug 894150 - Unregister the PannerNode in the AudioListener when destroying the stream. r=ehsan 2013-07-16 14:45:41 +02:00
Paul Adenot
6200078a6f 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
98dbec53b6 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
59ce1383d7 Bug 892492 - Fix automation on AudioBufferSourceNode.playbackRate. r=ehsan 2013-07-12 11:23:21 +02:00
Trevor Saunders
238525e2d8 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
92f7e9a735 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
f8cc6d745c Bug 896353 - Set principal for mDOMStream in MediaStreamAudioDestinationNode. r=roc 2013-07-23 11:54:32 +08:00
Ed Morley
77fbd30f54 Backed out changeset 43953e9233a2 (bug 831224) 2013-08-08 09:59:49 -07:00
Thomas Zimmermann
e02e53b720 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
170455b45b Bug 888271 - Make test_AudioBufferSourceNodeOffset.html fuzzier. 2013-07-10 15:03:19 +02:00
Ehsan Akhgari
656f6a97ae Bug 891543 - Remove the version of AudioBuffer::GetChannelData that is unused; r=roc 2013-07-09 17:35:05 -04:00
Ryan VanderMeulen
67f3b243c4 Bug 888271 - Increase errorRatio allowance of AudioBufferSourceNode test. r=padenot 2013-07-09 16:01:58 -04:00
Paul Adenot
386a36b37f Bug 888271 - Don't substract twice by mOffset in AudioBufferSourceNode. r=ehsan 2013-07-09 10:41:54 +02:00
Ehsan Akhgari
81c77fdc86 Bug 890543 - Make AudioBuffer not inherit from nsISupports; r=mccr8 2013-07-05 16:21:52 -04:00