webkit  2cdf99a9e3038c7e01b3c37e8ad903ecbe5eecf1
https://github.com/WebKit/webkit
Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | Static Protected Attributes | List of all members
WebCore::AudioScheduledSourceNode Class Reference

#include <AudioScheduledSourceNode.h>

Inheritance diagram for WebCore::AudioScheduledSourceNode:
WebCore::AudioNode WebCore::EventTargetWithInlineData WebCore::EventTarget WebCore::EventTarget WebCore::ScriptWrappable WebCore::ScriptWrappable WebCore::ScriptWrappable WebCore::ScriptWrappable WebCore::AudioBufferSourceNode WebCore::OscillatorNode

Public Types

enum  PlaybackState { UNSCHEDULED_STATE = 0, SCHEDULED_STATE = 1, PLAYING_STATE = 2, FINISHED_STATE = 3 }
 
- Public Types inherited from WebCore::AudioNode
enum  { ProcessingSizeInFrames = 128 }
 
enum  NodeType {
  NodeTypeUnknown, NodeTypeDestination, NodeTypeOscillator, NodeTypeAudioBufferSource,
  NodeTypeMediaElementAudioSource, NodeTypeMediaStreamAudioDestination, NodeTypeMediaStreamAudioSource, NodeTypeJavaScript,
  NodeTypeBiquadFilter, NodeTypePanner, NodeTypeConvolver, NodeTypeDelay,
  NodeTypeGain, NodeTypeChannelSplitter, NodeTypeChannelMerger, NodeTypeAnalyser,
  NodeTypeDynamicsCompressor, NodeTypeWaveShaper, NodeTypeEnd
}
 
enum  ChannelCountMode { Max, ClampedMax, Explicit }
 
enum  RefType { RefTypeNormal, RefTypeConnection }
 
- Public Types inherited from WebCore::EventTarget
using AddEventListenerOptionsOrBoolean = Variant< AddEventListenerOptions, bool >
 
using ListenerOptionsOrBoolean = Variant< ListenerOptions, bool >
 
using AddEventListenerOptionsOrBoolean = Variant< AddEventListenerOptions, bool >
 
using ListenerOptionsOrBoolean = Variant< ListenerOptions, bool >
 

Public Member Functions

 AudioScheduledSourceNode (AudioContext &, float sampleRate)
 
ExceptionOr< voidstart (double when)
 
ExceptionOr< voidstop (double when)
 
unsigned short playbackState () const
 
bool isPlayingOrScheduled () const
 
bool hasFinished () const
 
- Public Member Functions inherited from WebCore::AudioNode
 AudioNode (AudioContext &, float sampleRate)
 
virtual ~AudioNode ()
 
AudioContextcontext ()
 
const AudioContextcontext () const
 
NodeType nodeType () const
 
void setNodeType (NodeType)
 
void ref (RefType refType=RefTypeNormal)
 
void deref (RefType refType=RefTypeNormal)
 
void finishDeref (RefType refType)
 
virtual void process (size_t framesToProcess)=0
 
virtual void reset ()=0
 
virtual void initialize ()
 
virtual void uninitialize ()
 
bool isInitialized () const
 
void lazyInitialize ()
 
unsigned numberOfInputs () const
 
unsigned numberOfOutputs () const
 
AudioNodeInputinput (unsigned)
 
AudioNodeOutputoutput (unsigned)
 
virtual ExceptionOr< voidconnect (AudioNode &, unsigned outputIndex, unsigned inputIndex)
 
ExceptionOr< voidconnect (AudioParam &, unsigned outputIndex)
 
virtual ExceptionOr< voiddisconnect (unsigned outputIndex)
 
virtual float sampleRate () const
 
void processIfNecessary (size_t framesToProcess)
 
virtual void checkNumberOfChannelsForInput (AudioNodeInput *)
 
bool isMarkedForDeletion () const
 
virtual double tailTime () const =0
 
virtual double latencyTime () const =0
 
virtual bool propagatesSilence () const
 
bool inputsAreSilent ()
 
void silenceOutputs ()
 
void unsilenceOutputs ()
 
