TTKMusicPlayer  3.7.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
 
Buffernext ()
 
Bufferget ()
 
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
 
Bufferm_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: