summaryrefslogtreecommitdiff
path: root/palsa.c
diff options
context:
space:
mode:
authorGravatar Alexey Yakovenko <wakeroid@gmail.com>2009-10-25 19:22:06 +0100
committerGravatar Alexey Yakovenko <wakeroid@gmail.com>2009-10-25 19:22:06 +0100
commit3e5687aef0a52ee3e500741f4623145a351d41dd (patch)
tree99494539a822d27abac50e3c93bf21ef68a2b3a9 /palsa.c
parent9b20dd651d3d0a567059ddf11509cdc1164b1a2f (diff)
alsa pausing fixups
Diffstat (limited to 'palsa.c')
-rw-r--r--palsa.c21
1 files changed, 4 insertions, 17 deletions
diff --git a/palsa.c b/palsa.c
index 0325df01..2cc6b09a 100644
--- a/palsa.c
+++ b/palsa.c
@@ -40,7 +40,6 @@ static int alsa_terminate;
static int alsa_rate = 44100;
static int state; // 0 = stopped, 1 = playing, 2 = pause
static uintptr_t mutex;
-static int canpause;
static intptr_t alsa_tid;
static void
@@ -88,8 +87,6 @@ palsa_set_hw_params (int samplerate) {
snd_pcm_hw_params_get_format (hw_params, &fmt);
printf ("chosen sample format: %04Xh\n", (int)fmt);
- canpause = 0;//snd_pcm_hw_params_can_pause (hw_params);
-
int val = samplerate;
int ret = 0;
@@ -263,28 +260,18 @@ palsa_free (void) {
}
}
-static int hwpaused;
static void
palsa_hw_pause (int pause) {
if (state == 0) {
return;
}
- mutex_lock (mutex);
- if (canpause) {
- snd_pcm_pause (audio, pause);
+ if (pause == 1) {
+ snd_pcm_drop (audio);
}
else {
- if (pause == 1) {
- snd_pcm_drop (audio);
- }
- else {
- snd_pcm_prepare (audio);
- snd_pcm_start (audio);
- }
- hwpaused = pause;
+ snd_pcm_prepare (audio);
+ snd_pcm_start (audio);
}
- hwpaused = pause;
- mutex_unlock (mutex);
}
int