MythTV master
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes | List of all members
AudioOutputGraph::AOBuffer Class Reference
Inheritance diagram for AudioOutputGraph::AOBuffer:
[legend]
Collaboration diagram for AudioOutputGraph::AOBuffer:
[legend]

Public Types

using Range = std::pair< std::chrono::milliseconds, std::chrono::milliseconds >
 

Public Member Functions

 AOBuffer ()=default
 
void SetMaxSamples (uint16_t Samples)
 
void SetSampleRate (uint16_t SampleRate)
 
int Channels () const
 
std::chrono::milliseconds Next () const
 
std::chrono::milliseconds First () const
 
Range Avail (std::chrono::milliseconds Timecode) const
 
bool EnoughData (std::chrono::milliseconds Timecode)
 
int Samples (Range Available) const
 
void Empty ()
 
void Append (const void *Buffer, unsigned long Length, std::chrono::milliseconds Timecode, int Channels, int Bits)
 
const int16_t * Data16 (Range Available) const
 

Static Public Member Functions

static int BitsPerChannel ()
 

Protected Member Functions

uint BytesPerSample () const
 
unsigned Bytes2Samples (unsigned Bytes) const
 
uint BytesPerSampleNormalized () const
 
unsigned Bytes2SamplesNormalized (unsigned Bytes) const
 
std::chrono::milliseconds Samples2MS (unsigned Samples) const
 
int MS2Samples (std::chrono::milliseconds Msecs) const
 
void Append (const void *Buffer, unsigned long Length, int Bits)
 

Private Member Functions

void Resize (int Channels, int Bits)
 

Private Attributes

std::chrono::milliseconds m_tcFirst { 0ms }
 
std::chrono::milliseconds m_tcNext { 0ms }
 
uint16_t m_maxSamples { 0 }
 
uint16_t m_sampleRate { 44100 }
 
int m_bits { 0 }
 
int m_channels { 0 }
 
int m_sizeMax { 0 }
 

Detailed Description

Definition at line 28 of file audiooutputgraph.cpp.

Member Typedef Documentation

◆ Range

using AudioOutputGraph::AOBuffer::Range = std::pair<std::chrono::milliseconds, std::chrono::milliseconds>

Definition at line 40 of file audiooutputgraph.cpp.

Constructor & Destructor Documentation

◆ AOBuffer()

AudioOutputGraph::AOBuffer::AOBuffer ( )
default

Member Function Documentation

◆ Append() [1/2]

void AudioOutputGraph::AOBuffer::Append ( const void *  Buffer,
unsigned long  Length,
int  Bits 
)
inlineprotected

Definition at line 198 of file audiooutputgraph.cpp.

◆ Append() [2/2]

void AudioOutputGraph::AOBuffer::Append ( const void *  Buffer,
unsigned long  Length,
std::chrono::milliseconds  Timecode,
int  Channels,
int  Bits 
)
inline

Definition at line 92 of file audiooutputgraph.cpp.

Referenced by AudioOutputGraph::add(), and Append().

◆ Avail()

Range AudioOutputGraph::AOBuffer::Avail ( std::chrono::milliseconds  Timecode) const
inline

Definition at line 46 of file audiooutputgraph.cpp.

Referenced by AudioOutputGraph::GetImage().

◆ BitsPerChannel()

static int AudioOutputGraph::AOBuffer::BitsPerChannel ( )
inlinestatic

Definition at line 35 of file audiooutputgraph.cpp.

Referenced by AudioOutputGraph::GetImage().

◆ Bytes2Samples()

unsigned AudioOutputGraph::AOBuffer::Bytes2Samples ( unsigned  Bytes) const
inlineprotected

Definition at line 167 of file audiooutputgraph.cpp.

Referenced by Append().

◆ Bytes2SamplesNormalized()

unsigned AudioOutputGraph::AOBuffer::Bytes2SamplesNormalized ( unsigned  Bytes) const
inlineprotected

Definition at line 178 of file audiooutputgraph.cpp.

Referenced by Append().

◆ BytesPerSample()

uint AudioOutputGraph::AOBuffer::BytesPerSample ( ) const
inlineprotected

Definition at line 162 of file audiooutputgraph.cpp.

Referenced by Bytes2Samples().

◆ BytesPerSampleNormalized()

uint AudioOutputGraph::AOBuffer::BytesPerSampleNormalized ( ) const
inlineprotected

Definition at line 173 of file audiooutputgraph.cpp.

