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

#include <AudioBus.h>

Inheritance diagram for WebCore::AudioBus:
WTF::ThreadSafeRefCounted< AudioBus > WTF::ThreadSafeRefCountedBase WTF::ThreadSafeRefCountedBase WTF::ThreadSafeRefCountedBase

Public Types

enum  {
  ChannelLeft = 0, ChannelRight = 1, ChannelCenter = 2, ChannelMono = 2,
  ChannelLFE = 3, ChannelSurroundLeft = 4, ChannelSurroundRight = 5
}
 
enum  { LayoutCanonical = 0 }
 
enum  ChannelInterpretation { Speakers, Discrete }
 

Public Member Functions

void setChannelMemory (unsigned channelIndex, float *storage, size_t length)
 
unsigned numberOfChannels () const
 
AudioChannelchannel (unsigned channel)
 
const AudioChannelchannel (unsigned channel) const
 
AudioChannelchannelByType (unsigned type)
 
const AudioChannelchannelByType (unsigned type) const
 
size_t length () const
 
void resizeSmaller (size_t newLength)
 
float sampleRate () const
 
void setSampleRate (float sampleRate)
 
void zero ()
 
void clearSilentFlag ()
 
bool isSilent () const
 
bool topologyMatches (const AudioBus &sourceBus) const
 
void scale (float scale)
 
void reset ()
 
void copyFromRange (const AudioBus &sourceBus, unsigned startFrame, unsigned endFrame)
 
void copyFrom (const AudioBus &sourceBus, ChannelInterpretation=Speakers)
 
void sumFrom (const AudioBus &sourceBus, ChannelInterpretation=Speakers)
 
void copyWithGainFrom (const AudioBus &sourceBus, float *lastMixGain, float targetGain)
 
void copyWithSampleAccurateGainValuesFrom (const AudioBus &sourceBus, float *gainValues, unsigned numberOfGainValues)
 
float maxAbsValue () const
 
void normalize ()
 
- Public Member Functions inherited from WTF::ThreadSafeRefCounted< AudioBus >
void deref () const
 
void deref () const
 
void deref () const
 
- Public Member Functions inherited from WTF::ThreadSafeRefCountedBase
 ThreadSafeRefCountedBase ()=default
 
void ref () const
 
bool hasOneRef () const
 
unsigned refCount () const
 
 ThreadSafeRefCountedBase ()=default
 
void ref () const
 
bool hasOneRef () const
 
unsigned refCount () const
 
 ThreadSafeRefCountedBase ()=default
 
void ref () const
 
bool hasOneRef () const
 
unsigned refCount () const
 

Static Public Member Functions

static RefPtr< AudioBuscreate (unsigned numberOfChannels, size_t length, bool allocate=true)
 
static RefPtr< AudioBuscreateBufferFromRange (const AudioBus *sourceBuffer, unsigned startFrame, unsigned endFrame)
 
static RefPtr< AudioBuscreateBySampleRateConverting (const AudioBus *sourceBus, bool mixToMono, double newSampleRate)
 
static RefPtr< AudioBuscreateByMixingToMono (const AudioBus *sourceBus)
 
static PassRefPtr< AudioBusloadPlatformResource (const char *name, float sampleRate)
 

Protected Member Functions

 AudioBus ()
 
 AudioBus (unsigned numberOfChannels, size_t length, bool allocate)
 
void speakersCopyFrom (const AudioBus &)
 
void discreteCopyFrom (const AudioBus &)
 
void speakersSumFrom (const AudioBus &)
 
void discreteSumFrom (const AudioBus &)
 
void speakersSumFrom5_1_ToMono (const AudioBus &)
 
- Protected Member Functions inherited from WTF::ThreadSafeRefCounted< AudioBus >
 ThreadSafeRefCounted ()=default
 
 ThreadSafeRefCounted ()=default
 
 ThreadSafeRefCounted ()=default
 
- Protected Member Functions inherited from WTF::ThreadSafeRefCountedBase
bool derefBase () const
 
bool derefBase () const
 
bool derefBase () const
 

Protected Attributes

size_t m_length
 
Vector< std::unique_ptr< AudioChannel > > m_channels
 
int m_layout
 
float m_busGain
 
std::unique_ptr< AudioFloatArraym_dezipperGainValues
 
bool m_isFirstTime
 
float m_sampleRate
 

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
Enumerator
ChannelLeft 
ChannelRight 
ChannelCenter 
ChannelMono 
ChannelLFE 
ChannelSurroundLeft 
ChannelSurroundRight 

◆ anonymous enum

anonymous enum
Enumerator
LayoutCanonical 

◆ ChannelInterpretation

Enumerator
Speakers 
Discrete 

Constructor & Destructor Documentation

◆ AudioBus() [1/2]

WebCore::AudioBus::AudioBus ( )
inlineprotected

◆ AudioBus() [2/2]

WebCore::AudioBus::AudioBus ( unsigned  numberOfChannels,
size_t  length,
bool  allocate 
)
protected