void enableOutputsIfNecessary ()
 
void disableOutputsIfNecessary ()
 
unsigned channelCount ()
 
virtual ExceptionOr< voidsetChannelCount (unsigned)
 
String channelCountMode ()
 
ExceptionOr< voidsetChannelCountMode (const String &)
 
String channelInterpretation ()
 
ExceptionOr< voidsetChannelInterpretation (const String &)
 
ChannelCountMode internalChannelCountMode () const
 
AudioBus::ChannelInterpretation internalChannelInterpretation () const
 
EventTargetInterface eventTargetInterface () const override
 
ScriptExecutionContextscriptExecutionContext () const final
 
- Public Member Functions inherited from WebCore::EventTarget
void ref ()
 
void deref ()
 
virtual NodetoNode ()
 
virtual DOMWindowtoDOMWindow ()
 
virtual bool isMessagePort () const
 
WEBCORE_EXPORT void addEventListenerForBindings (const AtomicString &eventType, RefPtr< EventListener > &&, AddEventListenerOptionsOrBoolean &&)
 
WEBCORE_EXPORT void removeEventListenerForBindings (const AtomicString &eventType, RefPtr< EventListener > &&, ListenerOptionsOrBoolean &&)
 
WEBCORE_EXPORT ExceptionOr< bool > dispatchEventForBindings (Event &)
 
virtual bool dispatchEvent (Event &)
 
virtual void uncaughtExceptionInEventHandler ()
 
bool setAttributeEventListener (const AtomicString &eventType, RefPtr< EventListener > &&)
 
EventListenerattributeEventListener (const AtomicString &eventType)
 
bool hasEventListeners () const
 
bool hasEventListeners (const AtomicString &eventType) const
 
bool hasCapturingEventListeners (const AtomicString &eventType)
 
bool hasActiveEventListeners (const AtomicString &eventType) const
 
const EventListenerVectoreventListeners (const AtomicString &eventType)
 
bool fireEventListeners (Event &)
 
bool isFiringEventListeners () const
 
void visitJSEventListeners (JSC::SlotVisitor &)
 
void invalidateJSEventListeners (JSC::JSObject *)
 
void ref ()
 
void deref ()
 
virtual NodetoNode ()
 
virtual DOMWindowtoDOMWindow ()
 
virtual bool isMessagePort () const
 
WEBCORE_EXPORT void addEventListenerForBindings (const AtomicString &eventType, RefPtr< EventListener > &&, AddEventListenerOptionsOrBoolean &&)
 
WEBCORE_EXPORT void removeEventListenerForBindings (const AtomicString &eventType, RefPtr< EventListener > &&, ListenerOptionsOrBoolean &&)
 
WEBCORE_EXPORT ExceptionOr< bool > dispatchEventForBindings (Event &)
 
virtual bool dispatchEvent (Event &)
 
virtual void uncaughtExceptionInEventHandler ()
 
bool setAttributeEventListener (const AtomicString &eventType, RefPtr< EventListener > &&)
 
EventListenerattributeEventListener (const AtomicString &eventType)
 
bool hasEventListeners () const
 
bool hasEventListeners (const AtomicString &eventType) const
 
bool hasCapturingEventListeners (const AtomicString &eventType)
 
bool hasActiveEventListeners (const AtomicString &eventType) const
 
const EventListenerVectoreventListeners (const AtomicString &eventType)
 
bool fireEventListeners (Event &)
 
bool isFiringEventListeners () const
 
void visitJSEventListeners (JSC::SlotVisitor &)
 
void invalidateJSEventListeners (JSC::JSObject *)
 
- Public Member Functions inherited from WebCore::ScriptWrappable
JSDOMObjectwrapper () const
 
void setWrapper (JSDOMObject *, JSC::WeakHandleOwner *, void *)
 
void clearWrapper (JSDOMObject *)
 
JSDOMObjectwrapper () const
 
void setWrapper (JSDOMObject *, JSC::WeakHandleOwner *, void *)
 
void clearWrapper (JSDOMObject *)
 

Protected Member Functions

