TTKMusicPlayer  4.3.0.0
TTKMusicPlayer imitates Kugou UI, the music player uses of qmmp core library based on Qt for windows and linux
Public Member Functions | Private Attributes | List of all members
Recycler Class Reference

#include <recycler_p.h>

Public Member Functions

 Recycler ()=default
 
 ~Recycler ()
 
void configure (quint32 freq, int chan)
 
bool full () const
 
bool empty () const
 
int available () const
 
int used () const
 
Buffer * next ()
 
Buffer * get ()
 
void add ()
 
void done ()
 
void clear ()
 
size_t samples () const
 
size_t blockSamples () const
 
QMutex * mutex ()
 
QWaitCondition * cond ()
 
bool blocked ()
 

Private Attributes

unsigned int m_buffer_count = 0
 
unsigned int m_add_index = 0
 
unsigned int m_done_index = 0
 
unsigned int m_current_count = 0
 
size_t m_block_samples = 0
 
Buffer ** m_buffers = nullptr
 
QMutex m_mtx
 
QWaitCondition m_cnd
 
Buffer * m_blocked = nullptr
 

Detailed Description

Definition at line 32 of file recycler_p.h.

Constructor & Destructor Documentation

Recycler::Recycler ( )
default

Constructor.

Recycler::~Recycler ( )

Destructor.

Member Function Documentation

void Recycler::add ( )

Adds current buffer to queue.

int Recycler::available ( ) const

Returns a number of available buffers.

bool Recycler::blocked ( )

Returns true if the next buffer is used by output. Otherwise returns false.

size_t Recycler::blockSamples ( ) const

Returns block size in samples.

void Recycler::clear ( )

Clears queue.

QWaitCondition* Recycler::cond ( )
inline

Returns wait condition pointer.

Definition at line 105 of file recycler_p.h.

void Recycler::configure ( quint32  freq,
int  chan 
)

Setups audio parameters of output interface.

Parameters
freqSample rate.
chanNumber of channels.
void Recycler::done ( )

Removes current buffer from queue.

bool Recycler::empty ( ) const

Returns true if queue if empty, otherwise returns false

bool Recycler::full ( ) const

Returns true if queue if full, otherwise returns false

Buffer* Recycler::get ( )

Returns current buffer for writing.

QMutex* Recycler::mutex ( )
inline

Returns mutex pointer.

Definition at line 98 of file recycler_p.h.

Buffer* Recycler::next ( )

Returns next buffer in queue.

size_t Recycler::samples ( ) const

Returns size of all buffers in samples.

int Recycler::used ( ) const

Returns a number of used buffers.

Member Data Documentation

unsigned int Recycler::m_add_index = 0
private

Definition at line 115 of file recycler_p.h.

size_t Recycler::m_block_samples = 0
private

Definition at line 116 of file recycler_p.h.

Buffer* Recycler::m_blocked = nullptr
private

Definition at line 120 of file recycler_p.h.

unsigned int Recycler::m_buffer_count = 0
private

Definition at line 115 of file recycler_p.h.

Buffer** Recycler::m_buffers = nullptr
private

Definition at line 117 of file recycler_p.h.

QWaitCondition Recycler::m_cnd
private

Definition at line 119 of file recycler_p.h.

unsigned int Recycler::m_current_count = 0
private

Definition at line 115 of file recycler_p.h.

unsigned int Recycler::m_done_index = 0
private

Definition at line 115 of file recycler_p.h.

QMutex Recycler::m_mtx
private

Definition at line 118 of file recycler_p.h.


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