[webkit-reviews] review denied: [Bug 48810] Add RealtimeAnalyser files : [Attachment 72606] Patch
bugzilla-daemon at webkit.org
bugzilla-daemon at webkit.org
Mon Nov 1 19:26:47 PDT 2010
Kenneth Russell <kbr at google.com> has denied Chris Rogers <crogers at google.com>'s
request for review:
Bug 48810: Add RealtimeAnalyser files
https://bugs.webkit.org/show_bug.cgi?id=48810
Attachment 72606: Patch
https://bugs.webkit.org/attachment.cgi?id=72606&action=review
------- Additional Comments from Kenneth Russell <kbr at google.com>
View in context: https://bugs.webkit.org/attachment.cgi?id=72606&action=review
A few relatively minor issues.
> WebCore/webaudio/RealtimeAnalyser.cpp:53
> +const unsigned RealtimeAnalyser::InputBufferSize =
RealtimeAnalyser::MaxFFTSize * 2;
I recall that you may have compilation problems on Windows with static
constants. I think the MSVC compiler wants the definition in the header and
none in the .cpp file. However I guess we'll cross that bridge when we come to
it.
> WebCore/webaudio/RealtimeAnalyser.cpp:109
> + return;
This check is redundant with the second half of the isDestinationGood check
below, and has the disadvantage that it uses the InputBufferSize constant
instead of m_inputBuffer.size(). It should be removed and the isDestinationGood
check hoisted up to here.
> WebCore/webaudio/RealtimeAnalyser.cpp:129
> +static void ApplyWindow(float* p, size_t n)
WebKit style is lower case for first letter. Also, consider using an anonymous
namespace rather than a static function.
> WebCore/webaudio/RealtimeAnalyser.cpp:153
> + AudioFloatArray temporaryBuffer(fftSize);
Isn't the reallocation of this array expensive? If so consider caching it and
only reallocating if fftSize changes.
> WebCore/webaudio/RealtimeAnalyser.cpp:158
> + // FIXME : optimize with memcpy()
Add period at end of sentence.
> WebCore/webaudio/RealtimeAnalyser.cpp:215
> + double dbMag = !linearValue ? MinDecibels : 20.0 *
log10(linearValue);
What's this 20.0 constant? Can it be defined somewhere?
> WebCore/webaudio/RealtimeAnalyser.cpp:241
> + double dbMag = !linearValue ? m_minDecibels : 20.0 *
log10(linearValue);
Same comment about the 20.0 constant.
> WebCore/webaudio/RealtimeAnalyser.cpp:244
> + double scaledValue = 255.0 * (dbMag - m_minDecibels) *
RangeScaleFactor;
Please #include <limits.h> and use UCHAR_MAX rather than 255.0 sprinkled
everywhere.
> WebCore/webaudio/RealtimeAnalyser.cpp:282
> + double scaledValue = 128.0 * (value + 1.0);
Unfortunately SCHAR_MAX is 127 and not 128, but if there is a reasonable way to
express this scaling in terms of predefined constants please do so.
> WebCore/webaudio/RealtimeAnalyser.cpp:288
> + if (scaledValue > 255.0)
> + scaledValue = 255.0;
These should use UCHAR_MAX.
More information about the webkit-reviews
mailing list