Hi, Due to a protocol thinko on the device restore API extension, I forgot to identify whether the index give was a sink index or a source index. I therefore need to add a field to differentiate this. Sadly there does not appear to be an enum for this (unless I cannot find it) in which case, does anyone have any objections against adding one: diff --git a/src/pulse/def.h b/src/pulse/def.h index d14ebca..32176af 100644 --- a/src/pulse/def.h +++ b/src/pulse/def.h @@ -124,6 +124,17 @@ typedef enum pa_context_flags { #define PA_CONTEXT_NOFAIL PA_CONTEXT_NOFAIL /** \endcond */ +/** The type of device we are dealing with */ +typedef enum pa_device_type { + PA_DEVICE_SINK, /**< Playback device */ + PA_DEVICE_SOURCE /**< Recording device */ +} pa_device_type_t; + +/** \cond fulldocs */ +#define PA_DEVICE_SINK PA_DEVICE_SINK +#define PA_DEVICE_SOURCE PA_DEVICE_SOURCE +/** \endcond */ + /** The direction of a pa_stream object */ typedef enum pa_stream_direction { PA_STREAM_NODIRECTION, /**< Invalid direction */ I figure this will be quite useful generally after a 1.0 code cleanup which will reduce the duplication between sink and source code and abstracting a lot of it into generic "device" code (while "device" as a term is not ideal - not all sinks and source are h/w - I'm not sure there is a better "base" name for sinks/source... suggestions welcomed!), so this could be useful there too. Please feel free to point out that this is actually already implemented in some capacity too :D Col -- Colin Guthrie gmane(at)colin.guthr.ie http://colin.guthr.ie/ Day Job: Tribalogic Limited [http://www.tribalogic.net/] Open Source: Mageia Contributor [http://www.mageia.org/] PulseAudio Hacker [http://www.pulseaudio.org/] Trac Hacker [http://trac.edgewall.org/]