libaudio-qsd8k: acquire wakelock before starting playback
This fixes issue 2410711.
Change-Id: I01161b3febc02914f2c7a9ed3c4c9ae121ce181a
Signed-off-by: Iliyan Malchev <malchev@google.com>
diff --git a/libaudio-qsd8k/AudioHardware.cpp b/libaudio-qsd8k/AudioHardware.cpp
index e5108e7..db39d9e 100644
--- a/libaudio-qsd8k/AudioHardware.cpp
+++ b/libaudio-qsd8k/AudioHardware.cpp
@@ -1587,6 +1587,9 @@
if (mStandby) {
+ LOGV("acquire output wakelock");
+ acquire_wake_lock(PARTIAL_WAKE_LOCK, kOutputWakelockStr);
+
// open driver
LOGV("open pcm_out driver");
status = ::open("/dev/msm_pcm_out", O_RDWR);
@@ -1637,8 +1640,6 @@
goto Error;
}
- LOGV("acquire output wakelock");
- acquire_wake_lock(PARTIAL_WAKE_LOCK, kOutputWakelockStr);
mStandby = false;
}
@@ -1663,7 +1664,7 @@
}
// Simulate audio output timing in case of error
usleep(bytes * 1000000 / frameSize() / sampleRate());
-
+ release_wake_lock(kOutputWakelockStr);
return status;
}