RESOLVED FIXED 45077
Add EqualPowerPanner files
https://bugs.webkit.org/show_bug.cgi?id=45077
Summary Add EqualPowerPanner files
Chris Rogers
Reported 2010-09-01 17:48:57 PDT
Add EqualPowerPanner files
Attachments
Patch (7.28 KB, patch)
2010-09-01 17:50 PDT, Chris Rogers
no flags
Patch (7.71 KB, patch)
2010-10-01 14:22 PDT, Chris Rogers
no flags
Patch (7.29 KB, patch)
2010-10-04 15:32 PDT, Chris Rogers
no flags
Chris Rogers
Comment 1 2010-09-01 17:50:14 PDT
Kenneth Russell
Comment 2 2010-09-07 17:44:03 PDT
Comment on attachment 66307 [details] Patch 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? > 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?
Chris Rogers
Comment 3 2010-10-01 14:22:04 PDT
Chris Rogers
Comment 4 2010-10-01 14:27:08 PDT
(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.
Kenneth Russell
Comment 5 2010-10-04 15:13:50 PDT
Comment on attachment 69518 [details] Patch Looks good to me, but please update the license text before committing.
Chris Rogers
Comment 6 2010-10-04 15:32:03 PDT
Chris Rogers
Comment 7 2010-10-04 15:32:38 PDT
Was previously R+, just fixed the license.
Kenneth Russell
Comment 8 2010-10-04 15:47:01 PDT
Comment on attachment 69700 [details] Patch Looks good to me.
WebKit Commit Bot
Comment 9 2010-10-05 00:45:22 PDT
Comment on attachment 69700 [details] Patch Clearing flags on attachment: 69700 Committed r69089: <http://trac.webkit.org/changeset/69089>
WebKit Commit Bot
Comment 10 2010-10-05 00:45:28 PDT
All reviewed patches have been landed. Closing bug.
Note You need to log in before you can comment on or make changes to this bug.