summaryrefslogtreecommitdiff
path: root/palsa.c
diff options
context:
space:
mode:
authorGravatar Alexey Yakovenko <wakeroid@gmail.com>2009-10-21 23:47:36 +0200
committerGravatar Alexey Yakovenko <wakeroid@gmail.com>2009-10-21 23:47:36 +0200
commita42678433910b51e10c867d3e9d2a872aa5b4d3f (patch)
treefc042abc836e5bd012bd537891f38b5dec6f62e2 /palsa.c
parent1df74c48b7d0890db8a04496d0b11cf3961d67ff (diff)
fixed alsa regression
Diffstat (limited to 'palsa.c')
-rw-r--r--palsa.c22
1 files changed, 11 insertions, 11 deletions
diff --git a/palsa.c b/palsa.c
index 8437c3ce..1716aa34 100644
--- a/palsa.c
+++ b/palsa.c
@@ -65,6 +65,7 @@ palsa_init (void) {
exit (-1);
}
+ mutex = mutex_create ();
if ((err = snd_pcm_hw_params_malloc (&hw_params)) < 0) {
trace ("cannot allocate hardware parameter structure (%s)\n",
snd_strerror (err));
@@ -117,6 +118,16 @@ palsa_init (void) {
alsa_rate = val;
printf ("chosen samplerate: %d Hz\n", alsa_rate);
+ if ((err = snd_pcm_hw_params_set_channels (audio, hw_params, 2)) < 0) {
+ trace ("cannot set channel count (%s)\n",
+ snd_strerror (err));
+ goto open_error;
+ }
+
+ int nchan;
+ snd_pcm_hw_params_get_channels (hw_params, &nchan);
+ printf ("alsa channels: %d\n", nchan);
+
unsigned int buffer_time = 500000;
int dir;
if ((err = snd_pcm_hw_params_set_buffer_time_near (audio, hw_params, &buffer_time, &dir)) < 0) {
@@ -132,16 +143,6 @@ palsa_init (void) {
trace ("alsa buffer size: %d frames\n", size);
bufsize = size;
- if ((err = snd_pcm_hw_params_set_channels (audio, hw_params, 2)) < 0) {
- trace ("cannot set channel count (%s)\n",
- snd_strerror (err));
- goto open_error;
- }
-
- int nchan;
- snd_pcm_hw_params_get_channels (hw_params, &nchan);
- printf ("alsa channels: %d\n", nchan);
-
if ((err = snd_pcm_hw_params (audio, hw_params)) < 0) {
trace ("cannot set parameters (%s)\n",
snd_strerror (err));
@@ -207,7 +208,6 @@ palsa_init (void) {
}
alsa_terminate = 0;
- mutex = mutex_create ();
alsa_tid = thread_start (palsa_thread, 0);
return 0;