summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2006-07-16 17:28:10 +0000
committerLennart Poettering <lennart@poettering.net>2006-07-16 17:28:10 +0000
commit494fa68327fb52276d68437e8467886ce81de297 (patch)
tree6ed0a4181c7242c197e72d97fa83825cb6ca5bea /src
parent6e38949039cca052ee0d167b92f895e4d95ee30d (diff)
add new PA_SOURCE_HARDWARE/PA_SINK_HARDWARE flag
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1091 fefdeb5f-60dc-0310-8127-8f9354f1896f
Diffstat (limited to 'src')
-rw-r--r--src/pulse/def.h6
-rw-r--r--src/pulsecore/protocol-native.c10
2 files changed, 12 insertions, 4 deletions
diff --git a/src/pulse/def.h b/src/pulse/def.h
index b98337d2..06d4c7c2 100644
--- a/src/pulse/def.h
+++ b/src/pulse/def.h
@@ -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 */
diff --git a/src/pulsecore/protocol-native.c b/src/pulsecore/protocol-native.c
index f77c9c24..784610bd 100644
--- a/src/pulsecore/protocol-native.c
+++ b/src/pulsecore/protocol-native.c
@@ -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);
}