diff options
author | Alexey Yakovenko <wakeroid@gmail.com> | 2009-10-25 19:22:06 +0100 |
---|---|---|
committer | Alexey Yakovenko <wakeroid@gmail.com> | 2009-10-25 19:22:06 +0100 |
commit | 3e5687aef0a52ee3e500741f4623145a351d41dd (patch) | |
tree | 99494539a822d27abac50e3c93bf21ef68a2b3a9 /palsa.c | |
parent | 9b20dd651d3d0a567059ddf11509cdc1164b1a2f (diff) |
alsa pausing fixups
Diffstat (limited to 'palsa.c')
-rw-r--r-- | palsa.c | 21 |
1 files changed, 4 insertions, 17 deletions
@@ -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 |