Changeset 86607 in webkit
- Timestamp:
- May 16, 2011 2:34:54 PM (13 years ago)
- Location:
- trunk/Source/WebCore
- Files:
-
- 9 added
- 8 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebCore/ChangeLog
r86601 r86607 1 2011-05-16 Chris Rogers <crogers@google.com> 2 3 Reviewed by senorblanco@chromium.org. 4 5 Add DynamicsCompressorNode implementation 6 https://bugs.webkit.org/show_bug.cgi?id=60682 7 8 No new tests since audio API is not yet implemented. 9 10 * DerivedSources.make: 11 * WebCore.gypi: 12 * WebCore.xcodeproj/project.pbxproj: 13 * platform/audio/DynamicsCompressor.cpp: Added. 14 (WebCore::DynamicsCompressor::DynamicsCompressor): 15 (WebCore::DynamicsCompressor::initializeParameters): 16 (WebCore::DynamicsCompressor::parameterValue): 17 (WebCore::DynamicsCompressor::setEmphasisStageParameters): 18 (WebCore::DynamicsCompressor::setEmphasisParameters): 19 (WebCore::DynamicsCompressor::process): 20 (WebCore::DynamicsCompressor::reset): 21 * platform/audio/DynamicsCompressor.h: Added. 22 (WebCore::DynamicsCompressor::isStereo): 23 (WebCore::DynamicsCompressor::sampleRate): 24 (WebCore::DynamicsCompressor::nyquist): 25 * platform/audio/DynamicsCompressorKernel.cpp: Added. 26 (WebCore::saturate): 27 (WebCore::DynamicsCompressorKernel::DynamicsCompressorKernel): 28 (WebCore::DynamicsCompressorKernel::setPreDelayTime): 29 (WebCore::DynamicsCompressorKernel::process): 30 (WebCore::DynamicsCompressorKernel::reset): 31 * platform/audio/DynamicsCompressorKernel.h: Added. 32 (WebCore::DynamicsCompressorKernel::latencyFrames): 33 (WebCore::DynamicsCompressorKernel::sampleRate): 34 * platform/audio/ZeroPole.cpp: Added. 35 (WebCore::ZeroPole::process): 36 * platform/audio/ZeroPole.h: Added. 37 (WebCore::ZeroPole::ZeroPole): 38 (WebCore::ZeroPole::reset): 39 (WebCore::ZeroPole::setZero): 40 (WebCore::ZeroPole::setPole): 41 (WebCore::ZeroPole::zero): 42 (WebCore::ZeroPole::pole): 43 * webaudio/AudioContext.cpp: 44 (WebCore::AudioContext::createDynamicsCompressor): 45 * webaudio/AudioContext.h: 46 * webaudio/AudioContext.idl: 47 * webaudio/AudioNode.h: 48 * webaudio/DynamicsCompressorNode.cpp: Added. 49 (WebCore::DynamicsCompressorNode::DynamicsCompressorNode): 50 (WebCore::DynamicsCompressorNode::~DynamicsCompressorNode): 51 (WebCore::DynamicsCompressorNode::process): 52 (WebCore::DynamicsCompressorNode::reset): 53 (WebCore::DynamicsCompressorNode::initialize): 54 (WebCore::DynamicsCompressorNode::uninitialize): 55 * webaudio/DynamicsCompressorNode.h: Added. 56 (WebCore::DynamicsCompressorNode::create): 57 * webaudio/DynamicsCompressorNode.idl: Added. 58 1 59 2011-05-16 Yuzo Fujishima <yuzo@google.com> 2 60 -
trunk/Source/WebCore/DerivedSources.make
r86315 r86607 70 70 ConvolverNode \ 71 71 DelayNode \ 72 DynamicsCompressorNode \ 72 73 HighPass2FilterNode \ 73 74 JavaScriptAudioNode \ -
trunk/Source/WebCore/WebCore.gypi
r86583 r86607 1406 1406 'webaudio/ConvolverNode.idl', 1407 1407 'webaudio/DelayNode.idl', 1408 'webaudio/DynamicsCompressorNode.idl', 1408 1409 'webaudio/HighPass2FilterNode.idl', 1409 1410 'webaudio/JavaScriptAudioNode.idl', … … 3656 3657 'platform/audio/Distance.cpp', 3657 3658 'platform/audio/Distance.h', 3659 'platform/audio/DynamicsCompressor.cpp', 3660 'platform/audio/DynamicsCompressor.h', 3661 'platform/audio/DynamicsCompressorKernel.cpp', 3662 'platform/audio/DynamicsCompressorKernel.h', 3658 3663 'platform/audio/EqualPowerPanner.cpp', 3659 3664 'platform/audio/EqualPowerPanner.h', … … 3689 3694 'platform/audio/VectorMath.cpp', 3690 3695 'platform/audio/VectorMath.h', 3696 'platform/audio/ZeroPole.cpp', 3697 'platform/audio/ZeroPole.h', 3691 3698 'platform/audio/chromium/AudioBusChromium.cpp', 3692 3699 'platform/audio/fftw/FFTFrameFFTW.cpp', … … 5945 5952 'webaudio/DelayProcessor.cpp', 5946 5953 'webaudio/DelayProcessor.h', 5954 'webaudio/DynamicsCompressorNode.cpp', 5955 'webaudio/DynamicsCompressorNode.h', 5947 5956 'webaudio/HighPass2FilterNode.cpp', 5948 5957 'webaudio/HighPass2FilterNode.h', -
trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj
r86583 r86607 5863 5863 FD3160BF12B0272A00C1A359 /* AudioFileReaderMac.h in Headers */ = {isa = PBXBuildFile; fileRef = FD3160B912B0272A00C1A359 /* AudioFileReaderMac.h */; }; 5864 5864 FD3160C012B0272A00C1A359 /* FFTFrameMac.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FD3160BA12B0272A00C1A359 /* FFTFrameMac.cpp */; }; 5865 FD537352137B651800008DCE /* ZeroPole.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FD537350137B651800008DCE /* ZeroPole.cpp */; }; 5866 FD537353137B651800008DCE /* ZeroPole.h in Headers */ = {isa = PBXBuildFile; fileRef = FD537351137B651800008DCE /* ZeroPole.h */; }; 5867 FD537356137B653B00008DCE /* DynamicsCompressorKernel.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FD537354137B653B00008DCE /* DynamicsCompressorKernel.cpp */; }; 5868 FD537357137B653B00008DCE /* DynamicsCompressorKernel.h in Headers */ = {isa = PBXBuildFile; fileRef = FD537355137B653B00008DCE /* DynamicsCompressorKernel.h */; }; 5869 FD6ED2C3136B8E42003CF072 /* DynamicsCompressorNode.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FD6ED2C1136B8E42003CF072 /* DynamicsCompressorNode.cpp */; }; 5870 FD6ED2C4136B8E42003CF072 /* DynamicsCompressorNode.h in Headers */ = {isa = PBXBuildFile; fileRef = FD6ED2C2136B8E42003CF072 /* DynamicsCompressorNode.h */; }; 5871 FD6ED2C7136B8E66003CF072 /* DynamicsCompressor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FD6ED2C5136B8E66003CF072 /* DynamicsCompressor.cpp */; }; 5872 FD6ED2C8136B8E66003CF072 /* DynamicsCompressor.h in Headers */ = {isa = PBXBuildFile; fileRef = FD6ED2C6136B8E66003CF072 /* DynamicsCompressor.h */; }; 5873 FD7868B9136B999200D403DF /* JSDynamicsCompressorNode.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FD7868B7136B999200D403DF /* JSDynamicsCompressorNode.cpp */; }; 5874 FD7868BA136B999200D403DF /* JSDynamicsCompressorNode.h in Headers */ = {isa = PBXBuildFile; fileRef = FD7868B8136B999200D403DF /* JSDynamicsCompressorNode.h */; }; 5865 5875 FDA15E9D12B03EE1003A583A /* JSAudioBuffer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = FDA15E8112B03EE1003A583A /* JSAudioBuffer.cpp */; }; 5866 5876 FDA15E9E12B03EE1003A583A /* JSAudioBuffer.h in Headers */ = {isa = PBXBuildFile; fileRef = FDA15E8212B03EE1003A583A /* JSAudioBuffer.h */; }; … … 12251 12261 FD06DFA3134A4DEF006F5D7D /* DefaultAudioDestinationNode.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DefaultAudioDestinationNode.cpp; sourceTree = "<group>"; }; 12252 12262 FD06DFA4134A4DEF006F5D7D /* DefaultAudioDestinationNode.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DefaultAudioDestinationNode.h; sourceTree = "<group>"; }; 12253 FD1660A413787C6D001FFA7B /* DenormalDisabler.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = DenormalDisabler.h; path = webaudio/audio/DenormalDisabler.h; sourceTree = SOURCE_ROOT; };12263 FD1660A413787C6D001FFA7B /* DenormalDisabler.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DenormalDisabler.h; sourceTree = "<group>"; }; 12254 12264 FD2DBF0E12B048A300ED98C6 /* Accelerate.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Accelerate.framework; path = /System/Library/Frameworks/Accelerate.framework; sourceTree = "<absolute>"; }; 12255 12265 FD2DBF0F12B048A300ED98C6 /* AudioToolbox.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioToolbox.framework; path = /System/Library/Frameworks/AudioToolbox.framework; sourceTree = "<absolute>"; }; … … 12390 12400 FD3160B912B0272A00C1A359 /* AudioFileReaderMac.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AudioFileReaderMac.h; sourceTree = "<group>"; }; 12391 12401 FD3160BA12B0272A00C1A359 /* FFTFrameMac.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = FFTFrameMac.cpp; sourceTree = "<group>"; }; 12402 FD537350137B651800008DCE /* ZeroPole.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ZeroPole.cpp; sourceTree = "<group>"; }; 12403 FD537351137B651800008DCE /* ZeroPole.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ZeroPole.h; sourceTree = "<group>"; }; 12404 FD537354137B653B00008DCE /* DynamicsCompressorKernel.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DynamicsCompressorKernel.cpp; sourceTree = "<group>"; }; 12405 FD537355137B653B00008DCE /* DynamicsCompressorKernel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DynamicsCompressorKernel.h; sourceTree = "<group>"; }; 12406 FD6ED2C1136B8E42003CF072 /* DynamicsCompressorNode.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DynamicsCompressorNode.cpp; sourceTree = "<group>"; }; 12407 FD6ED2C2136B8E42003CF072 /* DynamicsCompressorNode.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DynamicsCompressorNode.h; sourceTree = "<group>"; }; 12408 FD6ED2C5136B8E66003CF072 /* DynamicsCompressor.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DynamicsCompressor.cpp; sourceTree = "<group>"; }; 12409 FD6ED2C6136B8E66003CF072 /* DynamicsCompressor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DynamicsCompressor.h; sourceTree = "<group>"; }; 12410 FD6ED2C9136B8E9D003CF072 /* DynamicsCompressorNode.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = DynamicsCompressorNode.idl; sourceTree = "<group>"; }; 12411 FD7868B7136B999200D403DF /* JSDynamicsCompressorNode.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSDynamicsCompressorNode.cpp; sourceTree = "<group>"; }; 12412 FD7868B8136B999200D403DF /* JSDynamicsCompressorNode.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSDynamicsCompressorNode.h; sourceTree = "<group>"; }; 12392 12413 FDA15E8112B03EE1003A583A /* JSAudioBuffer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSAudioBuffer.cpp; sourceTree = "<group>"; }; 12393 12414 FDA15E8212B03EE1003A583A /* JSAudioBuffer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSAudioBuffer.h; sourceTree = "<group>"; }; … … 19540 19561 FD315FE612B0267600C1A359 /* DelayProcessor.cpp */, 19541 19562 FD315FE712B0267600C1A359 /* DelayProcessor.h */, 19563 FD6ED2C1136B8E42003CF072 /* DynamicsCompressorNode.cpp */, 19564 FD6ED2C2136B8E42003CF072 /* DynamicsCompressorNode.h */, 19565 FD6ED2C9136B8E9D003CF072 /* DynamicsCompressorNode.idl */, 19542 19566 FD315FE812B0267600C1A359 /* HighPass2FilterNode.cpp */, 19543 19567 FD315FE912B0267600C1A359 /* HighPass2FilterNode.h */, … … 19591 19615 FD31605A12B026F700C1A359 /* Distance.cpp */, 19592 19616 FD31605B12B026F700C1A359 /* Distance.h */, 19617 FD6ED2C5136B8E66003CF072 /* DynamicsCompressor.cpp */, 19618 FD6ED2C6136B8E66003CF072 /* DynamicsCompressor.h */, 19619 FD537354137B653B00008DCE /* DynamicsCompressorKernel.cpp */, 19620 FD537355137B653B00008DCE /* DynamicsCompressorKernel.h */, 19593 19621 FD1660A413787C6D001FFA7B /* DenormalDisabler.h */, 19594 19622 FD31605C12B026F700C1A359 /* EqualPowerPanner.cpp */, … … 19622 19650 FD31607812B026F700C1A359 /* VectorMath.cpp */, 19623 19651 FD31607912B026F700C1A359 /* VectorMath.h */, 19652 FD537350137B651800008DCE /* ZeroPole.cpp */, 19653 FD537351137B651800008DCE /* ZeroPole.h */, 19624 19654 ); 19625 19655 path = audio; … … 19674 19704 FDA15ECF12B03F94003A583A /* JSDelayNode.cpp */, 19675 19705 FDA15ED012B03F94003A583A /* JSDelayNode.h */, 19706 FD7868B7136B999200D403DF /* JSDynamicsCompressorNode.cpp */, 19707 FD7868B8136B999200D403DF /* JSDynamicsCompressorNode.h */, 19676 19708 FDA15EBF12B03F2D003A583A /* JSHighPass2FilterNode.cpp */, 19677 19709 FDA15EC012B03F2D003A583A /* JSHighPass2FilterNode.h */, … … 22772 22804 E1BE512E0CF6C512002EA959 /* XSLTUnicodeSort.h in Headers */, 22773 22805 977E2E0F12F0FC9C00C13379 /* XSSFilter.h in Headers */, 22806 FD6ED2C4136B8E42003CF072 /* DynamicsCompressorNode.h in Headers */, 22807 FD6ED2C8136B8E66003CF072 /* DynamicsCompressor.h in Headers */, 22808 FD7868BA136B999200D403DF /* JSDynamicsCompressorNode.h in Headers */, 22774 22809 37AFFDF71370A0B800E895C0 /* SharedBufferCRLFLineReader.h in Headers */, 22775 22810 379E371713736A6600B9E919 /* QuotedPrintable.h in Headers */, 22776 22811 FD1660A513787C6D001FFA7B /* DenormalDisabler.h in Headers */, 22777 22812 BCE5644E137A34D6007D2934 /* ConsoleTypes.h in Headers */, 22813 FD537353137B651800008DCE /* ZeroPole.h in Headers */, 22814 FD537357137B653B00008DCE /* DynamicsCompressorKernel.h in Headers */, 22778 22815 BCF7E491137CD7C7001DDAE7 /* AdjustViewSizeOrNot.h in Headers */, 22779 22816 B1E54593134629C10092A545 /* CallbackTask.h in Headers */, … … 25443 25480 E1BE512D0CF6C512002EA959 /* XSLTUnicodeSort.cpp in Sources */, 25444 25481 977E2E0E12F0FC9C00C13379 /* XSSFilter.cpp in Sources */, 25482 FD6ED2C3136B8E42003CF072 /* DynamicsCompressorNode.cpp in Sources */, 25483 FD6ED2C7136B8E66003CF072 /* DynamicsCompressor.cpp in Sources */, 25484 FD7868B9136B999200D403DF /* JSDynamicsCompressorNode.cpp in Sources */, 25445 25485 37AFFDF61370A0B800E895C0 /* SharedBufferCRLFLineReader.cpp in Sources */, 25446 25486 379E371613736A6600B9E919 /* QuotedPrintable.cpp in Sources */, 25487 FD537352137B651800008DCE /* ZeroPole.cpp in Sources */, 25488 FD537356137B653B00008DCE /* DynamicsCompressorKernel.cpp in Sources */, 25447 25489 ); 25448 25490 runOnlyForDeploymentPostprocessing = 0; -
trunk/Source/WebCore/webaudio/AudioContext.cpp
r83875 r86607 43 43 #include "DelayNode.h" 44 44 #include "Document.h" 45 #include "DynamicsCompressorNode.h" 45 46 #include "FFTFrame.h" 46 47 #include "HRTFDatabaseLoader.h" … … 292 293 } 293 294 295 PassRefPtr<DynamicsCompressorNode> AudioContext::createDynamicsCompressor() 296 { 297 ASSERT(isMainThread()); 298 lazyInitialize(); 299 return DynamicsCompressorNode::create(this, m_destinationNode->sampleRate()); 300 } 301 294 302 PassRefPtr<RealtimeAnalyserNode> AudioContext::createAnalyser() 295 303 { -
trunk/Source/WebCore/webaudio/AudioContext.h
r82963 r86607 56 56 class HighPass2FilterNode; 57 57 class ConvolverNode; 58 class DynamicsCompressorNode; 58 59 class RealtimeAnalyserNode; 59 60 class JavaScriptAudioNode; … … 105 106 PassRefPtr<AudioPannerNode> createPanner(); 106 107 PassRefPtr<ConvolverNode> createConvolver(); 108 PassRefPtr<DynamicsCompressorNode> createDynamicsCompressor(); 107 109 PassRefPtr<RealtimeAnalyserNode> createAnalyser(); 108 110 PassRefPtr<JavaScriptAudioNode> createJavaScriptNode(size_t bufferSize); -
trunk/Source/WebCore/webaudio/AudioContext.idl
r84969 r86607 63 63 AudioPannerNode createPanner(); 64 64 ConvolverNode createConvolver(); 65 DynamicsCompressorNode createDynamicsCompressor(); 65 66 RealtimeAnalyserNode createAnalyser(); 66 67 JavaScriptAudioNode createJavaScriptNode(in unsigned long bufferSize); -
trunk/Source/WebCore/webaudio/AudioNode.h
r70604 r86607 68 68 NodeTypeChannelMerger, 69 69 NodeTypeAnalyser, 70 NodeTypeDynamicsCompressor, 70 71 NodeTypeEnd 71 72 };
Note: See TracChangeset
for help on using the changeset viewer.