]> code.delx.au - pulseaudio/commitdiff
add new function pa_alsa_get_driver_name_by_pcm()
authorLennart Poettering <lennart@poettering.net>
Mon, 23 Feb 2009 21:54:28 +0000 (22:54 +0100)
committerLennart Poettering <lennart@poettering.net>
Mon, 23 Feb 2009 21:54:28 +0000 (22:54 +0100)
src/modules/alsa/alsa-util.c
src/modules/alsa/alsa-util.h

index 016e52ab79a68b16c9de308cefd9fd4184ba73dc..274fef45c117f768b1dd92f479c990d0b793e4c1 100644 (file)
@@ -1637,3 +1637,18 @@ char *pa_alsa_get_driver_name(int card) {
 
     return n;
 }
+
+char *pa_alsa_get_driver_name_by_pcm(snd_pcm_t *pcm) {
+    int card;
+
+    snd_pcm_info_t* info;
+    snd_pcm_info_alloca(&info);
+
+    if (snd_pcm_info(pcm, info) < 0)
+        return NULL;
+
+    if ((card = snd_pcm_info_get_card(info)) < 0)
+        return NULL;
+
+    return pa_alsa_get_driver_name(card);
+}
index 2d0f407ee6cb8e104c1d8f08dd7b97be02480551..92f67977abb8f4bf1e8195c933f893258fa145b3 100644 (file)
@@ -133,4 +133,6 @@ int pa_alsa_safe_mmap_begin(snd_pcm_t *pcm, const snd_pcm_channel_area_t **areas
 
 char *pa_alsa_get_driver_name(int card);
 
+char *pa_alsa_get_driver_name_by_pcm(snd_pcm_t *pcm);
+
 #endif