Bug 126437 - webkit-2.3.3 USE_ACCELERATE_FFT && WEBAUDIO_GSTREAMER build fails
Summary: webkit-2.3.3 USE_ACCELERATE_FFT && WEBAUDIO_GSTREAMER build fails
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: Web Audio (show other bugs)
Version: 528+ (Nightly build)
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Nobody
URL:
Keywords:
: 126438 (view as bug list)
Depends on:
Blocks: 126492
  Show dependency treegraph
 
Reported: 2014-01-03 10:13 PST by Jeremy Huddleston Sequoia
Modified: 2015-05-10 14:17 PDT (History)
5 users (show)

See Also:


Attachments
gstreamer.patch (955 bytes, patch)
2014-01-03 10:14 PST, Jeremy Huddleston Sequoia
no flags Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Jeremy Huddleston Sequoia 2014-01-03 10:13:46 PST
If USE_ACCELERATE_FFT is set, <gst/fft/gstfftf32.h> is not included, so WEBAUDIO_GSTREAMER builds fail with:

:info:build Source/WebCore/platform/audio/gstreamer/FFTFrameGStreamer.cpp:46:38: error: use of undeclared identifier 'GstFFTF32Complex'
:info:build     , m_complexData(std::make_unique<GstFFTF32Complex[]>(unpackedFFTDataSize(m_FFTSize)))
:info:build                                      ^
:info:build Source/WebCore/platform/audio/gstreamer/FFTFrameGStreamer.cpp:46:55: error: expected expression
:info:build     , m_complexData(std::make_unique<GstFFTF32Complex[]>(unpackedFFTDataSize(m_FFTSize)))
:info:build                                                       ^
:info:build mv -f Source/WebCore/platform/audio/.deps/libPlatform_la-AudioBus.Tpo Source/WebCore/platform/audio/.deps/libPlatform_la-AudioBus.Plo

---

Some additional info:

webkitgtk-2.3.3 $ grep -R GstFFTF32Complex *
Source/WebCore/platform/audio/FFTFrame.h:    std::unique_ptr<GstFFTF32Complex[]> m_complexData;
Source/WebCore/platform/audio/gstreamer/FFTFrameGStreamer.cpp:    , m_complexData(std::make_unique<GstFFTF32Complex[]>(unpackedFFTDataSize(m_FFTSize)))
Source/WebCore/platform/audio/gstreamer/FFTFrameGStreamer.cpp:    , m_complexData(std::make_unique<GstFFTF32Complex[]>(unpackedFFTDataSize(m_FFTSize)))

$ grep -R GstFFTF32Complex /opt/local/include/gstreamer-1.0/
/opt/local/include/gstreamer-1.0/gst/fft/gstfftf32.h:typedef struct _GstFFTF32Complex GstFFTF32Complex;
/opt/local/include/gstreamer-1.0/gst/fft/gstfftf32.h: * GstFFTF32Complex:
/opt/local/include/gstreamer-1.0/gst/fft/gstfftf32.h:struct _GstFFTF32Complex
/opt/local/include/gstreamer-1.0/gst/fft/gstfftf32.h:                                         GstFFTF32Complex *freqdata);
/opt/local/include/gstreamer-1.0/gst/fft/gstfftf32.h:void          gst_fft_f32_inverse_fft   (GstFFTF32 *self, const GstFFTF32Complex *freqdata,


---

I tried to address the issue with the attached patch, but the build still fails (I'll followup with another ticket).
Comment 1 Jeremy Huddleston Sequoia 2014-01-03 10:14:42 PST
Created attachment 220317 [details]
gstreamer.patch
Comment 2 Philippe Normand 2014-01-04 04:23:57 PST
I think USE_ACCELERATE_FFT should be unset when webkitgtk is built on OSX. Can you please try that approach?
Comment 3 Jeremy Huddleston Sequoia 2014-01-04 12:41:56 PST
(In reply to comment #2)
> I think USE_ACCELERATE_FFT should be unset when webkitgtk is built on OSX. Can you please try that approach?

That's a reasonable request, but I won't be able to until #126438 is resolved.
Comment 4 Philippe Normand 2014-01-14 23:48:32 PST
(In reply to comment #3)
> (In reply to comment #2)
> > I think USE_ACCELERATE_FFT should be unset when webkitgtk is built on OSX. Can you please try that approach?
> 
> That's a reasonable request, but I won't be able to until #126438 is resolved.

Hum I'm not so sure about that but I didn't really have a close look at the other bug.
Comment 5 Philippe Normand 2014-08-18 13:29:17 PDT
(In reply to comment #2)
> I think USE_ACCELERATE_FFT should be unset when webkitgtk is built on OSX. Can you please try that approach?

Actually now I think it'd make more sense to use the FFTFrameMac implementation on OSX instead of the GStreamer backend. The main reason is that the Mac version would likely perform better (but I don't have benchmarks to prove it :))
Comment 6 Philippe Normand 2014-11-18 09:53:07 PST
*** Bug 126438 has been marked as a duplicate of this bug. ***
Comment 7 Michael Catanzaro 2015-05-10 14:17:00 PDT
I believe this issue is obsolete based on comments in bug #126492. If this issue is still present in 2.8.1 or 2.9.1 please leave a note so we can reopen.