if (state == FOCUS_IS_RELEASED) {
// Focus handle(id) of the other application was released, do resume if possible
internalLock();
-
- mpPulseAudioClient->cork(false);
- onStateChanged(CAudioInfo::EAudioIOState::AUDIO_IO_STATE_RUNNING);
-
+ if (mpPulseAudioClient) {
+ mpPulseAudioClient->cork(false);
+ onStateChanged(CAudioInfo::EAudioIOState::AUDIO_IO_STATE_RUNNING);
+ }
internalUnlock();
// Focus watch callback doesn't have focus handle, but it need to convert & report to application for convenience
} else if (state == FOCUS_IS_ACQUIRED) {
// Focus handle(id) of the other application was acquired, do pause if possible
internalLock();
-
- if (mpPulseAudioClient->getStreamDirection() == CPulseAudioClient::EStreamDirection::STREAM_DIRECTION_PLAYBACK) {
- if (mpPulseAudioClient->drain() == false) {
- AUDIO_IO_LOGE("Failed CPulseAudioClient::drain()");
+ if (mpPulseAudioClient) {
+ if (mpPulseAudioClient->getStreamDirection() == CPulseAudioClient::EStreamDirection::STREAM_DIRECTION_PLAYBACK) {
+ if (mpPulseAudioClient->drain() == false) {
+ AUDIO_IO_LOGE("Failed CPulseAudioClient::drain()");
+ }
}
+ mpPulseAudioClient->cork(true);
+ onStateChanged(CAudioInfo::EAudioIOState::AUDIO_IO_STATE_PAUSED);
}
-
- mpPulseAudioClient->cork(true);
- onStateChanged(CAudioInfo::EAudioIOState::AUDIO_IO_STATE_PAUSED);
-
internalUnlock();
// Focus watch callback doesn't have focus handle, but it need to convert & report to application for convenience
if (state == FOCUS_IS_RELEASED) {
// Focus handle(id) was released, do pause here
internalLock();
-
- if (mpPulseAudioClient->getStreamDirection() == CPulseAudioClient::EStreamDirection::STREAM_DIRECTION_PLAYBACK) {
- if (mpPulseAudioClient->drain() == false) {
- AUDIO_IO_LOGE("Failed CPulseAudioClient::drain()");
+ if (mpPulseAudioClient) {
+ if (mpPulseAudioClient->getStreamDirection() == CPulseAudioClient::EStreamDirection::STREAM_DIRECTION_PLAYBACK) {
+ if (mpPulseAudioClient->drain() == false) {
+ AUDIO_IO_LOGE("Failed CPulseAudioClient::drain()");
+ }
}
+ mpPulseAudioClient->cork(true);
+ onStateChanged(CAudioInfo::EAudioIOState::AUDIO_IO_STATE_PAUSED);
}
-
- mpPulseAudioClient->cork(true);
- onStateChanged(CAudioInfo::EAudioIOState::AUDIO_IO_STATE_PAUSED);
-
internalUnlock();
} else if (state == FOCUS_IS_ACQUIRED) {
// Focus handle(id) was acquired again,
// check reason_for_change ("call-voice","call-video","voip","alarm","notification", ...)
// do resume here and call interrupt completed callback to application.
internalLock();
-
- mpPulseAudioClient->cork(false);
- onStateChanged(CAudioInfo::EAudioIOState::AUDIO_IO_STATE_RUNNING);
-
+ if (mpPulseAudioClient) {
+ mpPulseAudioClient->cork(false);
+ onStateChanged(CAudioInfo::EAudioIOState::AUDIO_IO_STATE_RUNNING);
+ }
internalUnlock();
}
}