#include "wtf/PassRefPtr.h"
#include "wtf/RefPtr.h"
-namespace WebCore {
+namespace blink {
class AudioBus;
class AudioContext;
-class OfflineAudioDestinationNode : public AudioDestinationNode {
+class OfflineAudioDestinationNode final : public AudioDestinationNode {
public:
- static PassRefPtr<OfflineAudioDestinationNode> create(AudioContext* context, AudioBuffer* renderTarget)
+ static OfflineAudioDestinationNode* create(AudioContext* context, AudioBuffer* renderTarget)
{
- return adoptRef(new OfflineAudioDestinationNode(context, renderTarget));
+ return new OfflineAudioDestinationNode(context, renderTarget);
}
virtual ~OfflineAudioDestinationNode();
// AudioNode
- virtual void initialize() OVERRIDE;
- virtual void uninitialize() OVERRIDE;
+ virtual void dispose() override;
+ virtual void initialize() override;
+ virtual void uninitialize() override;
// AudioDestinationNode
- virtual void enableInput(const String&) OVERRIDE { }
- virtual void startRendering() OVERRIDE;
+ virtual void startRendering() override;
- virtual float sampleRate() const { return m_renderTarget->sampleRate(); }
+ virtual float sampleRate() const override { return m_renderTarget->sampleRate(); }
-private:
- class OfflineRenderingTask;
- friend class OfflineRenderingTask;
+ virtual void trace(Visitor*) override;
+private:
OfflineAudioDestinationNode(AudioContext*, AudioBuffer* renderTarget);
// This AudioNode renders into this AudioBuffer.
- RefPtr<AudioBuffer> m_renderTarget;
-
+ Member<AudioBuffer> m_renderTarget;
// Temporary AudioBus for each render quantum.
RefPtr<AudioBus> m_renderBus;
// Rendering thread.
- OwnPtr<WebKit::WebThread> m_renderThread;
+ OwnPtr<WebThread> m_renderThread;
bool m_startedRendering;
void offlineRender();
// For completion callback on main thread.
- static void notifyCompleteDispatch(void* userData);
void notifyComplete();
};
-} // namespace WebCore
+} // namespace blink
#endif // OfflineAudioDestinationNode_h