Referenced by Bytes2SamplesNormalized(), Data16(), and Resize().

◆ Channels()

int AudioOutputGraph::AOBuffer::Channels ( void  ) const
inline

Definition at line 36 of file audiooutputgraph.cpp.

Referenced by Append(), AudioOutputGraph::GetImage(), and Resize().

◆ Data16()

const int16_t * AudioOutputGraph::AOBuffer::Data16 ( Range  Available) const
inline

Definition at line 153 of file audiooutputgraph.cpp.

Referenced by AudioOutputGraph::GetImage().

◆ Empty()

void AudioOutputGraph::AOBuffer::Empty ( )
inline

Definition at line 83 of file audiooutputgraph.cpp.

Referenced by AudioOutputGraph::Reset().

◆ EnoughData()

bool AudioOutputGraph::AOBuffer::EnoughData ( std::chrono::milliseconds  Timecode)
inline

Definition at line 70 of file audiooutputgraph.cpp.

Referenced by AudioOutputGraph::GetImage().

◆ First()

std::chrono::milliseconds AudioOutputGraph::AOBuffer::First ( ) const
inline

Definition at line 38 of file audiooutputgraph.cpp.

Referenced by AudioOutputGraph::GetImage().

◆ MS2Samples()

int AudioOutputGraph::AOBuffer::MS2Samples ( std::chrono::milliseconds  Msecs) const
inlineprotected

Definition at line 188 of file audiooutputgraph.cpp.

Referenced by Data16(), and Samples().

◆ Next()

std::chrono::milliseconds AudioOutputGraph::AOBuffer::Next ( ) const
inline

Definition at line 37 of file audiooutputgraph.cpp.

Referenced by AudioOutputGraph::GetImage().

◆ Resize()

void AudioOutputGraph::AOBuffer::Resize ( int  Channels,
int  Bits 
)
inlineprivate

Definition at line 238 of file audiooutputgraph.cpp.

Referenced by Append().

◆ Samples()

int AudioOutputGraph::AOBuffer::Samples ( Range  Available) const
inline

Definition at line 77 of file audiooutputgraph.cpp.

Referenced by AudioOutputGraph::GetImage(), Samples2MS(), and SetMaxSamples().

◆ Samples2MS()

std::chrono::milliseconds AudioOutputGraph::AOBuffer::Samples2MS ( unsigned  Samples) const
inlineprotected

Definition at line 183 of file audiooutputgraph.cpp.

Referenced by Append(), Avail(), and EnoughData().

◆ SetMaxSamples()

void AudioOutputGraph::AOBuffer::SetMaxSamples ( uint16_t  Samples)
inline

Definition at line 33 of file audiooutputgraph.cpp.

Referenced by AudioOutputGraph::SetSampleCount().

◆ SetSampleRate()

void AudioOutputGraph::AOBuffer::SetSampleRate ( uint16_t  SampleRate)
inline

Definition at line 34 of file audiooutputgraph.cpp.

Referenced by AudioOutputGraph::SetSampleRate().

Member Data Documentation

◆ m_bits

int AudioOutputGraph::AOBuffer::m_bits { 0 }
private

◆ m_channels

int AudioOutputGraph::AOBuffer::m_channels { 0 }
private

◆ m_maxSamples

uint16_t AudioOutputGraph::AOBuffer::m_maxSamples { 0 }
private

Definition at line 249 of file audiooutputgraph.cpp.

Referenced by Avail(), EnoughData(), and SetMaxSamples().

◆ m_sampleRate

uint16_t AudioOutputGraph::AOBuffer::m_sampleRate { 44100 }
private

Definition at line 250 of file audiooutputgraph.cpp.

Referenced by MS2Samples(), Resize(), Samples2MS(), and SetSampleRate().

◆ m_sizeMax

int AudioOutputGraph::AOBuffer::m_sizeMax { 0 }
private

Definition at line 253 of file audiooutputgraph.cpp.

Referenced by Append(), and Resize().

◆ m_tcFirst

std::chrono::milliseconds AudioOutputGraph::AOBuffer::m_tcFirst { 0ms }
private

Definition at line 247 of file audiooutputgraph.cpp.

Referenced by Append(), Avail(), Data16(), Empty(), EnoughData(), and First().

◆ m_tcNext

std::chrono::milliseconds AudioOutputGraph::AOBuffer::m_tcNext { 0ms }
private

Definition at line 248 of file audiooutputgraph.cpp.

Referenced by Append(), Avail(), Empty(), EnoughData(), and Next().


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