| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 2010, Google Inc. All rights reserved. | 2 * Copyright (C) 2010, Google Inc. All rights reserved. |
| 3 * | 3 * |
| 4 * Redistribution and use in source and binary forms, with or without | 4 * Redistribution and use in source and binary forms, with or without |
| 5 * modification, are permitted provided that the following conditions | 5 * modification, are permitted provided that the following conditions |
| 6 * are met: | 6 * are met: |
| 7 * 1. Redistributions of source code must retain the above copyright | 7 * 1. Redistributions of source code must retain the above copyright |
| 8 * notice, this list of conditions and the following disclaimer. | 8 * notice, this list of conditions and the following disclaimer. |
| 9 * 2. Redistributions in binary form must reproduce the above copyright | 9 * 2. Redistributions in binary form must reproduce the above copyright |
| 10 * notice, this list of conditions and the following disclaimer in the | 10 * notice, this list of conditions and the following disclaimer in the |
| (...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 63 // main thread. | 63 // main thread. |
| 64 // | 64 // |
| 65 // Be careful to avoid reference cycles. If an AudioHandler has a reference | 65 // Be careful to avoid reference cycles. If an AudioHandler has a reference |
| 66 // cycle including the owner AudioNode, objects in the cycle are never | 66 // cycle including the owner AudioNode, objects in the cycle are never |
| 67 // collected. | 67 // collected. |
| 68 class MODULES_EXPORT AudioHandler : public ThreadSafeRefCounted<AudioHandler> { | 68 class MODULES_EXPORT AudioHandler : public ThreadSafeRefCounted<AudioHandler> { |
| 69 public: | 69 public: |
| 70 enum { ProcessingSizeInFrames = 128 }; | 70 enum { ProcessingSizeInFrames = 128 }; |
| 71 | 71 |
| 72 enum NodeType { | 72 enum NodeType { |
| 73 NodeTypeUnknown, | 73 NodeTypeUnknown = 0, |
| 74 NodeTypeDestination, | 74 NodeTypeDestination = 1, |
| 75 NodeTypeOscillator, | 75 NodeTypeOscillator = 2, |
| 76 NodeTypeAudioBufferSource, | 76 NodeTypeAudioBufferSource = 3, |
| 77 NodeTypeMediaElementAudioSource, | 77 NodeTypeMediaElementAudioSource = 4, |
| 78 NodeTypeMediaStreamAudioDestination, | 78 NodeTypeMediaStreamAudioDestination = 5, |
| 79 NodeTypeMediaStreamAudioSource, | 79 NodeTypeMediaStreamAudioSource = 6, |
| 80 NodeTypeJavaScript, | 80 NodeTypeJavaScript = 7, |
| 81 NodeTypeBiquadFilter, | 81 NodeTypeBiquadFilter = 8, |
| 82 NodeTypePanner, | 82 NodeTypePanner = 9, |
| 83 NodeTypeStereoPanner, | 83 NodeTypeStereoPanner = 10, |
| 84 NodeTypeConvolver, | 84 NodeTypeConvolver = 11, |
| 85 NodeTypeDelay, | 85 NodeTypeDelay = 12, |
| 86 NodeTypeGain, | 86 NodeTypeGain = 13, |
| 87 NodeTypeChannelSplitter, | 87 NodeTypeChannelSplitter = 14, |
| 88 NodeTypeChannelMerger, | 88 NodeTypeChannelMerger = 15, |
| 89 NodeTypeAnalyser, | 89 NodeTypeAnalyser = 16, |
| 90 NodeTypeDynamicsCompressor, | 90 NodeTypeDynamicsCompressor = 17, |
| 91 NodeTypeWaveShaper, | 91 NodeTypeWaveShaper = 18, |
| 92 NodeTypeIIRFilter, | 92 NodeTypeIIRFilter = 19, |
| 93 NodeTypeEnd | 93 NodeTypeEnd = 20 |
| 94 }; | 94 }; |
| 95 | 95 |
| 96 AudioHandler(NodeType, AudioNode&, float sampleRate); | 96 AudioHandler(NodeType, AudioNode&, float sampleRate); |
| 97 virtual ~AudioHandler(); | 97 virtual ~AudioHandler(); |
| 98 // dispose() is called when the owner AudioNode is about to be | 98 // dispose() is called when the owner AudioNode is about to be |
| 99 // destructed. This must be called in the main thread, and while the graph | 99 // destructed. This must be called in the main thread, and while the graph |
| 100 // lock is held. | 100 // lock is held. |
| 101 // Do not release resources used by an audio rendering thread in dispose(). | 101 // Do not release resources used by an audio rendering thread in dispose(). |
| 102 virtual void dispose(); | 102 virtual void dispose(); |
| 103 | 103 |
| (...skipping 246 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 350 HeapVector<Member<HeapHashSet<Member<AudioNode>>>> m_connectedNodes; | 350 HeapVector<Member<HeapHashSet<Member<AudioNode>>>> m_connectedNodes; |
| 351 // Represents audio node graph with Oilpan references. N-th HeapHashSet | 351 // Represents audio node graph with Oilpan references. N-th HeapHashSet |
| 352 // represents a set of AudioParam objects connected to this AudioNode's N-th | 352 // represents a set of AudioParam objects connected to this AudioNode's N-th |
| 353 // output. | 353 // output. |
| 354 HeapVector<Member<HeapHashSet<Member<AudioParam>>>> m_connectedParams; | 354 HeapVector<Member<HeapHashSet<Member<AudioParam>>>> m_connectedParams; |
| 355 }; | 355 }; |
| 356 | 356 |
| 357 } // namespace blink | 357 } // namespace blink |
| 358 | 358 |
| 359 #endif // AudioNode_h | 359 #endif // AudioNode_h |
| OLD | NEW |