rendered paste bodydiff --git a/doc/spec/hal-spec-properties.xml b/doc/spec/hal-spec-properties.xml
index aacf370..fe6b25d 100644
--- a/doc/spec/hal-spec-properties.xml
+++ b/doc/spec/hal-spec-properties.xml
@@ -4365,6 +4365,218 @@
</tgroup>
</informaltable>
</sect2>
+ <sect2 id="device-properties-alsa-virtual">
+ <title>
+ <literal>alsa.virtual</literal> namespace
+ </title>
+ <para>
+ Device objects with the capability <literal>alsa.virtual</literal>
+ represent configured ALSA userspace system device, that can be
+ complex (pre and post processing, plugin, address arguments)
+ </para>
+ <informaltable>
+ <tgroup cols="2">
+ <thead>
+ <row>
+ <entry>Key (type)</entry>
+ <entry>Values</entry>
+ <entry>Mandatory</entry>
+ <entry>Description</entry>
+ </row>
+ </thead>
+ <tbody>
+ <row>
+ <entry>
+ <literal>alsa.virtual.device</literal> (string)
+ </entry>
+ <entry>Examples: <literal>plug:"hw:0,1"</literal>,
+ <literal>bluetooth:/org/bluez/audio/device1</literal></entry>
+ <entry>Yes</entry>
+ <entry>
+ ALSA description as used to open this virtual device.
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <literal>alsa.virtual.device_id</literal> (string)
+ </entry>
+ <entry>
+ Examples: <literal>Automatic conversion of hw:0,1</literal>
+ <literal>Bluetooth Nokia HS-3W headset</literal>
+ </entry>
+ <entry>No</entry>
+ <entry>
+ Textual description of the specific device for a card
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <literal>alsa.virtual.device_pcm_class</literal> (string)
+ </entry>
+ <entry></entry>
+ <entry>No</entry>
+ <entry>
+ The PCM class of the device.
+ </entry>
+ </row>
+ <row>
+ <entry></entry>
+ <entry>generic</entry>
+ <entry></entry>
+ <entry>
+ A standard PCM sound device (SND_PCM_CLASS_GENERIC).
+ </entry>
+ </row>
+ <row>
+ <entry></entry>
+ <entry>multi</entry>
+ <entry></entry>
+ <entry>
+ A multichannel device PCM sound device (SND_PCM_CLASS_MULTI) which
+ e.g. contains a generic and a modem device.
+ </entry>
+ </row>
+ <row>
+ <entry></entry>
+ <entry>digitizer</entry>
+ <entry></entry>
+ <entry>
+ A PCM digitizer device (SND_PCM_CLASS_DIGITIZER).
+ </entry>
+ </row>
+ <row>
+ <entry></entry>
+ <entry>modem</entry>
+ <entry></entry>
+ <entry>
+ A PCM modem device (SND_PCM_CLASS_MODEM).
+ </entry>
+ </row>
+ <row>
+ <entry></entry>
+ <entry>unknown</entry>
+ <entry></entry>
+ <entry>
+ The value is 'unknown' if the kernel provide no information about the
+ PCM device class of the device (e.g. the file pcm_class is missing).
+ </entry>
+ </row>
+ <row>
+ <entry></entry>
+ <entry>none</entry>
+ <entry></entry>
+ <entry>
+ The value is 'none' if this there is no PCM class for this device.
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <literal>alsa.virtual.originating_device</literal> (string)
+ </entry>
+ <entry></entry>
+ <entry>Yes</entry>
+ <entry>
+ UDI of the device the ALSA device is bound to.
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <literal>alsa.virtual.type</literal> (string)
+ </entry>
+ <entry></entry>
+ <entry>Yes</entry>
+ <entry>
+ The type of the stream.
+ </entry>
+ </row>
+ <row>
+ <entry></entry>
+ <entry>
+ <literal>control</literal>
+ </entry>
+ <entry></entry>
+ <entry>
+ Stream is control device.
+ </entry>
+ </row>
+ <row>
+ <entry></entry>
+ <entry>
+ <literal>capture</literal>
+ </entry>
+ <entry></entry>
+ <entry>
+ Stream is capture device.
+ </entry>
+ </row>
+ <row>
+ <entry></entry>
+ <entry>
+ <literal>playback</literal>
+ </entry>
+ <entry></entry>
+ <entry>
+ Stream is playback device.
+ </entry>
+ </row>
+ <row>
+ <entry></entry>
+ <entry>
+ <literal>unknown</literal>
+ </entry>
+ <entry></entry>
+ <entry>
+ The type of the device is unknown.
+ </entry>
+ </row>
+ <row>
+ <entry></entry>
+ <entry>
+ <literal>hw_specific</literal>
+ </entry>
+ <entry></entry>
+ <entry>
+ This is a hardware specific device (as e.g. from snd_fm801 for Fortemedia FM801
+ PCI Audio). The driver can use it freely for purposes that are not covered by
+ standard ALSA API.
+ </entry>
+ </row>
+ <row>
+ <entry></entry>
+ <entry>
+ <literal>timer</literal>
+ </entry>
+ <entry></entry>
+ <entry>
+ Stream is the global ALSA timer device.
+ This means, the device is for all ALSA devices/cards.
+ </entry>
+ </row>
+ <row>
+ <entry></entry>
+ <entry>
+ <literal>sequencer</literal>
+ </entry>
+ <entry></entry>
+ <entry>
+ Stream is the global ALSA sequencer device.
+ This means, the device is for all ALSA devices/cards.
+ </entry>
+ </row>
+ <row>
+ <entry></entry>
+ <entry>
+ <literal>unknown</literal>
+ </entry>
+ <entry></entry>
+ <entry>
+ Stream is unknown device.
+ </entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </informaltable>
+ </sect2>
<sect2 id="device-properties-oss">
<title>
<literal>oss</literal> namespace