+//LCOV_EXCL_START
+void CPulseAudioClient::__successDrainCbInThread(pa_stream* s, int success, void* user_data) {
+ AUDIO_IO_LOGD("pa_stream[%p], success[%d], user_data[%p]", s, success, user_data);
+ assert(s);
+ assert(user_data);
+
+ auto pClient = static_cast<CPulseAudioClient*>(user_data);
+ pClient->__mIsOperationSuccess = static_cast<bool>(success);
+ pClient->__mIsDraining = false;
+}
+//LCOV_EXCL_STOP
+
+void CPulseAudioClient::__successDrainCb(pa_stream* s, int success, void* user_data) {
+ AUDIO_IO_LOGD("pa_stream[%p], success[%d], user_data[%p]", s, success, user_data);
+ assert(s);
+ assert(user_data);
+
+ auto pClient = static_cast<CPulseAudioClient*>(user_data);
+ pClient->__mIsOperationSuccess = static_cast<bool>(success);
+ pClient->__mIsDraining = false;
+
+ pa_threaded_mainloop_signal(pClient->__mpMainloop, 0);
+}
+
+void CPulseAudioClient::__successVolumeCb(pa_context *c, int success, void *user_data) {
+ AUDIO_IO_LOGD("pa_context[%p], success[%d], user_data[%p]", c, success, user_data);
+}
+
+void CPulseAudioClient::initialize() {
+ if (__mIsInit)