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

Public Types

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

Public Member Functions

 Buffer ()=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
 
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
 
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 26 of file audiooutputgraph.cpp.

Member Typedef Documentation

◆ Range

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

Definition at line 38 of file audiooutputgraph.cpp.

Constructor & Destructor Documentation

◆ Buffer()

AudioOutputGraph::Buffer::Buffer ( )
default

Member Function Documentation

◆ SetMaxSamples()

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

Definition at line 31 of file audiooutputgraph.cpp.

Referenced by AudioOutputGraph::SetSampleCount().

◆ SetSampleRate()

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

Definition at line 32 of file audiooutputgraph.cpp.

Referenced by AudioOutputGraph::SetSampleRate().

◆ BitsPerChannel()

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

Definition at line 33 of file audiooutputgraph.cpp.

Referenced by AudioOutputGraph::GetImage().

◆ Channels()

int AudioOutputGraph::Buffer::Channels ( ) const
inline

Definition at line 34 of file audiooutputgraph.cpp.

Referenced by AudioOutputGraph::GetImage().

◆ Next()

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

Definition at line 35 of file audiooutputgraph.cpp.

Referenced by AudioOutputGraph::GetImage().

◆ First()

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

Definition at line 36 of file audiooutputgraph.cpp.

Referenced by AudioOutputGraph::GetImage().

◆ Avail()

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

Definition at line 39 of file audiooutputgraph.cpp.

Referenced by AudioOutputGraph::GetImage().

◆ Samples()

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

Definition at line 62 of file audiooutputgraph.cpp.

Referenced by AudioOutputGraph::GetImage().

◆ Empty()

void AudioOutputGraph::Buffer::Empty ( )
inline

Definition at line 67 of file audiooutputgraph.cpp.

Referenced by AudioOutputGraph::Reset().

◆ Append() [1/2]

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

Definition at line 74 of file audiooutputgraph.cpp.

Referenced by AudioOutputGraph::add().

◆ Data16()

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

Definition at line 117 of file audiooutputgraph.cpp.

Referenced by AudioOutputGraph::GetImage().

◆ BytesPerSample()

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

Definition at line 124 of file audiooutputgraph.cpp.

◆ Bytes2Samples()

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

Definition at line 129 of file audiooutputgraph.cpp.

◆ Samples2MS()

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

Definition at line 134 of file audiooutputgraph.cpp.

◆ MS2Samples()

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

Definition at line 139 of file audiooutputgraph.cpp.

◆ Append() [2/2]

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

Definition at line 144 of file audiooutputgraph.cpp.

◆ Resize()

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

Definition at line 183 of file audiooutputgraph.cpp.

Member Data Documentation

◆ m_tcFirst

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

Definition at line 192 of file audiooutputgraph.cpp.

◆ m_tcNext

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

Definition at line 193 of file audiooutputgraph.cpp.

◆ m_maxSamples

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

Definition at line 194 of file audiooutputgraph.cpp.

◆ m_sampleRate

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

Definition at line 195 of file audiooutputgraph.cpp.

◆ m_bits

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

Definition at line 196 of file audiooutputgraph.cpp.

◆ m_channels

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

Definition at line 197 of file audiooutputgraph.cpp.

◆ m_sizeMax

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

Definition at line 198 of file audiooutputgraph.cpp.


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