chiark
/
gitweb
/
~mdw
/
disorder
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge config aliasing bug fix.
[disorder]
/
lib
/
uaudio-alsa.c
diff --git
a/lib/uaudio-alsa.c
b/lib/uaudio-alsa.c
index 2236c918b522b71587b4f7a7f64a0e00856a5246..721639c74a1c032da761578bb7340ae34834d36f 100644
(file)
--- a/
lib/uaudio-alsa.c
+++ b/
lib/uaudio-alsa.c
@@
-26,6
+26,7
@@
#include "mem.h"
#include "log.h"
#include "uaudio.h"
#include "mem.h"
#include "log.h"
#include "uaudio.h"
+#include "configuration.h"
/** @brief The current PCM handle */
static snd_pcm_t *alsa_pcm;
/** @brief The current PCM handle */
static snd_pcm_t *alsa_pcm;
@@
-135,7
+136,8
@@
static void alsa_start(uaudio_callback *callback,
alsa_open();
uaudio_thread_start(callback, userdata, alsa_play,
32 / uaudio_sample_size,
alsa_open();
uaudio_thread_start(callback, userdata, alsa_play,
32 / uaudio_sample_size,
- 4096 / uaudio_sample_size);
+ 4096 / uaudio_sample_size,
+ 0);
}
static void alsa_stop(void) {
}
static void alsa_stop(void) {
@@
-245,6
+247,12
@@
static void alsa_set_volume(int *left, int *right) {
*right = to_percent(r);
}
*right = to_percent(r);
}
+static void alsa_configure(void) {
+ uaudio_set("device", config->device);
+ uaudio_set("mixer-control", config->mixer);
+ uaudio_set("mixer-channel", config->channel);
+}
+
const struct uaudio uaudio_alsa = {
.name = "alsa",
.options = alsa_options,
const struct uaudio uaudio_alsa = {
.name = "alsa",
.options = alsa_options,
@@
-256,6
+264,7
@@
const struct uaudio uaudio_alsa = {
.close_mixer = alsa_close_mixer,
.get_volume = alsa_get_volume,
.set_volume = alsa_set_volume,
.close_mixer = alsa_close_mixer,
.get_volume = alsa_get_volume,
.set_volume = alsa_set_volume,
+ .configure = alsa_configure
};
#endif
};
#endif