diff options
author | James McDonnell <jmcdonnell@blackberry.com> | 2017-02-22 08:52:32 -0500 |
---|---|---|
committer | Yoann Lopes <yoann.lopes@qt.io> | 2017-03-09 16:49:49 +0000 |
commit | f09d36708fdab70ad51af374a65ddded64525f67 (patch) | |
tree | 40e1a9d294cb63ae155e205b204e19b904180f17 | |
parent | eb5a508497dbb7acc3a056d02fc629f70dd0033b (diff) |
Let the QNX ALSA library know about suspend/resume
Allows ALSA to pause the audio device during a suspend. Prevents
fast forward effect on resume. It also aligns the QNX ALSA plugin
with what other platform plugins do.
Change-Id: I3fa6626e566744f4f33cc89f73973094dd4ba25e
Reviewed-by: Dan Cape <dcape@qnx.com>
Reviewed-by: Yoann Lopes <yoann.lopes@qt.io>
-rw-r--r-- | src/plugins/qnx-audio/audio/qnxaudioinput.cpp | 4 | ||||
-rw-r--r-- | src/plugins/qnx-audio/audio/qnxaudiooutput.cpp | 2 |
2 files changed, 6 insertions, 0 deletions
diff --git a/src/plugins/qnx-audio/audio/qnxaudioinput.cpp b/src/plugins/qnx-audio/audio/qnxaudioinput.cpp index 35d11597c..b16328892 100644 --- a/src/plugins/qnx-audio/audio/qnxaudioinput.cpp +++ b/src/plugins/qnx-audio/audio/qnxaudioinput.cpp @@ -134,6 +134,8 @@ void QnxAudioInput::reset() void QnxAudioInput::suspend() { + snd_pcm_capture_pause(m_pcmHandle); + if (m_pcmNotifier) m_pcmNotifier->setEnabled(false); @@ -142,6 +144,8 @@ void QnxAudioInput::suspend() void QnxAudioInput::resume() { + snd_pcm_capture_resume(m_pcmHandle); + if (m_pcmNotifier) m_pcmNotifier->setEnabled(true); diff --git a/src/plugins/qnx-audio/audio/qnxaudiooutput.cpp b/src/plugins/qnx-audio/audio/qnxaudiooutput.cpp index 5cfffe990..d08d01e6d 100644 --- a/src/plugins/qnx-audio/audio/qnxaudiooutput.cpp +++ b/src/plugins/qnx-audio/audio/qnxaudiooutput.cpp @@ -125,11 +125,13 @@ void QnxAudioOutput::reset() void QnxAudioOutput::suspend() { m_timer.stop(); + snd_pcm_playback_pause(m_pcmHandle); setState(QAudio::SuspendedState); } void QnxAudioOutput::resume() { + snd_pcm_playback_resume(m_pcmHandle); if (m_pushSource) setState(QAudio::IdleState); else { |