add new PA_SOURCE_HARDWARE/PA_SINK_HARDWARE flag
authorLennart Poettering <lennart@poettering.net>
Sun, 16 Jul 2006 17:28:10 +0000 (17:28 +0000)
committerLennart Poettering <lennart@poettering.net>
Sun, 16 Jul 2006 17:28:10 +0000 (17:28 +0000)
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1091 fefdeb5f-60dc-0310-8127-8f9354f1896f

src/pulse/def.h
src/pulsecore/protocol-native.c

index b98337d..06d4c7c 100644 (file)
@@ -295,13 +295,15 @@ typedef enum pa_seek_mode {
 /** Special sink flags. \since 0.8  */
 typedef enum pa_sink_flags {
     PA_SINK_HW_VOLUME_CTRL = 1,   /**< Supports hardware volume control */
-    PA_SINK_LATENCY = 2           /**< Supports latency querying */
+    PA_SINK_LATENCY = 2,          /**< Supports latency querying */
+    PA_SINK_HARDWARE = 4          /**< Is a hardware sink of some kind, in contrast to "virtual"/software sinks */
 } pa_sink_flags_t;
 
 /** Special source flags. \since 0.8  */
 typedef enum pa_source_flags {
     PA_SOURCE_HW_VOLUME_CTRL = 1,  /**< Supports hardware volume control */
-    PA_SOURCE_LATENCY = 2          /**< Supports latency querying */
+    PA_SOURCE_LATENCY = 2,         /**< Supports latency querying */
+    PA_SOURCE_HARDWARE = 4         /**< Is a hardware source of some kind, in contrast to "virtual"/software source */
 } pa_source_flags_t;
 
 /** A generic free() like callback prototype */
index f77c9c2..784610b 100644 (file)
@@ -1265,7 +1265,10 @@ static void sink_fill_tagstruct(pa_tagstruct *t, pa_sink *sink) {
         PA_TAG_STRING, sink->monitor_source->name,
         PA_TAG_USEC, pa_sink_get_latency(sink),
         PA_TAG_STRING, sink->driver,
-        PA_TAG_U32, (sink->get_hw_volume ? PA_SINK_HW_VOLUME_CTRL : 0) | (sink->get_latency ? PA_SINK_LATENCY : 0),
+        PA_TAG_U32,
+        (sink->get_hw_volume ? PA_SINK_HW_VOLUME_CTRL : 0) |
+        (sink->get_latency ? PA_SINK_LATENCY : 0) |
+        (sink->is_hardware ? PA_SINK_HARDWARE : 0),
         PA_TAG_INVALID);
 }
 
@@ -1285,7 +1288,10 @@ static void source_fill_tagstruct(pa_tagstruct *t, pa_source *source) {
         PA_TAG_STRING, source->monitor_of ? source->monitor_of->name : NULL,
         PA_TAG_USEC, pa_source_get_latency(source),
         PA_TAG_STRING, source->driver,
-        PA_TAG_U32, (source->get_hw_volume ? PA_SOURCE_HW_VOLUME_CTRL : 0) | (source->get_latency ? PA_SOURCE_LATENCY : 0),
+        PA_TAG_U32,
+        (source->get_hw_volume ? PA_SOURCE_HW_VOLUME_CTRL : 0) |
+        (source->get_latency ? PA_SOURCE_LATENCY : 0) |
+        (source->is_hardware ? PA_SOURCE_HARDWARE : 0),
         PA_TAG_INVALID);
 }