MythTV  master
Classes | Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Private Attributes | List of all members
FreeSurround Class Reference

#include <libmyth/audio/freesurround.h>

Collaboration diagram for FreeSurround:
[legend]

Classes

struct  fsurround_params
 

Public Types

enum  SurroundMode : std::uint8_t { SurroundModePassive, SurroundModeActiveSimple, SurroundModeActiveLinear, SurroundModePassiveHall }
 

Public Member Functions

 FreeSurround (uint srate, bool moviemode, SurroundMode mode)
 
 ~FreeSurround ()
 
uint putFrames (void *buffer, uint numFrames, uint numChannels)
 
uint receiveFrames (void *buffer, uint maxFrames)
 
void flush ()
 
uint numUnprocessedFrames () const
 
uint numFrames () const
 
long long getLatency ()
 
uint frameLatency () const
 

Static Public Member Functions

static uint framesPerBlock ()
 

Protected Member Functions

void process_block ()
 
void open ()
 
void close ()
 
void SetParams ()
 

Private Attributes

struct FreeSurround::fsurround_params m_params
 
uint m_srate
 
struct buffersm_bufs {nullptr}
 
class fsurround_decoderm_decoder {nullptr}
 
int m_inCount {0}
 
int m_outCount {0}
 
bool m_processed {true}
 
int m_processedSize {0}
 
SurroundMode m_surroundMode {SurroundModePassive}
 
int m_latencyFrames {0}
 
int m_channels {0}
 

Detailed Description

Definition at line 28 of file freesurround.h.

Member Enumeration Documentation

◆ SurroundMode

enum FreeSurround::SurroundMode : std::uint8_t
Enumerator
SurroundModePassive 
SurroundModeActiveSimple 
SurroundModeActiveLinear 
SurroundModePassiveHall 

Definition at line 31 of file freesurround.h.

Constructor & Destructor Documentation

◆ FreeSurround()

FreeSurround::FreeSurround ( uint  srate,
bool  moviemode,
SurroundMode  mode 
)

Definition at line 74 of file freesurround.cpp.

◆ ~FreeSurround()

FreeSurround::~FreeSurround ( )

Definition at line 130 of file freesurround.cpp.

Member Function Documentation

◆ putFrames()

uint FreeSurround::putFrames ( void *  buffer,
uint  numFrames,
uint  numChannels 
)

Definition at line 139 of file freesurround.cpp.

Referenced by AudioOutputBase::CopyWithUpmix().

◆ receiveFrames()

uint FreeSurround::receiveFrames ( void *  buffer,
uint  maxFrames 
)

Definition at line 306 of file freesurround.cpp.

Referenced by AudioOutputBase::CopyWithUpmix().

◆ flush()

void FreeSurround::flush ( )

Definition at line 412 of file freesurround.cpp.

Referenced by AudioOutputBase::Reset().

◆ numUnprocessedFrames()

uint FreeSurround::numUnprocessedFrames ( ) const

Definition at line 439 of file freesurround.cpp.

Referenced by AudioOutputBase::AddData().

◆ numFrames()

uint FreeSurround::numFrames ( ) const

Definition at line 444 of file freesurround.cpp.

Referenced by AudioOutputBase::CopyWithUpmix(), and putFrames().

◆ getLatency()

long long FreeSurround::getLatency ( )

Definition at line 402 of file freesurround.cpp.

◆ frameLatency()

uint FreeSurround::frameLatency ( ) const

Definition at line 449 of file freesurround.cpp.

Referenced by AudioOutputBase::SetAudiotime().

◆ framesPerBlock()

uint FreeSurround::framesPerBlock ( )
static

Definition at line 456 of file freesurround.cpp.

◆ process_block()

void FreeSurround::process_block ( )
protected

Definition at line 387 of file freesurround.cpp.

Referenced by putFrames().

◆ open()

void FreeSurround::open ( )
protected

Definition at line 420 of file freesurround.cpp.

Referenced by FreeSurround().

◆ close()

void FreeSurround::close ( )
protected

Definition at line 433 of file freesurround.cpp.

Referenced by ~FreeSurround().

◆ SetParams()

void FreeSurround::SetParams ( )
protected

Definition at line 119 of file freesurround.cpp.

Referenced by open().

Member Data Documentation

◆ m_params

struct FreeSurround::fsurround_params FreeSurround::m_params
private

◆ m_srate

uint FreeSurround::m_srate
private

Definition at line 77 of file freesurround.h.

Referenced by getLatency(), and open().

◆ m_bufs

struct buffers* FreeSurround::m_bufs {nullptr}
private

Definition at line 80 of file freesurround.h.

Referenced by flush(), FreeSurround(), open(), putFrames(), receiveFrames(), and ~FreeSurround().

◆ m_decoder

class fsurround_decoder* FreeSurround::m_decoder {nullptr}
private

◆ m_inCount

int FreeSurround::m_inCount {0}
private

Definition at line 82 of file freesurround.h.

Referenced by frameLatency(), getLatency(), numUnprocessedFrames(), and putFrames().

◆ m_outCount

int FreeSurround::m_outCount {0}
private

Definition at line 83 of file freesurround.h.

Referenced by frameLatency(), numFrames(), putFrames(), and receiveFrames().

◆ m_processed

bool FreeSurround::m_processed {true}
private

Definition at line 84 of file freesurround.h.

Referenced by frameLatency(), putFrames(), and receiveFrames().

◆ m_processedSize

int FreeSurround::m_processedSize {0}
private

Definition at line 85 of file freesurround.h.

Referenced by putFrames(), and receiveFrames().

◆ m_surroundMode

SurroundMode FreeSurround::m_surroundMode {SurroundModePassive}
private

Definition at line 86 of file freesurround.h.

Referenced by FreeSurround(), and putFrames().

◆ m_latencyFrames

int FreeSurround::m_latencyFrames {0}
private

Definition at line 87 of file freesurround.h.

Referenced by FreeSurround(), getLatency(), and putFrames().

◆ m_channels

int FreeSurround::m_channels {0}
private

Definition at line 88 of file freesurround.h.

Referenced by putFrames(), and receiveFrames().


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