Changeset 102622 in webkit


Ignore:
Timestamp:
Dec 12, 2011 2:13:32 PM (12 years ago)
Author:
abarth@webkit.org
Message:

Remove platform/audio/fftw
https://bugs.webkit.org/show_bug.cgi?id=73163

Reviewed by Eric Seidel.

The FFTW library is GPL, not LGPL, like WebKit. This patch removes the
integration with the library so folks who use WebAudio don't
accidentially violate the GPL by linking in FFTW.

  • GNUmakefile.am:
  • WebCore.gyp/WebCore.gyp:
  • WebCore.gypi:
  • platform/audio/FFTFrame.h:
  • platform/audio/FFTFrameStub.cpp:
  • platform/audio/fftw: Removed.
  • platform/audio/fftw/FFTFrameFFTW.cpp: Removed.
Location:
trunk/Source/WebCore
Files:
1 deleted
5 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/ChangeLog

    r102621 r102622  
     12011-11-26  Adam Barth  <abarth@webkit.org>
     2
     3        Remove platform/audio/fftw
     4        https://bugs.webkit.org/show_bug.cgi?id=73163
     5
     6        Reviewed by Eric Seidel.
     7
     8        The FFTW library is GPL, not LGPL, like WebKit.  This patch removes the
     9        integration with the library so folks who use WebAudio don't
     10        accidentially violate the GPL by linking in FFTW.
     11
     12        * GNUmakefile.am:
     13        * WebCore.gyp/WebCore.gyp:
     14        * WebCore.gypi:
     15        * platform/audio/FFTFrame.h:
     16        * platform/audio/FFTFrameStub.cpp:
     17        * platform/audio/fftw: Removed.
     18        * platform/audio/fftw/FFTFrameFFTW.cpp: Removed.
     19
    1202011-12-12  Kenneth Russell  <kbr@google.com>
    221
  • trunk/Source/WebCore/WebCore.gyp/WebCore.gyp

    r102572 r102622  
    10961096          },
    10971097        }],
    1098         ['OS != "mac" and OS != "android" and "WTF_USE_WEBAUDIO_FFTW=1" in feature_defines', {
    1099           'include_dirs': [
    1100             '<(chromium_src_dir)/third_party/fftw/api',
    1101           ],
    1102         }],
    11031098      ],
    11041099    },
     
    13091304          },
    13101305        }],
    1311         ['OS != "mac" and OS != "android" and "WTF_USE_WEBAUDIO_FFTW=1" in feature_defines', {
    1312           # This directory needs to be on the include path for multiple sub-targets of webcore.
    1313           'direct_dependent_settings': {
    1314             'include_dirs': [
    1315               '<(chromium_src_dir)/third_party/fftw/api',
    1316             ],
    1317           },
    1318         }],
    13191306        ['OS != "android" and "WTF_USE_WEBAUDIO_FFMPEG=1" in feature_defines', {
    13201307          # This directory needs to be on the include path for multiple sub-targets of webcore.
     
    19441931          },
    19451932        }],
    1946         ['os_posix == 1 and OS != "mac" and OS != "android" and "WTF_USE_WEBAUDIO_FFTW=1" in feature_defines', {
    1947           # FIXME: (kbr) figure out how to make these dependencies
    1948           # work in a cross-platform way. Attempts to use
    1949           # "link_settings" and "libraries" in conjunction with the
    1950           # msvs-specific settings didn't work so far.
    1951           'all_dependent_settings': {
    1952             'ldflags': [
    1953               # FIXME: (kbr) build the FFTW into PRODUCT_DIR using GYP.
    1954               '-Lthird_party/fftw/.libs',
    1955             ],
    1956             'link_settings': {
    1957               'libraries': [
    1958                 '-lfftw3f'
    1959               ],
    1960             },
    1961           },
    1962         }],
    19631933        ['enable_svg!=0', {
    19641934          'dependencies': [
  • trunk/Source/WebCore/WebCore.gypi

    r102572 r102622  
    32273227            'platform/audio/ZeroPole.h',
    32283228            'platform/audio/chromium/AudioBusChromium.cpp',
    3229             'platform/audio/fftw/FFTFrameFFTW.cpp',
    32303229            'platform/audio/mac/AudioBusMac.mm',
    32313230            'platform/audio/mac/AudioDestinationMac.cpp',
  • trunk/Source/WebCore/platform/audio/FFTFrame.h

    r95901 r102622  
    4747#include "mkl_dfti.h"
    4848#endif // USE(WEBAUDIO_MKL)
    49 
    50 #if USE(WEBAUDIO_FFTW)
    51 #include "fftw3.h"
    52 #endif // USE(WEBAUDIO_FFTW)
    5349
    5450#if USE(WEBAUDIO_FFMPEG)
     
    151147#endif // USE(WEBAUDIO_FFMPEG)
    152148
    153 #if USE(WEBAUDIO_FFTW)
    154     fftwf_plan m_forwardPlan;
    155     fftwf_plan m_backwardPlan;
    156 
    157     enum Direction {
    158         Forward,
    159         Backward
    160     };
    161 
    162     // Both the real and imaginary data are stored here.
    163     // The real data is stored first, followed by three float values of padding.
    164     // The imaginary data is stored after the padding and is 16-byte aligned (if m_data itself is aligned).
    165     // The reason we don't use separate arrays for real and imaginary is because the FFTW plans are shared
    166     // between FFTFrame instances and require that the real and imaginary data pointers be the same distance apart.
    167     AudioFloatArray m_data;
    168 
    169     static Mutex *s_planLock;
    170     static fftwf_plan* fftwForwardPlans;
    171     static fftwf_plan* fftwBackwardPlans;
    172 
    173     static fftwf_plan fftwPlanForSize(unsigned fftSize, Direction,
    174                                       float*, float*, float*);
    175 #endif // USE(WEBAUDIO_FFTW)
    176 
    177149#endif // !USE_ACCELERATE_FFT
    178150};
  • trunk/Source/WebCore/platform/audio/FFTFrameStub.cpp

    r95901 r102622  
    3030#if ENABLE(WEB_AUDIO)
    3131
    32 #if !OS(DARWIN) && !USE(WEBAUDIO_MKL) && !USE(WEBAUDIO_FFTW) && !USE(WEBAUDIO_FFMPEG)
     32#if !OS(DARWIN) && !USE(WEBAUDIO_MKL) && !USE(WEBAUDIO_FFMPEG)
    3333
    3434#include "FFTFrame.h"
     
    103103} // namespace WebCore
    104104
    105 #endif // !OS(DARWIN) && !USE(WEBAUDIO_MKL) && !USE(WEBAUDIO_FFTW)
     105#endif // !OS(DARWIN) && !USE(WEBAUDIO_MKL)
    106106
    107107#endif // ENABLE(WEB_AUDIO)
Note: See TracChangeset for help on using the changeset viewer.