Diff
Modified: trunk/ChangeLog (106536 => 106537)
--- trunk/ChangeLog 2012-02-02 08:00:20 UTC (rev 106536)
+++ trunk/ChangeLog 2012-02-02 08:04:02 UTC (rev 106537)
@@ -1,3 +1,13 @@
+2012-02-01 Philippe Normand <[email protected]>
+
+ [GStreamer] FFTFrame implementation
+ https://bugs.webkit.org/show_bug.cgi?id=73545
+
+ Reviewed by Chris Rogers.
+
+ * configure.ac: Enable the WebAudio option again and remove
+ libfftw checks.
+
2012-01-31 Ryosuke Niwa <[email protected]>
webkit-perf.appspot.com should accept test results without medians
Modified: trunk/LayoutTests/ChangeLog (106536 => 106537)
--- trunk/LayoutTests/ChangeLog 2012-02-02 08:00:20 UTC (rev 106536)
+++ trunk/LayoutTests/ChangeLog 2012-02-02 08:04:02 UTC (rev 106537)
@@ -1,3 +1,14 @@
+2012-02-01 Philippe Normand <[email protected]>
+
+ [GStreamer] FFTFrame implementation
+ https://bugs.webkit.org/show_bug.cgi?id=73545
+
+ Reviewed by Chris Rogers.
+
+ * webaudio/resources/convolution-testing.js:
+ (checkTail1): Adapt convolution threshold for GStreamerFFTFrame
+ implementation, as advised by Chris Rogers.
+
2012-02-01 Eric Carlson <[email protected]>
Consider user's preferred language when choosing text tracks
Modified: trunk/LayoutTests/webaudio/resources/convolution-testing.js (106536 => 106537)
--- trunk/LayoutTests/webaudio/resources/convolution-testing.js 2012-02-02 08:00:20 UTC (rev 106536)
+++ trunk/LayoutTests/webaudio/resources/convolution-testing.js 2012-02-02 08:04:02 UTC (rev 106537)
@@ -127,13 +127,13 @@
// This threshold is experimentally determined by examining the
// value of tail1MaxDecibels.
- var threshold1 = -146.7;
+ var threshold1 = -129.7;
var tail1MaxDecibels = linearToDecibel(tail1Max/refMax);
if (tail1MaxDecibels <= threshold1) {
testPassed("First part of tail of convolution is sufficiently small.");
} else {
- testFailed("First part of tail of convolution is not sufficiently small: " + tail1Max + " dB");
+ testFailed("First part of tail of convolution is not sufficiently small: " + tail1MaxDecibels + " dB");
isZero = false;
}
Modified: trunk/Source/WebCore/ChangeLog (106536 => 106537)
--- trunk/Source/WebCore/ChangeLog 2012-02-02 08:00:20 UTC (rev 106536)
+++ trunk/Source/WebCore/ChangeLog 2012-02-02 08:04:02 UTC (rev 106537)
@@ -1,3 +1,30 @@
+2012-02-01 Philippe Normand <[email protected]>
+
+ [GStreamer] FFTFrame implementation
+ https://bugs.webkit.org/show_bug.cgi?id=73545
+
+ Reviewed by Chris Rogers.
+
+ FFTFrame implementation based on GStreamer's FFT processing
+ library.
+
+ No new tests, existing WebAudio tests cover this.
+
+ * GNUmakefile.am:
+ * GNUmakefile.list.am:
+ * platform/audio/FFTFrame.h:
+ * platform/audio/FFTFrameStub.cpp:
+ * platform/audio/gstreamer/FFTFrameGStreamer.cpp: Added.
+ (WebCore::FFTFrame::FFTFrame):
+ (WebCore::FFTFrame::initialize):
+ (WebCore::FFTFrame::cleanup):
+ (WebCore::FFTFrame::~FFTFrame):
+ (WebCore::FFTFrame::multiply):
+ (WebCore::FFTFrame::doFFT):
+ (WebCore::FFTFrame::doInverseFFT):
+ (WebCore::FFTFrame::realData):
+ (WebCore::FFTFrame::imagData):
+
2012-02-02 Kentaro Hara <[email protected]>
Rename [CheckFrameSecurity] and [SVGCheckSecurity] to [CheckAccessToNode]
Modified: trunk/Source/WebCore/GNUmakefile.am (106536 => 106537)
--- trunk/Source/WebCore/GNUmakefile.am 2012-02-02 08:00:20 UTC (rev 106536)
+++ trunk/Source/WebCore/GNUmakefile.am 2012-02-02 08:04:02 UTC (rev 106537)
@@ -512,6 +512,10 @@
webcore_cppflags += -DENABLE_WEB_AUDIO=1
endif
+if USE_WEBAUDIO_GSTREAMER
+webcore_cppflags += -DWTF_USE_WEBAUDIO_GSTREAMER=1
+endif
+
# ----
# Web Sockets Support
# ----
@@ -871,7 +875,6 @@
$(GSTREAMER_CFLAGS) \
$(GTK_CFLAGS) \
$(HILDON_CFLAGS) \
- $(LIBFFTW_CFLAGS) \
$(LIBSOUP_CFLAGS) \
$(LIBXML_CFLAGS) \
$(LIBXSLT_CFLAGS) \
Modified: trunk/Source/WebCore/GNUmakefile.list.am (106536 => 106537)
--- trunk/Source/WebCore/GNUmakefile.list.am 2012-02-02 08:00:20 UTC (rev 106536)
+++ trunk/Source/WebCore/GNUmakefile.list.am 2012-02-02 08:04:02 UTC (rev 106537)
@@ -5414,6 +5414,7 @@
Source/WebCore/platform/audio/gstreamer/AudioDestinationGStreamer.cpp \
Source/WebCore/platform/audio/gstreamer/AudioDestinationGStreamer.h \
Source/WebCore/platform/audio/gstreamer/AudioFileReaderGStreamer.cpp \
+ Source/WebCore/platform/audio/gstreamer/FFTFrameGStreamer.cpp \
Source/WebCore/platform/audio/gstreamer/WebKitWebAudioSourceGStreamer.cpp \
Source/WebCore/platform/audio/gstreamer/WebKitWebAudioSourceGStreamer.h \
Source/WebCore/platform/audio/gtk/AudioBusGtk.cpp
Modified: trunk/Source/WebCore/platform/audio/FFTFrame.h (106536 => 106537)
--- trunk/Source/WebCore/platform/audio/FFTFrame.h 2012-02-02 08:00:20 UTC (rev 106536)
+++ trunk/Source/WebCore/platform/audio/FFTFrame.h 2012-02-02 08:04:02 UTC (rev 106537)
@@ -47,6 +47,13 @@
#include "mkl_dfti.h"
#endif // USE(WEBAUDIO_MKL)
+#if USE(WEBAUDIO_GSTREAMER)
+#include <glib.h>
+G_BEGIN_DECLS
+#include <gst/fft/gstfftf32.h>
+G_END_DECLS
+#endif // USE(WEBAUDIO_GSTREAMER)
+
#if USE(WEBAUDIO_FFMPEG)
struct RDFTContext;
#endif // USE(WEBAUDIO_FFMPEG)
@@ -146,6 +153,14 @@
AudioFloatArray m_imagData;
#endif // USE(WEBAUDIO_FFMPEG)
+#if USE(WEBAUDIO_GSTREAMER)
+ GstFFTF32* m_fft;
+ GstFFTF32* m_inverseFft;
+ GstFFTF32Complex* m_complexData;
+ AudioFloatArray m_realData;
+ AudioFloatArray m_imagData;
+#endif // USE(WEBAUDIO_GSTREAMER)
+
#endif // !USE_ACCELERATE_FFT
};
Modified: trunk/Source/WebCore/platform/audio/FFTFrameStub.cpp (106536 => 106537)
--- trunk/Source/WebCore/platform/audio/FFTFrameStub.cpp 2012-02-02 08:00:20 UTC (rev 106536)
+++ trunk/Source/WebCore/platform/audio/FFTFrameStub.cpp 2012-02-02 08:04:02 UTC (rev 106537)
@@ -29,7 +29,7 @@
#if ENABLE(WEB_AUDIO)
-#if !OS(DARWIN) && !USE(WEBAUDIO_MKL) && !USE(WEBAUDIO_FFMPEG)
+#if !OS(DARWIN) && !USE(WEBAUDIO_MKL) && !USE(WEBAUDIO_FFMPEG) && !USE(WEBAUDIO_GSTREAMER)
#include "FFTFrame.h"
@@ -102,6 +102,6 @@
} // namespace WebCore
-#endif // !OS(DARWIN) && !USE(WEBAUDIO_MKL)
+#endif // !OS(DARWIN) && !USE(WEBAUDIO_MKL) && !USE(WEBAUDIO_GSTREAMER)
#endif // ENABLE(WEB_AUDIO)
Modified: trunk/Source/WebKit/gtk/ChangeLog (106536 => 106537)
--- trunk/Source/WebKit/gtk/ChangeLog 2012-02-02 08:00:20 UTC (rev 106536)
+++ trunk/Source/WebKit/gtk/ChangeLog 2012-02-02 08:04:02 UTC (rev 106537)
@@ -1,5 +1,14 @@
2012-02-01 Philippe Normand <[email protected]>
+ [GStreamer] FFTFrame implementation
+ https://bugs.webkit.org/show_bug.cgi?id=73545
+
+ Reviewed by Chris Rogers.
+
+ * GNUmakefile.am: Remove libfftw compilation flags.
+
+2012-02-01 Philippe Normand <[email protected]>
+
[GTK] unittests/testloading crashes
https://bugs.webkit.org/show_bug.cgi?id=77544
Modified: trunk/Source/WebKit/gtk/GNUmakefile.am (106536 => 106537)
--- trunk/Source/WebKit/gtk/GNUmakefile.am 2012-02-02 08:00:20 UTC (rev 106536)
+++ trunk/Source/WebKit/gtk/GNUmakefile.am 2012-02-02 08:04:02 UTC (rev 106537)
@@ -68,7 +68,6 @@
$(GSTREAMER_CFLAGS) \
$(GTK_CFLAGS) \
$(HILDON_CFLAGS) \
- $(LIBFFTW_CFLAGS) \
$(LIBSOUP_CFLAGS) \
$(LIBXML_CFLAGS) \
$(LIBXSLT_CFLAGS) \
@@ -101,7 +100,6 @@
$(GTK_LIBS) \
$(HILDON_LIBS) \
$(JPEG_LIBS) \
- $(LIBFFTW_LIBS) \
$(LIBSOUP_LIBS) \
$(LIBXML_LIBS) \
$(LIBXSLT_LIBS) \
Modified: trunk/Source/WebKit2/ChangeLog (106536 => 106537)
--- trunk/Source/WebKit2/ChangeLog 2012-02-02 08:00:20 UTC (rev 106536)
+++ trunk/Source/WebKit2/ChangeLog 2012-02-02 08:04:02 UTC (rev 106537)
@@ -1,3 +1,12 @@
+2012-02-01 Philippe Normand <[email protected]>
+
+ [GStreamer] FFTFrame implementation
+ https://bugs.webkit.org/show_bug.cgi?id=73545
+
+ Reviewed by Chris Rogers.
+
+ * GNUmakefile.am: Remove libfftw compilation flags.
+
2012-02-01 No'am Rosenthal <[email protected]>
[Texmap] Use glScissors for clipping in TextureMapperGL when possible
Modified: trunk/Source/WebKit2/GNUmakefile.am (106536 => 106537)
--- trunk/Source/WebKit2/GNUmakefile.am 2012-02-02 08:00:20 UTC (rev 106536)
+++ trunk/Source/WebKit2/GNUmakefile.am 2012-02-02 08:04:02 UTC (rev 106537)
@@ -1479,7 +1479,6 @@
$(XRENDER_LIBS) \
$(XT_LIBS) \
$(WINMM_LIBS) \
- $(LIBFFTW_LIBS) \
$(ZLIB_LIBS)
Programs_WebKitPluginProcess_LDFLAGS = \
Modified: trunk/configure.ac (106536 => 106537)
--- trunk/configure.ac 2012-02-02 08:00:20 UTC (rev 106536)
+++ trunk/configure.ac 2012-02-02 08:04:02 UTC (rev 106537)
@@ -784,7 +784,11 @@
AC_MSG_RESULT([$enable_web_sockets])
# check whether to enable Web Audio support
-enable_web_audio=no
+AC_MSG_CHECKING([whether to enable Web Audio support])
+AC_ARG_ENABLE(web_audio,
+ AC_HELP_STRING([--enable-web-audio],
+ [enable support for Web Audio [default=no]]),
+ [],[enable_web_audio="no"])
AC_MSG_RESULT([$enable_web_audio])
# check whether to enable Web Timing support
@@ -1052,6 +1056,7 @@
[gstreamer-$GST_API_VERSION >= $GSTREAMER_REQUIRED_VERSION
gstreamer-app-$GST_API_VERSION
gstreamer-audio-$GST_API_VERSION
+ gstreamer-fft-$GST_API_VERSION
gstreamer-base-$GST_API_VERSION
gstreamer-interfaces-$GST_API_VERSION
gstreamer-pbutils-$GST_API_VERSION
@@ -1063,17 +1068,7 @@
AC_SUBST([GSTREAMER_LIBS])
fi
-# check if libfftw is available
-if test "$enable_web_audio" = "yes"; then
- PKG_CHECK_MODULES([LIBFFTW],
- [fftw3 >= $LIBFFTW_REQUIRED_VERSION
- fftw3f >= $LIBFFTW_REQUIRED_VERSION],
- [have_fftw=yes])
- AC_SUBST([LIBFFTW_CFLAGS])
- AC_SUBST([LIBFFTW_LIBS])
-fi
-
if test "$with_accelerated_compositing" = "clutter"; then
PKG_CHECK_MODULES(CLUTTER, clutter-1.0 >= $CLUTTER_REQUIRED_VERSION)
PKG_CHECK_MODULES([CLUTTER_GTK],
@@ -1174,6 +1169,7 @@
# GStreamer feature conditional
AM_CONDITIONAL([USE_GSTREAMER], [test "$have_gstreamer" = "yes"])
+AM_CONDITIONAL([USE_WEBAUDIO_GSTREAMER], [test "$enable_web_audio" = "yes"])
# ATSPI2 conditional
AM_CONDITIONAL([HAVE_ATSPI2], [test "$have_atspi2" = "yes"])