void updateSchedulingInfo (size_t quantumFrameSize, AudioBus &outputBus, size_t &quantumFrameOffset, size_t &nonSilentFramesToProcess)
 
virtual void finish ()
 
- Protected Member Functions inherited from WebCore::AudioNode
void addInput (std::unique_ptr< AudioNodeInput >)
 
void addOutput (std::unique_ptr< AudioNodeOutput >)
 
virtual void pullInputs (size_t framesToProcess)
 
void updateChannelsForInputs ()
 
- Protected Member Functions inherited from WebCore::EventTargetWithInlineData
EventTargetDataeventTargetData () final
 
EventTargetDataeventTargetDataConcurrently () final
 
EventTargetDataensureEventTargetData () final
 
EventTargetDataeventTargetData () final
 
EventTargetDataeventTargetDataConcurrently () final
 
EventTargetDataensureEventTargetData () final
 
- Protected Member Functions inherited from WebCore::EventTarget
virtual ~EventTarget ()=default
 
const EventTargetDataeventTargetData () const
 
virtual ~EventTarget ()=default
 
const EventTargetDataeventTargetData () const
 
- Protected Member Functions inherited from WebCore::ScriptWrappable
 ~ScriptWrappable ()
 
 ~ScriptWrappable ()
 

Protected Attributes

PlaybackState m_playbackState { UNSCHEDULED_STATE }
 
double m_startTime { 0 }
 
double m_endTime
 
bool m_hasEndedListener { false }
 
- Protected Attributes inherited from WebCore::AudioNode
unsigned m_channelCount
 
ChannelCountMode m_channelCountMode
 
AudioBus::ChannelInterpretation m_channelInterpretation
 

Static Protected Attributes

static const double UnknownTime
 

Additional Inherited Members

- Static Public Member Functions inherited from WebCore::ScriptWrappable
template<typename Derived >
static ptrdiff_t offsetOfWrapper ()
 
template<typename Derived >
static ptrdiff_t offsetOfWrapper ()
 

Member Enumeration Documentation

◆ PlaybackState

Enumerator
UNSCHEDULED_STATE 
SCHEDULED_STATE 
PLAYING_STATE 
FINISHED_STATE 

Constructor & Destructor Documentation

◆ AudioScheduledSourceNode()

WebCore::AudioScheduledSourceNode::AudioScheduledSourceNode ( AudioContext ,
float  sampleRate 
)

Member Function Documentation

◆ finish()

virtual void WebCore::AudioScheduledSourceNode::finish ( )
protectedvirtual

Reimplemented in WebCore::AudioBufferSourceNode.

◆ hasFinished()

bool WebCore::AudioScheduledSourceNode::hasFinished ( ) const
inline

◆ isPlayingOrScheduled()

bool WebCore::AudioScheduledSourceNode::isPlayingOrScheduled ( ) const
inline

◆ playbackState()

unsigned short WebCore::AudioScheduledSourceNode::playbackState ( ) const
inline

◆ start()

ExceptionOr<void> WebCore::AudioScheduledSourceNode::start ( double  when)

◆ stop()

ExceptionOr<void> WebCore::AudioScheduledSourceNode::stop ( double  when)

◆ updateSchedulingInfo()

void WebCore::AudioScheduledSourceNode::updateSchedulingInfo ( size_t  quantumFrameSize,
AudioBus outputBus,
size_t quantumFrameOffset,
size_t nonSilentFramesToProcess 
)
protected

Member Data Documentation

◆ m_endTime

double WebCore::AudioScheduledSourceNode::m_endTime
protected

◆ m_hasEndedListener

bool WebCore::AudioScheduledSourceNode::m_hasEndedListener { false }
protected

◆ m_playbackState

PlaybackState WebCore::AudioScheduledSourceNode::m_playbackState { UNSCHEDULED_STATE }
protected

◆ m_startTime

double WebCore::AudioScheduledSourceNode::m_startTime { 0 }
protected

◆ UnknownTime

const double WebCore::AudioScheduledSourceNode::UnknownTime
staticprotected

The documentation for this class was generated from the following file: