AudioProcessingEvent.cpp [plain text]
#include "config.h"
#if ENABLE(WEB_AUDIO)
#include "AudioProcessingEvent.h"
#include "AudioBuffer.h"
#include "AudioProcessingEventInit.h"
#include "EventNames.h"
#include <wtf/IsoMallocInlines.h>
namespace WebCore {
WTF_MAKE_ISO_ALLOCATED_IMPL(AudioProcessingEvent);
Ref<AudioProcessingEvent> AudioProcessingEvent::create(const AtomString& eventType, AudioProcessingEventInit&& eventInitDict)
{
RELEASE_ASSERT(eventInitDict.inputBuffer);
RELEASE_ASSERT(eventInitDict.outputBuffer);
return adoptRef(*new AudioProcessingEvent(eventType, WTFMove(eventInitDict)));
}
AudioProcessingEvent::AudioProcessingEvent(RefPtr<AudioBuffer>&& inputBuffer, RefPtr<AudioBuffer>&& outputBuffer, double playbackTime)
: Event(eventNames().audioprocessEvent, CanBubble::Yes, IsCancelable::No)
, m_inputBuffer(WTFMove(inputBuffer))
, m_outputBuffer(WTFMove(outputBuffer))
, m_playbackTime(playbackTime)
{
}
AudioProcessingEvent::AudioProcessingEvent(const AtomString& eventType, AudioProcessingEventInit&& eventInitDict)
: Event(eventType, eventInitDict, IsTrusted::No)
, m_inputBuffer(eventInitDict.inputBuffer.releaseNonNull())
, m_outputBuffer(eventInitDict.outputBuffer.releaseNonNull())
, m_playbackTime(eventInitDict.playbackTime)
{
}
AudioProcessingEvent::~AudioProcessingEvent() = default;
EventInterface AudioProcessingEvent::eventInterface() const
{
return AudioProcessingEventInterfaceType;
}
}
#endif // ENABLE(WEB_AUDIO)