Member Function Documentation

◆ channel() [1/2]

AudioChannel* WebCore::AudioBus::channel ( unsigned  channel)
inline

◆ channel() [2/2]

const AudioChannel* WebCore::AudioBus::channel ( unsigned  channel) const
inline

◆ channelByType() [1/2]

AudioChannel* WebCore::AudioBus::channelByType ( unsigned  type)

◆ channelByType() [2/2]

const AudioChannel* WebCore::AudioBus::channelByType ( unsigned  type) const

◆ clearSilentFlag()

void WebCore::AudioBus::clearSilentFlag ( )

◆ copyFrom()

void WebCore::AudioBus::copyFrom ( const AudioBus sourceBus,
ChannelInterpretation  = Speakers 
)

◆ copyFromRange()

void WebCore::AudioBus::copyFromRange ( const AudioBus sourceBus,
unsigned  startFrame,
unsigned  endFrame 
)

◆ copyWithGainFrom()

void WebCore::AudioBus::copyWithGainFrom ( const AudioBus sourceBus,
float *  lastMixGain,
float  targetGain 
)

◆ copyWithSampleAccurateGainValuesFrom()

void WebCore::AudioBus::copyWithSampleAccurateGainValuesFrom ( const AudioBus sourceBus,
float *  gainValues,
unsigned  numberOfGainValues 
)

◆ create()

static RefPtr<AudioBus> WebCore::AudioBus::create ( unsigned  numberOfChannels,
size_t  length,
bool  allocate = true 
)
static

◆ createBufferFromRange()

static RefPtr<AudioBus> WebCore::AudioBus::createBufferFromRange ( const AudioBus sourceBuffer,
unsigned  startFrame,
unsigned  endFrame 
)
static

◆ createByMixingToMono()

static RefPtr<AudioBus> WebCore::AudioBus::createByMixingToMono ( const AudioBus sourceBus)
static

◆ createBySampleRateConverting()

static RefPtr<AudioBus> WebCore::AudioBus::createBySampleRateConverting ( const AudioBus sourceBus,
bool  mixToMono,
double  newSampleRate 
)
static

◆ discreteCopyFrom()

void WebCore::AudioBus::discreteCopyFrom ( const AudioBus )
protected

◆ discreteSumFrom()

void WebCore::AudioBus::discreteSumFrom ( const AudioBus )
protected

◆ isSilent()

bool WebCore::AudioBus::isSilent ( ) const

◆ length()

size_t WebCore::AudioBus::length ( void  ) const
inline

◆ loadPlatformResource()

static PassRefPtr<AudioBus> WebCore::AudioBus::loadPlatformResource ( const char *  name,
float  sampleRate 
)
static

◆ maxAbsValue()

float WebCore::AudioBus::maxAbsValue ( ) const

◆ normalize()

void WebCore::AudioBus::normalize ( )

◆ numberOfChannels()

unsigned WebCore::AudioBus::numberOfChannels ( ) const
inline

◆ reset()

void WebCore::AudioBus::reset ( )
inline

◆ resizeSmaller()

void WebCore::AudioBus::resizeSmaller ( size_t  newLength)

◆ sampleRate()

float WebCore::AudioBus::sampleRate ( ) const
inline

◆ scale()

void WebCore::AudioBus::scale ( float  scale)

◆ setChannelMemory()

void WebCore::AudioBus::setChannelMemory ( unsigned  channelIndex,
float *  storage,
size_t  length 
)

◆ setSampleRate()

void WebCore::AudioBus::setSampleRate ( float  sampleRate)
inline

◆ speakersCopyFrom()

void WebCore::AudioBus::speakersCopyFrom ( const AudioBus )
protected

◆ speakersSumFrom()

void WebCore::AudioBus::speakersSumFrom ( const AudioBus )
protected

◆ speakersSumFrom5_1_ToMono()

void WebCore::AudioBus::speakersSumFrom5_1_ToMono ( const AudioBus )
protected

◆ sumFrom()

void WebCore::AudioBus::sumFrom ( const AudioBus sourceBus,
ChannelInterpretation  = Speakers 
)

◆ topologyMatches()

bool WebCore::AudioBus::topologyMatches ( const AudioBus sourceBus) const

◆ zero()

void WebCore::AudioBus::zero ( )

Member Data Documentation

◆ m_busGain

float WebCore::AudioBus::m_busGain
protected

◆ m_channels

Vector<std::unique_ptr<AudioChannel> > WebCore::AudioBus::m_channels
protected

◆ m_dezipperGainValues

std::unique_ptr<AudioFloatArray> WebCore::AudioBus::m_dezipperGainValues
protected

◆ m_isFirstTime

bool WebCore::AudioBus::m_isFirstTime
protected

◆ m_layout

int WebCore::AudioBus::m_layout
protected

◆ m_length

size_t WebCore::AudioBus::m_length
protected

◆ m_sampleRate

float WebCore::AudioBus::m_sampleRate
protected

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