/**
* PULSE Thread
*/
- class CPulseAudioVolume;
- class CPulseAudioPolicy;
class CPulseStreamSpec;
class CPulseAudioClient {
public:
bool flush();
void checkRunningState();
- bool isInThread();
+ bool isInThread() noexcept;
size_t getWritableSize();
size_t getReadableSize();
pa_usec_t getLatency();
pa_usec_t getFinalLatency();
- /* Setter & Getter */
- EStreamDirection getStreamDirection();
- CPulseStreamSpec getStreamSpec();
-
private:
/* Members */
EStreamDirection __mDirection;
/* Private Calblack Method */
static void __contextStateChangeCb(pa_context* c, void* user_data);
- static void __successContextCb(pa_context* c, int success, void* user_data);
-
static void __streamStateChangeCb(pa_stream* s, void* user_data);
static void __streamCaptureCb(pa_stream* s, size_t length, void* user_data);
static void __streamPlaybackCb(pa_stream* s, size_t length, void* user_data);