[Webkit-unassigned] [Bug 45077] Add EqualPowerPanner files

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Fri Oct 1 14:27:09 PDT 2010


https://bugs.webkit.org/show_bug.cgi?id=45077





--- Comment #4 from Chris Rogers <crogers at google.com>  2010-10-01 14:27:08 PST ---
(In reply to comment #2)
> (From update of attachment 66307 [details])
> View in context: https://bugs.webkit.org/attachment.cgi?id=66307&action=prettypatch
> 
> > WebCore/platform/audio/EqualPowerPanner.cpp:85
> > +    const double kDezipperK = 0.0005;
> This or similar constants are replicated in a few places in the code, for example in the AudioBus (where it's ten times as large). Can this be refactored? Also, what about a FIXME indicating that it's sample rate dependent?

I've uploaded a patch for AudioUtilities which contains a discreteTimeConstantForSampleRate() function and am now using this.
The actual time-constant value (non sample-rate dependent) is chosen empirically for panning and may be different than volume smoothing.

> 
> > WebCore/platform/audio/EqualPowerPanner.cpp:98
> > +    m_gainR = gainR;
> Why does this class not need to expose these gains externally, like the AudioBus does via the lastMixGain outgoing argument in processWithGainFromMonoStereo and processWithGainFrom?

The smoothing state is best kept inside this class.  The reason they have to be kept externally in the AudioBus case is because many different sources may be summing into the same AudioBus, thus each source must keep track of its own state.  In the case of EqualPowerPanner, there is only a single source, so it makes logical sense to keep the state inside this class.

-- 
Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.



More information about the webkit-unassigned mailing list