From 494fa68327fb52276d68437e8467886ce81de297 Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Sun, 16 Jul 2006 17:28:10 +0000 Subject: 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 --- src/pulse/def.h | 6 ++++-- src/pulsecore/protocol-native.c | 10 ++++++++-- 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); } -- cgit