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
This commit is contained in:
Lennart Poettering 2006-07-16 17:28:10 +00:00
parent 6e38949039
commit 494fa68327
2 changed files with 12 additions and 4 deletions

View file

@ -295,13 +295,15 @@ typedef enum pa_seek_mode {
/** Special sink flags. \since 0.8 */ /** Special sink flags. \since 0.8 */
typedef enum pa_sink_flags { typedef enum pa_sink_flags {
PA_SINK_HW_VOLUME_CTRL = 1, /**< Supports hardware volume control */ 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; } pa_sink_flags_t;
/** Special source flags. \since 0.8 */ /** Special source flags. \since 0.8 */
typedef enum pa_source_flags { typedef enum pa_source_flags {
PA_SOURCE_HW_VOLUME_CTRL = 1, /**< Supports hardware volume control */ 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; } pa_source_flags_t;
/** A generic free() like callback prototype */ /** A generic free() like callback prototype */

View 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_STRING, sink->monitor_source->name,
PA_TAG_USEC, pa_sink_get_latency(sink), PA_TAG_USEC, pa_sink_get_latency(sink),
PA_TAG_STRING, sink->driver, 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); 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_STRING, source->monitor_of ? source->monitor_of->name : NULL,
PA_TAG_USEC, pa_source_get_latency(source), PA_TAG_USEC, pa_source_get_latency(source),
PA_TAG_STRING, source->driver, 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); PA_TAG_INVALID);
} }