]> code.delx.au - pulseaudio/commitdiff
pass profile priority value to clients
authorLennart Poettering <lennart@poettering.net>
Mon, 2 Mar 2009 23:32:10 +0000 (00:32 +0100)
committerLennart Poettering <lennart@poettering.net>
Mon, 2 Mar 2009 23:32:10 +0000 (00:32 +0100)
src/pulse/introspect.c
src/pulse/introspect.h
src/pulsecore/protocol-native.c
src/utils/pactl.c

index befeb242fe201f79e33715337c8156f6324975be..6d6e3a3d75f4708ccf76b8949eb7978a8c32803b 100644 (file)
@@ -528,7 +528,8 @@ static void context_get_card_info_callback(pa_pdispatch *pd, uint32_t command, u
                     if (pa_tagstruct_gets(t, &i.profiles[j].name) < 0 ||
                         pa_tagstruct_gets(t, &i.profiles[j].description) < 0 ||
                         pa_tagstruct_getu32(t, &i.profiles[j].n_sinks) < 0 ||
-                        pa_tagstruct_getu32(t, &i.profiles[j].n_sources)< 0) {
+                        pa_tagstruct_getu32(t, &i.profiles[j].n_sources) < 0 ||
+                        pa_tagstruct_getu32(t, &i.profiles[j].priority) < 0) {
 
                         pa_context_fail(o->context, PA_ERR_PROTOCOL);
                         pa_xfree(i.profiles);
index aa67e43d5b92db5ec917b4528e0a09464e956049..60f8d4f45ed6d5bf17d1ee47902b8cc8d623d43f 100644 (file)
@@ -401,6 +401,7 @@ typedef struct pa_card_profile_info {
     const char *description;            /**< Description of this profile */
     uint32_t n_sinks;                   /**< Number of sinks this profile would create */
     uint32_t n_sources;                 /**< Number of sources this profile would create */
+    uint32_t priority;                  /**< The higher this value is the more useful this profile is as a default */
 } pa_card_profile_info;
 
 /** Stores information about cards. Please note that this structure
index a0fdd60454f727c9ac5555e254ee0c2b5c02b11d..eec36bcb4ba89c6b5870c03624866fe18a81fb03 100644 (file)
@@ -2829,6 +2829,7 @@ static void card_fill_tagstruct(pa_native_connection *c, pa_tagstruct *t, pa_car
             pa_tagstruct_puts(t, p->description);
             pa_tagstruct_putu32(t, p->n_sinks);
             pa_tagstruct_putu32(t, p->n_sources);
+            pa_tagstruct_putu32(t, p->priority);
         }
     }
 
index 6524bf9007d9f3a57f561436b3f2ad109af5c458..269dbfa8fe93d0a1bc4ba8355567cbd09da5986f 100644 (file)
@@ -427,7 +427,7 @@ static void get_card_info_callback(pa_context *c, const pa_card_info *i, int is_
 
         printf(_("\tProfiles:\n"));
         for (p = i->profiles; p->name; p++)
-            printf("\t\t%s: %s\n", p->name, p->description);
+            printf("\t\t%s: %s (sinks: %u, sources: %u, priority. %u)\n", p->name, p->description, p->n_sinks, p->n_sources, p->priority);
     }
 
     if (i->active_profile)