Changeset 98554 in webkit
- Timestamp:
- Oct 27, 2011 5:31:44 AM (13 years ago)
- Location:
- trunk
- Files:
-
- 8 added
- 9 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/ChangeLog
r98500 r98554 1 2011-10-27 Philippe Normand <pnormand@igalia.com> and Zan Dobersek <zandobersek@gmail.com> 2 3 [GStreamer] WebAudio AudioFileReader implementation 4 https://bugs.webkit.org/show_bug.cgi?id=69834 5 6 Reviewed by Martin Robinson. 7 8 * configure.ac: Check for libfftw and gstreamer-audio if WebAudio 9 build is enabled. 10 1 11 2011-10-26 Alejandro G. Castro <alex@igalia.com> 2 12 -
trunk/Source/WebCore/ChangeLog
r98552 r98554 1 2011-10-27 Philippe Normand <pnormand@igalia.com> and Zan Dobersek <zandobersek@gmail.com> 2 3 [GStreamer] WebAudio AudioFileReader implementation 4 https://bugs.webkit.org/show_bug.cgi?id=69834 5 6 Reviewed by Martin Robinson. 7 8 Basic FileReader implementation, supporting one or 2 audio 9 channels. An empty AudioDestination is also provided, its complete 10 implementation is handled in bug 69835. 11 12 * GNUmakefile.am: 13 * GNUmakefile.list.am: 14 * platform/audio/gstreamer/AudioDestinationGStreamer.cpp: Added. 15 (WebCore::AudioDestination::create): 16 (WebCore::AudioDestination::hardwareSampleRate): 17 (WebCore::AudioDestinationGStreamer::AudioDestinationGStreamer): 18 (WebCore::AudioDestinationGStreamer::~AudioDestinationGStreamer): 19 (WebCore::AudioDestinationGStreamer::start): 20 (WebCore::AudioDestinationGStreamer::stop): 21 * platform/audio/gstreamer/AudioDestinationGStreamer.h: Added. 22 (WebCore::AudioDestinationGStreamer::isPlaying): 23 (WebCore::AudioDestinationGStreamer::sampleRate): 24 (WebCore::AudioDestinationGStreamer::sourceProvider): 25 * platform/audio/gstreamer/AudioFileReaderGStreamer.cpp: Added. 26 (WebCore::getGStreamerAudioCaps): 27 (WebCore::getFloatFromByteReader): 28 (WebCore::copyGstreamerBuffersToAudioChannel): 29 (WebCore::onAppsinkNewBufferCallback): 30 (WebCore::messageCallback): 31 (WebCore::onGStreamerDeinterleavePadAddedCallback): 32 (WebCore::onGStreamerDeinterleaveReadyCallback): 33 (WebCore::onGStreamerDecodebinPadAddedCallback): 34 (WebCore::AudioFileReader::AudioFileReader): 35 (WebCore::AudioFileReader::~AudioFileReader): 36 (WebCore::AudioFileReader::handleBuffer): 37 (WebCore::AudioFileReader::handleMessage): 38 (WebCore::AudioFileReader::handleNewDeinterleavePad): 39 (WebCore::AudioFileReader::deinterleavePadsConfigured): 40 (WebCore::AudioFileReader::plugDeinterleave): 41 (WebCore::AudioFileReader::createBus): 42 (WebCore::createBusFromAudioFile): 43 (WebCore::createBusFromInMemoryAudioFile): 44 * platform/audio/gtk/AudioBusGtk.cpp: Added. 45 (WebCore::AudioBus::loadPlatformResource): 46 1 47 2011-10-27 Philippe Normand <pnormand@igalia.com> 2 48 -
trunk/Source/WebCore/GNUmakefile.am
r98496 r98554 100 100 -I$(srcdir)/Source/WebCore/page/gtk \ 101 101 -I$(srcdir)/Source/WebCore/platform/cairo \ 102 -I$(srcdir)/Source/WebCore/platform/audio/gstreamer \ 102 103 -I$(srcdir)/Source/WebCore/platform/graphics/cairo \ 103 104 -I$(srcdir)/Source/WebCore/platform/graphics/gstreamer \ … … 501 502 FEATURE_DEFINES += ENABLE_WEB_AUDIO=1 502 503 webcore_cppflags += -DENABLE_WEB_AUDIO=1 504 505 if USE_WEBAUDIO_FFTW 506 FEATURE_DEFINES += WTF_USE_WEBAUDIO_FFTW=1 507 webcore_cppflags += -DWTF_USE_WEBAUDIO_FFTW=1 508 webcore_sources += \ 509 Source/WebCore/platform/audio/fftw/FFTFrameFFTW.cpp 510 endif 511 503 512 endif 504 513 … … 816 825 $(GTK_CFLAGS) \ 817 826 $(HILDON_CFLAGS) \ 827 $(LIBFFTW_CFLAGS) \ 818 828 $(LIBSOUP_CFLAGS) \ 819 829 $(LIBXML_CFLAGS) \ -
trunk/Source/WebCore/GNUmakefile.list.am
r98388 r98554 150 150 DerivedSources/WebCore/JSDOMWindow.cpp \ 151 151 DerivedSources/WebCore/JSDOMWindow.h \ 152 DerivedSources/WebCore/JSDynamicsCompressorNode.h \ 153 DerivedSources/WebCore/JSDynamicsCompressorNode.cpp \ 152 154 DerivedSources/WebCore/JSElement.cpp \ 153 155 DerivedSources/WebCore/JSElement.h \ … … 522 524 DerivedSources/WebCore/JSVoidCallback.cpp \ 523 525 DerivedSources/WebCore/JSVoidCallback.h \ 526 DerivedSources/WebCore/JSWaveShaperNode.cpp \ 527 DerivedSources/WebCore/JSWaveShaperNode.h \ 524 528 DerivedSources/WebCore/JSWebGLActiveInfo.cpp \ 525 529 DerivedSources/WebCore/JSWebGLActiveInfo.h \ … … 4602 4606 # Web Audio Support 4603 4607 # ---- 4608 4604 4609 if ENABLE_WEB_AUDIO 4605 4610 webcore_sources += \ 4611 Source/WebCore/bindings/js/JSAudioBufferSourceNodeCustom.cpp \ 4612 Source/WebCore/bindings/js/JSAudioContextCustom.cpp \ 4613 Source/WebCore/bindings/js/JSAudioNodeCustom.cpp \ 4614 Source/WebCore/bindings/js/JSConvolverNodeCustom.cpp \ 4615 Source/WebCore/bindings/js/JSJavaScriptAudioNodeCustom.cpp \ 4616 Source/WebCore/bindings/js/JSWaveShaperNodeCustom.cpp \ 4617 Source/WebCore/webaudio/AsyncAudioDecoder.cpp \ 4618 Source/WebCore/webaudio/AsyncAudioDecoder.h \ 4606 4619 Source/WebCore/webaudio/AudioBasicProcessorNode.cpp \ 4607 4620 Source/WebCore/webaudio/AudioBasicProcessorNode.h \ … … 4633 4646 Source/WebCore/webaudio/AudioParam.cpp \ 4634 4647 Source/WebCore/webaudio/AudioParam.h \ 4648 Source/WebCore/webaudio/AudioParamTimeline.cpp \ 4649 Source/WebCore/webaudio/AudioParamTimeline.h \ 4635 4650 Source/WebCore/webaudio/AudioProcessingEvent.cpp \ 4636 4651 Source/WebCore/webaudio/AudioProcessingEvent.h \ … … 4638 4653 Source/WebCore/webaudio/BiquadDSPKernel.cpp \ 4639 4654 Source/WebCore/webaudio/BiquadDSPKernel.h \ 4655 Source/WebCore/webaudio/BiquadFilterNode.cpp \ 4656 Source/WebCore/webaudio/BiquadFilterNode.h \ 4640 4657 Source/WebCore/webaudio/BiquadProcessor.cpp \ 4641 4658 Source/WebCore/webaudio/BiquadProcessor.h \ 4642 4659 Source/WebCore/webaudio/ConvolverNode.cpp \ 4643 4660 Source/WebCore/webaudio/ConvolverNode.h \ 4661 Source/WebCore/webaudio/DefaultAudioDestinationNode.h \ 4662 Source/WebCore/webaudio/DefaultAudioDestinationNode.cpp \ 4644 4663 Source/WebCore/webaudio/DelayDSPKernel.cpp \ 4645 4664 Source/WebCore/webaudio/DelayDSPKernel.h \ … … 4648 4667 Source/WebCore/webaudio/DelayProcessor.cpp \ 4649 4668 Source/WebCore/webaudio/DelayProcessor.h \ 4669 Source/WebCore/webaudio/DynamicsCompressorNode.cpp \ 4670 Source/WebCore/webaudio/DynamicsCompressorNode.h \ 4650 4671 Source/WebCore/webaudio/HighPass2FilterNode.cpp \ 4651 4672 Source/WebCore/webaudio/HighPass2FilterNode.h \ … … 4654 4675 Source/WebCore/webaudio/LowPass2FilterNode.cpp \ 4655 4676 Source/WebCore/webaudio/LowPass2FilterNode.h \ 4677 Source/WebCore/webaudio/MediaElementAudioSourceNode.cpp \ 4678 Source/WebCore/webaudio/MediaElementAudioSourceNode.h \ 4679 Source/WebCore/webaudio/OfflineAudioDestinationNode.h \ 4680 Source/WebCore/webaudio/OfflineAudioDestinationNode.cpp \ 4681 Source/WebCore/webaudio/OfflineAudioCompletionEvent.h \ 4682 Source/WebCore/webaudio/OfflineAudioCompletionEvent.cpp \ 4656 4683 Source/WebCore/webaudio/RealtimeAnalyser.cpp \ 4657 4684 Source/WebCore/webaudio/RealtimeAnalyser.h \ 4658 4685 Source/WebCore/webaudio/RealtimeAnalyserNode.cpp \ 4659 Source/WebCore/webaudio/RealtimeAnalyserNode.h 4686 Source/WebCore/webaudio/RealtimeAnalyserNode.h \ 4687 Source/WebCore/webaudio/WaveShaperNode.cpp \ 4688 Source/WebCore/webaudio/WaveShaperProcessor.h \ 4689 Source/WebCore/webaudio/WaveShaperDSPKernel.cpp \ 4690 Source/WebCore/webaudio/WaveShaperDSPKernel.h \ 4691 Source/WebCore/webaudio/WaveShaperProcessor.cpp \ 4692 Source/WebCore/webaudio/WaveShaperNode.h \ 4693 Source/WebCore/platform/audio/AudioArray.h \ 4694 Source/WebCore/platform/audio/AudioBus.cpp \ 4695 Source/WebCore/platform/audio/AudioBus.h \ 4696 Source/WebCore/platform/audio/AudioChannel.cpp \ 4697 Source/WebCore/platform/audio/AudioChannel.h \ 4698 Source/WebCore/platform/audio/AudioDestination.h \ 4699 Source/WebCore/platform/audio/AudioDSPKernel.h \ 4700 Source/WebCore/platform/audio/AudioDSPKernelProcessor.cpp \ 4701 Source/WebCore/platform/audio/AudioDSPKernelProcessor.h \ 4702 Source/WebCore/platform/audio/AudioFileReader.h \ 4703 Source/WebCore/platform/audio/AudioProcessor.h \ 4704 Source/WebCore/platform/audio/AudioResampler.cpp \ 4705 Source/WebCore/platform/audio/AudioResampler.h \ 4706 Source/WebCore/platform/audio/AudioResamplerKernel.cpp \ 4707 Source/WebCore/platform/audio/AudioResamplerKernel.h \ 4708 Source/WebCore/platform/audio/AudioSourceProvider.h \ 4709 Source/WebCore/platform/audio/AudioUtilities.cpp \ 4710 Source/WebCore/platform/audio/AudioUtilities.h \ 4711 Source/WebCore/platform/audio/Biquad.cpp \ 4712 Source/WebCore/platform/audio/Biquad.h \ 4713 Source/WebCore/platform/audio/Cone.cpp \ 4714 Source/WebCore/platform/audio/Cone.h \ 4715 Source/WebCore/platform/audio/Distance.cpp \ 4716 Source/WebCore/platform/audio/Distance.h \ 4717 Source/WebCore/platform/audio/DynamicsCompressor.h \ 4718 Source/WebCore/platform/audio/DynamicsCompressorKernel.cpp \ 4719 Source/WebCore/platform/audio/DynamicsCompressorKernel.h \ 4720 Source/WebCore/platform/audio/DynamicsCompressor.cpp \ 4721 Source/WebCore/platform/audio/EqualPowerPanner.cpp \ 4722 Source/WebCore/platform/audio/EqualPowerPanner.h \ 4723 Source/WebCore/platform/audio/FFTConvolver.cpp \ 4724 Source/WebCore/platform/audio/FFTConvolver.h \ 4725 Source/WebCore/platform/audio/FFTFrame.cpp \ 4726 Source/WebCore/platform/audio/FFTFrame.h \ 4727 Source/WebCore/platform/audio/FFTFrameStub.cpp \ 4728 Source/WebCore/platform/audio/HRTFDatabase.cpp \ 4729 Source/WebCore/platform/audio/HRTFDatabase.h \ 4730 Source/WebCore/platform/audio/HRTFDatabaseLoader.cpp \ 4731 Source/WebCore/platform/audio/HRTFDatabaseLoader.h \ 4732 Source/WebCore/platform/audio/HRTFElevation.cpp \ 4733 Source/WebCore/platform/audio/HRTFElevation.h \ 4734 Source/WebCore/platform/audio/HRTFKernel.cpp \ 4735 Source/WebCore/platform/audio/HRTFKernel.h \ 4736 Source/WebCore/platform/audio/HRTFPanner.cpp \ 4737 Source/WebCore/platform/audio/HRTFPanner.h \ 4738 Source/WebCore/platform/audio/Panner.cpp \ 4739 Source/WebCore/platform/audio/Panner.h \ 4740 Source/WebCore/platform/audio/ReverbAccumulationBuffer.cpp \ 4741 Source/WebCore/platform/audio/ReverbAccumulationBuffer.h \ 4742 Source/WebCore/platform/audio/ReverbConvolver.cpp \ 4743 Source/WebCore/platform/audio/ReverbConvolver.h \ 4744 Source/WebCore/platform/audio/ReverbConvolverStage.cpp \ 4745 Source/WebCore/platform/audio/ReverbConvolverStage.h \ 4746 Source/WebCore/platform/audio/Reverb.cpp \ 4747 Source/WebCore/platform/audio/Reverb.h \ 4748 Source/WebCore/platform/audio/ReverbInputBuffer.cpp \ 4749 Source/WebCore/platform/audio/ReverbInputBuffer.h \ 4750 Source/WebCore/platform/audio/SincResampler.cpp \ 4751 Source/WebCore/platform/audio/SincResampler.h \ 4752 Source/WebCore/platform/audio/VectorMath.cpp \ 4753 Source/WebCore/platform/audio/VectorMath.h \ 4754 Source/WebCore/platform/audio/ZeroPole.cpp \ 4755 Source/WebCore/platform/audio/ZeroPole.h \ 4756 Source/WebCore/platform/audio/gstreamer/AudioDestinationGStreamer.cpp \ 4757 Source/WebCore/platform/audio/gstreamer/AudioDestinationGStreamer.h \ 4758 Source/WebCore/platform/audio/gstreamer/AudioFileReaderGStreamer.cpp \ 4759 Source/WebCore/platform/audio/gtk/AudioBusGtk.cpp 4660 4760 webcore_built_sources += \ 4661 4761 DerivedSources/WebCore/JSAudioBuffer.cpp \ 4662 4762 DerivedSources/WebCore/JSAudioBuffer.h \ 4763 DerivedSources/WebCore/JSAudioBufferCallback.cpp \ 4764 DerivedSources/WebCore/JSAudioBufferCallback.h \ 4663 4765 DerivedSources/WebCore/JSAudioBufferSourceNode.cpp \ 4664 4766 DerivedSources/WebCore/JSAudioBufferSourceNode.h \ … … 4667 4769 DerivedSources/WebCore/JSAudioChannelSplitter.cpp \ 4668 4770 DerivedSources/WebCore/JSAudioChannelSplitter.h \ 4669 DerivedSources/WebCore/JSAudioContext.cpp \4670 DerivedSources/WebCore/JSAudioContext.h \4671 4771 DerivedSources/WebCore/JSAudioDestinationNode.cpp \ 4672 4772 DerivedSources/WebCore/JSAudioDestinationNode.h \ … … 4679 4779 DerivedSources/WebCore/JSAudioNode.cpp \ 4680 4780 DerivedSources/WebCore/JSAudioNode.h \ 4681 DerivedSources/WebCore/JSAudioPannerNode.cpp \4682 DerivedSources/WebCore/JSAudioPannerNode.h \4683 4781 DerivedSources/WebCore/JSAudioParam.cpp \ 4684 4782 DerivedSources/WebCore/JSAudioParam.h \ … … 4687 4785 DerivedSources/WebCore/JSAudioSourceNode.cpp \ 4688 4786 DerivedSources/WebCore/JSAudioSourceNode.h \ 4787 DerivedSources/WebCore/JSBiquadFilterNode.cpp \ 4788 DerivedSources/WebCore/JSBiquadFilterNode.h \ 4689 4789 DerivedSources/WebCore/JSConvolverNode.cpp \ 4690 4790 DerivedSources/WebCore/JSConvolverNode.h \ … … 4695 4795 DerivedSources/WebCore/JSJavaScriptAudioNode.cpp \ 4696 4796 DerivedSources/WebCore/JSJavaScriptAudioNode.h \ 4797 DerivedSources/WebCore/JSOfflineAudioCompletionEvent.cpp \ 4798 DerivedSources/WebCore/JSOfflineAudioCompletionEvent.h \ 4697 4799 DerivedSources/WebCore/JSLowPass2FilterNode.cpp \ 4698 4800 DerivedSources/WebCore/JSLowPass2FilterNode.h \ 4801 DerivedSources/WebCore/JSMediaElementAudioSourceNode.cpp \ 4802 DerivedSources/WebCore/JSMediaElementAudioSourceNode.h \ 4699 4803 DerivedSources/WebCore/JSRealtimeAnalyserNode.cpp \ 4700 4804 DerivedSources/WebCore/JSRealtimeAnalyserNode.h 4701 4805 endif 4806 4702 4807 4703 4808 # ---- -
trunk/Source/WebKit/gtk/ChangeLog
r98500 r98554 1 2011-10-27 Philippe Normand <pnormand@igalia.com> 2 3 [GStreamer] WebAudio AudioFileReader implementation 4 https://bugs.webkit.org/show_bug.cgi?id=69834 5 6 Reviewed by Martin Robinson. 7 8 * GNUmakefile.am: Link against libfftw. 9 1 10 2011-10-26 Carlos Garcia Campos <cgarcia@igalia.com> 2 11 -
trunk/Source/WebKit/gtk/GNUmakefile.am
r97901 r98554 67 67 $(GTK_CFLAGS) \ 68 68 $(HILDON_CFLAGS) \ 69 $(LIBFFTW_CFLAGS) \ 69 70 $(LIBSOUP_CFLAGS) \ 70 71 $(LIBXML_CFLAGS) \ … … 97 98 $(HILDON_LIBS) \ 98 99 $(JPEG_LIBS) \ 100 $(LIBFFTW_LIBS) \ 99 101 $(LIBSOUP_LIBS) \ 100 102 $(LIBXML_LIBS) \ -
trunk/Source/WebKit2/ChangeLog
r98526 r98554 1 2011-10-27 Philippe Normand <pnormand@igalia.com> 2 3 [GStreamer] WebAudio AudioFileReader implementation 4 https://bugs.webkit.org/show_bug.cgi?id=69834 5 6 Reviewed by Martin Robinson. 7 8 * GNUmakefile.am: Link against libfftw. 9 1 10 2011-10-26 Alexey Proskuryakov <ap@apple.com> 2 11 -
trunk/Source/WebKit2/GNUmakefile.am
r98498 r98554 1377 1377 $(XT_LIBS) \ 1378 1378 $(WINMM_LIBS) \ 1379 $(LIBFFTW_LIBS) \ 1379 1380 $(ZLIB_LIBS) 1380 1381 -
trunk/configure.ac
r98500 r98554 278 278 GSTREAMER_PLUGINS_BASE_REQUIRED_VERSION=0.10.30 279 279 ENCHANT_REQUIRED_VERSION=0.22 280 LIBFFTW_REQUIRED_VERSION=3.2.2 280 281 281 282 # Available modules … … 1036 1037 1037 1038 # check if gstreamer is available 1038 if test "$enable_video" = "yes" ; then1039 if test "$enable_video" = "yes" || test "$enable_web_audio" = "yes"; then 1039 1040 PKG_CHECK_MODULES([GSTREAMER], 1040 1041 [gstreamer-0.10 >= $GSTREAMER_REQUIRED_VERSION 1041 1042 gstreamer-app-0.10 1043 gstreamer-audio-0.10 1042 1044 gstreamer-base-0.10 1043 1045 gstreamer-interfaces-0.10 … … 1049 1051 AC_SUBST([GSTREAMER_CFLAGS]) 1050 1052 AC_SUBST([GSTREAMER_LIBS]) 1053 fi 1054 1055 # check if libfftw is available 1056 if test "$enable_web_audio" = "yes"; then 1057 PKG_CHECK_MODULES([LIBFFTW], 1058 [fftw3 >= $LIBFFTW_REQUIRED_VERSION 1059 fftw3f >= $LIBFFTW_REQUIRED_VERSION], 1060 [have_fftw=yes]) 1061 1062 AC_SUBST([LIBFFTW_CFLAGS]) 1063 AC_SUBST([LIBFFTW_LIBS]) 1051 1064 fi 1052 1065 … … 1123 1136 # GStreamer feature conditional 1124 1137 AM_CONDITIONAL([USE_GSTREAMER], [test "$have_gstreamer" = "yes"]) 1138 1139 # Web Audio feature conditional 1140 AM_CONDITIONAL([USE_WEBAUDIO_FFTW], [test "$have_fftw" = "yes"]) 1125 1141 1126 1142 # WebKit feature conditionals
Note: See TracChangeset
for help on using the changeset viewer.