namespace tizen_media_audio {
-
-
/**
- * PULSE Thread
+ * PULSE ThreadMainloop Locker
*/
class CPulseStreamSpec;
+
class CPulseAudioClient {
public:
enum class EStreamDirection : unsigned int {
bool flush();
void checkRunningState();
- bool isInThread() noexcept;
+ bool isInThread() const;
size_t getWritableSize();
size_t getReadableSize();
static void __successDrainCbInThread(pa_stream* s, int success, void* user_data);
static void __successVolumeCb(pa_context* c, int success, void* user_data);
+ class CPulseThreadLocker {
+ public:
+ explicit CPulseThreadLocker(pa_threaded_mainloop* mainloop);
+ virtual ~CPulseThreadLocker();
+
+ private:
+ const pa_threaded_mainloop* ml{};
+ };
};