]> code.delx.au - pulseaudio/commitdiff
fill in dev_id properly
authorLennart Poettering <lennart@poettering.net>
Wed, 21 Jan 2009 01:01:44 +0000 (02:01 +0100)
committerLennart Poettering <lennart@poettering.net>
Wed, 21 Jan 2009 01:01:44 +0000 (02:01 +0100)
src/modules/alsa/alsa-sink.c
src/modules/alsa/alsa-source.c

index 955691532dc4a68abf75abf616f1317d153ea05e..e890ef762ac7ed09919a1e15f9441d9d0fffb4bf 100644 (file)
@@ -1204,7 +1204,7 @@ finish:
 pa_sink *pa_alsa_sink_new(pa_module *m, pa_modargs *ma, const pa_alsa_profile_info *profile) {
 
     struct userdata *u = NULL;
-    const char *dev_id;
+    const char *dev_id = NULL;
     pa_sample_spec ss;
     pa_channel_map map;
     uint32_t nfrags, hwbuf_size, frag_size, tsched_size, tsched_watermark;
@@ -1222,6 +1222,7 @@ pa_sink *pa_alsa_sink_new(pa_module *m, pa_modargs *ma, const pa_alsa_profile_in
     snd_pcm_info_alloca(&pcm_info);
 
     pa_assert(m);
+    pa_assert(ma);
 
     ss = m->core->default_sample_spec;
     if (pa_modargs_get_sample_spec_and_channel_map(ma, &ss, &map, PA_CHANNEL_MAP_ALSA) < 0) {
@@ -1287,6 +1288,11 @@ pa_sink *pa_alsa_sink_new(pa_module *m, pa_modargs *ma, const pa_alsa_profile_in
 
     if (profile) {
 
+        if (!(dev_id = pa_modargs_get_value(ma, "device_id", NULL))) {
+            pa_log("device_id= not set");
+            goto fail;
+        }
+
         if (!(u->pcm_handle = pa_alsa_open_by_device_id_profile(
                       dev_id,
                       &u->device_name,
index c0bf20d6acb7879c4674fcb546c35c37813891bf..f4d973860cd71a5119d58c568151ca6e20d01d7d 100644 (file)
@@ -1039,7 +1039,7 @@ finish:
 pa_source *pa_alsa_source_new(pa_module *m, pa_modargs *ma, const pa_alsa_profile_info *profile) {
 
     struct userdata *u = NULL;
-    const char *dev_id;
+    const char *dev_id = NULL;
     pa_sample_spec ss;
     pa_channel_map map;
     uint32_t nfrags, hwbuf_size, frag_size, tsched_size, tsched_watermark;
@@ -1116,6 +1116,11 @@ pa_source *pa_alsa_source_new(pa_module *m, pa_modargs *ma, const pa_alsa_profil
 
     if (profile) {
 
+        if (!(dev_id = pa_modargs_get_value(ma, "device_id", NULL))) {
+            pa_log("device_id= not set");
+            goto fail;
+        }
+
         if (!(u->pcm_handle = pa_alsa_open_by_device_id_profile(
                       dev_id,
                       &u->device_name,