summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEthan Chen <intervigil@gmail.com>2016-03-24 17:16:03 -0700
committerEthan Chen <intervigil@gmail.com>2016-03-24 17:16:03 -0700
commitc2c2cbf23e2fc6f001a942069cb5e67b7772c08b (patch)
tree58409387399149c06fc4a86e53c8daa301889fda
parent4711f659161edd9018c31237ec391ec7c0109388 (diff)
downloadandroid_packages_apps_FMRadio-c2c2cbf23e2fc6f001a942069cb5e67b7772c08b.tar.gz
android_packages_apps_FMRadio-c2c2cbf23e2fc6f001a942069cb5e67b7772c08b.tar.bz2
android_packages_apps_FMRadio-c2c2cbf23e2fc6f001a942069cb5e67b7772c08b.zip
FMRadio: Pause and stop AudioTrack before stopping
* According to documentation, stop will continue to play the last buffer, while pause immediately halts playback. * Pause to reduce latency to stop, then flush the AudioTrack buffer before actually stopping in the render thread. Change-Id: I0b497cd6b95b0921f63796746c7279a4f931dbd3
-rw-r--r--src/com/android/fmradio/FmService.java2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/com/android/fmradio/FmService.java b/src/com/android/fmradio/FmService.java
index 32ffcf4..7e89237 100644
--- a/src/com/android/fmradio/FmService.java
+++ b/src/com/android/fmradio/FmService.java
@@ -503,6 +503,8 @@ public class FmService extends Service implements FmRecorder.OnRecorderStateChan
mCurrentFrame = 0;
if (mAudioTrack.getPlayState() == AudioTrack.PLAYSTATE_PLAYING) {
+ mAudioTrack.pause();
+ mAudioTrack.flush();
mAudioTrack.stop();
}