Changelog between 1.0.28 and 1.0.29 releases
(http://www.alsa-project.org/main/index.php/Changes_v1.0.28_v1.0.29)
(Reformated as ASCII text)
+++++++++++++++++++++++++++++++++++++++++++

* alsa-lib

  * Core
    Release v1.0.29
    conf/ucm: GoogleNyan: Add configuration
    conf/ucm: PAZ00: add Toshiba AC100/Dynabook AZ new config

  * Control API
    control: complement comment for subscribe API
    Remove unused hostname resolution in shm plugins and aserver
    control: enable octal and hexadecimal parse
    control: return negative value in case of error

  * HWDEP API
    hwdep: add OXFW driver support
    hwdep: add missing declaration for snd_hwdep_poll_descriptors_count()
    Sync enum snd_hwdep_iface_t with include/asound/asound.h

  * Mixer API
    mixer: Fix unused parameter warnings
    mixer: Fix inclusion of config.h
    mixer: Fix missing hctl handle free in snd_mixer_attach_hctl()
    simple_abst: null check for lib
    mixer: fixed double free

  * PCM API
    Remove unused hostname resolution in shm plugins and aserver
    pcm: fix buffer overflow in snd_pcm_chmap_print()
    pcm: Fix assorted tstamp_type bugs/omissions.
    pcm: Fix DSD sample format endianess and add big-endian format
    pcm: dmix: Don't ignore SND_TIMER_EVENT_MSTOP
    pcm: return negative value in case of error
    pcm_hooks: null check for h
    pcm_share: fixing missing mutex unlock
    pcm_file: fixed missing free
    pcm, rate: hw_avail must not be negative before starting the stream
    pcm route: Fix the bad condition (always false)
    Revert "pcm: rewindable, forwardable: don't return stale data"
    pcm, file: don't recurse in the rewindable and forwardable callbacks
    pcm: rewindable, forwardable: don't return stale data
    dsnoop: rewindable and forwardable logic was swapped
    rate: handle negative values from snd_pcm_mmap_playback_hw_avail
    pcm, null: use the snd_pcm_mmap_avail function
    pcm, rate: use the snd_pcm_mmap_hw_avail function
    pcm: handle negative values from snd_pcm_mmap_hw_avail
    pcm: express the rewind size limitation logic better
    dmix: actually rewind when running or being drained
    pcm: add new 32-bit DSD sample format
    pcm: fix return value of snd_pcm_share_slave_avail
    pcm: fix snd_pcm_mmap_hw_avail() near the boundary
    pcm: 2nd round of pcm_misc DSD fixes
    pcm: Add missing signed and endianess definitions for DSD formats
    pcm: Fix DSD formats userland usability
    pcm: pcm_local.h: include <time.h> to enable CLOCK_MONOTONIC
    pcm: Drop snd_pcm_linear_{get|put}32_index()
    pcm: route: Use get32 for multi-source route calculation
    pcm: Fill sw_params proto field
    pcm: route: Use get/put labels for all 3 byte formats
    pcm: Implement timestamp type handling in all plugins
    pcm: Implement timestamp type setup in hw plugin
    pcm: Add sw_params API functions to get/set timestamp type
    pcm: rate: fix hw_ptr exceed the boundary

  * RawMidi API
    rawmidi: close handle h

  * Use Case Manager API
    ucm: fix some variable constness issues
    ucm: fix the logic of choosing the default cdev
    ucm: fix incorrect error code sign
    ucm: fix variable mixup
    ucm: add binary configure file parse
    ucm: Fix uninitialized err in snd_use_case_set()
    ucm: Document PlaybackPCMIsDummy and CapturePCMIsDummy values

  * /include/Makefile.am
    autotools: fix ucm partial build

  * ALSA Server
    Remove unused hostname resolution in shm plugins and aserver

  * Configuration
    conf: add support for USB AudioSport Quattro (tm)
    conf/ucm: GoogleNyan: Add configuration
    USB-audio: Add five more cards to IEC958 blacklist
    USB-Audio: Add Scarlett 2i4 USB to S/PDIF blacklist
    conf/ucm: PAZ00: add Toshiba AC100/Dynabook AZ new config
    conf: return negative value in case of error
    USB-Audio: Add second S/PDIF device on Phiree U2
    ICE1712: add surround71 pcm definition

  * Documentation
    doc: fix cross-compiling example

  * Dynamic Loader helpers
    dlmisc: Remove unused label
    snd_dlsym: only do versioning checks if built --with-versioning

  * Filename helpers
    snd_user_file: fix memory leak

  * Kernel Headers
    hwdep: add OXFW driver support
    pcm: Fix DSD sample format endianess and add big-endian format
    pcm: add new 32-bit DSD sample format
    Sync include/sound/asound.h with 3.17-rc1 kernel
    pcm: Fix DSD formats userland usability
    pcm: Fill sw_params proto field
    Add timestamp type to sw_params (internal only)
    pcm: Provide a CLOCK_MONOTONIC_RAW timestamp type

  * Simple Abstraction Mixer Modules
    sbase: fixed missing free

  * Socket helpers
    Remove unused hostname resolution in shm plugins and aserver
    socket: missing socket close

  * Test/Example code
    test/audio_time: Set timestamp type explicitly

Changelog between 1.0.27.2 and 1.0.28 releases
(http://www.alsa-project.org/main/index.php/Changes_v1.0.27.2_v1.0.28)
(Reformated as ASCII text)
+++++++++++++++++++++++++++++++++++++++++++

* alsa-lib

  * Core
    Release v1.0.28
    autotools: update style
    Portability fix: look for sys/endian.h as well as endian.h
    alsa-lib: heavy pcm atomics cleanup
    include/global.h - don't define timeval and timespec structures for !glibc
    local.h: include sys/types.h to fix issues with pcm.h
    remove unnecessary/obsolete compat/hsearch_r.c
    Update iatomic.h functions definitions for mips
    local.h: use __kernel_off_t from <linux/types.h>

  * Control API
    control_hw: fix potential memory leak
    snd_tlv_convert_from_dB: fix decreasing gain across entries
    Fix access of freed memory in namehints

  * PCM API
    alsa-lib: pcm_plug: fix float conversion for user specified ttable
    pcm: rate plugin - remove the rewind/forward implementation
    pcm: rate: add rewindable and forwardable callbacks
    pcm: null plugin - fix the avail count
    pcm: null: add rewindable and forwardable callbacks
    pcm: multi: implement rewindable and forwardable callbacks
    pcm:file: add the missing htimestamp callback
    pcm: Fix channel map query when there are lots of maps
    pcm: route: Correctly close slave pcm when no matching chmap is found
    pcm: Fix forward/rewind support in iec958 plugin
    pcm: rate: Don't return negative frame count on success in rewind
    pcm: ladspa: Delay LADSPA plugin activate call
    Revert "pcm: route: Don't handle no matching chmap as a serious error"
    route: Fix invalid pointer access
    route: Return NULL in case of zero found channels in determine_chmap
    pcm: route: Don't handle no matching chmap as a serious error
    pcm: Wrap hw_ptr to boundary in pcm_ioplug
    pcm: route: Select slave chmap based on ttable information
    pcm: route: Allow chmap syntax for slave channels in ttable
    pcm: Insert linear-to-float conversion when rate or channel count is incorrect
    Portability fix: look for sys/endian.h as well as endian.h
    alsa-lib: heavy pcm atomics cleanup
    pcm: use CLOCK_REALTIME for non-monotonic ts
    pcm: initialize monotonic field for dshare and dsnoop, too
    pcm: initialize pcm_dmix monotonic field
    alsa-lib: minor typo in pcm doc
    minor malloc changes
    dmix: Don't use assert() and abort()
    pcm_file: document new argument to snd_pcm_file_open().
    pcm_file: don't touch infile on playback and output file on capture.
    pcm_file: fixed memory leak.
    pcm_file: fix SEGFAULT if file option is missing while infile is not.
    pcm: Fix a wrong value shown in the error message in rate plugin

  * Use Case Manager API
    UCM: Document some standard values

  * /Makefile.am
    autotools: update style

  * /alsalisp/Makefile.am
    autotools: update style

  * /src/Makefile.am
    remove unnecessary/obsolete compat/hsearch_r.c

  * ALSA Lisp
    minor malloc changes

  * ALSA Server
    autotools: update style

  * Compatibility routines
    remove unnecessary/obsolete compat/hsearch_r.c

  * Configuration
    Loopback.conf: fix the comment
    src/conf/cards: Add missing entry for Loopback.conf
    conf: Allow 2.1 surround to use different number of channels
    conf: Add surround 2.1 support to all cards
    conf: Add basic infrastructure for 2.1 surround sound
    conf.c: use portable way to initialize recursive mutex
    HDA-Intel: present up to 8 HDMI/DP outputs via "hdmi" device
    conf/cards: add Audio Advantage Micro II

  * Documentation
    autotools: update style

  * Kernel Headers
    hdspm.h: Update LTC ioctl to use struct hdspm_ltc

  * Test/Example code
    Add -lm to test programs to fix build failure.
    test/chmap: Add missing usage text for -s option

Changelog between 1.0.27.1 and 1.0.27.2 releases
(http://www.alsa-project.org/main/index.php/Changes_v1.0.27.1_v1.0.27.2)
(Reformated as ASCII text)
+++++++++++++++++++++++++++++++++++++++++++

* alsa-lib

  + Core
    Release v1.0.27.2
    Allow specifying the max number of cards

  + Control API
    Allow specifying the max number of cards

  + HWDEP API
    Allow specifying the max number of cards

  + PCM API
    pcm_direct: fix SEGFAULT when getgrnam_r() returns 0 and pgrp is NULL
    pcm_hw: Fix buffer overflow in chmap
    chmap: Always succeed setting the map to what it already is
    pcm_direct: fix the memory leak when parsing the slave definitions
    pcm_plugin: Fix return value of snd_pcm_rewind
    pcm_hw: Remove unused fields in struct
    pcm: Fix typo in documentation: PREPARE → PREPARED.

  + Use Case Manager API
    ucm: Fix segfault when device argument is missing from _sw{dev, mod}

  + Configuration
    Allow specifying the max number of cards

Changelog between 1.0.27 and 1.0.27.1 releases
(http://www.alsa-project.org/main/index.php/Changes_v1.0.27_v1.0.27.1)
(Reformated as ASCII text)
+++++++++++++++++++++++++++++++++++++++++++

* alsa-lib
  + Core
    Release v1.0.27.1
    Remove an obsolete macro in configure.in
    Add AM_MAINTAINER_MODE.
    conf/ucm: Set up for installation
    Add definition of __inline__ for non-GCC
    Use __inline__ for exported headers

  + Control API
    Use __inline__ for exported headers

  + PCM API
    Use __inline__ for exported headers
    bring pcm.h and pcm.c in sync with the kernel list
    pcm.c: fix indentation

  + RawMidi API
    Fix several spelling errors for “writable” and derivatives.

  + Sequencer API
    seqmid: restore sequencer address prefix match feature

  + ALSA Lisp
    Fix several spelling errors for “writable” and derivatives.

  + Configuration
    conf/ucm: DAISY-I2S: Set default filter mode for HiFi.
    conf/ucm: Set up for installation
    conf/ucm: tegraalc5632: add UCM config from Ubuntu
    conf/ucm: SDP4430: add UCM config from Ubuntu
    conf/ucm: PandaBoardES: add UCM config from Ubuntu
    conf/ucm: PandaBoard: add UCM config from Ubuntu
    conf/ucm: DAISY-I2S: add Samsung ARM Chromebook UCM config from ChromeOS
    conf - Add Scarlett 2i2 USB to S/PDIF blacklist

  + Dynamic Loader helpers
    Compile in the ALSA search path instead of relying on ld.so.conf.
    Fix doubly call of dlclose() in dlobj caching code

  + External PCM Filter Plugin SDK
    Use __inline__ for exported headers

Changelog between 1.0.26 and 1.0.27 releases
(http://www.alsa-project.org/main/index.php/Changes_v1.0.26_v1.0.27)
(Reformated as ASCII text)
+++++++++++++++++++++++++++++++++++++++++++

* alsa-lib
  + Core
    Release v1.0.27
    all places: doxygen cleanups
    Add sys/types.h to include list
    Add snd_lib_error_set_local() to install a thread-local error handler.
    configure: do not detect incorrect cross-compiler
    Fix endian check in local.h
    configure: Quite AM_CONDITIONAL() arguments
    Add workaround for conflicting snd_seq_event_t definitions
    Merge kernel uapi/sound/asound.h and asequencer.h

  + Control API
    control: enhance doc for snd_ctl_ascii_value_parse() function
    control, pcm: implement snd_ctl_abort() and snd_pcm_abort() functions
    Add workaround for conflicting IEC958 controls for HD-audio
    control: Simplify using snd_config_get_bool()
    snd_device_name_hint(): do not use global snd_config.
    snd_device_name_hint(): do not change the global error handler.
    Merge kernel uapi/sound/asound.h and asequencer.h
    Implement the channel mapping API

  + Mixer API
    all places: doxygen cleanups
    snd_mixer_poll_descriptors_revents should loop over pollfd
    mixer: Don't build simple_abst when no libdl is available
    Reduce compilation warnings

  + PCM API
    pcm: direct plugins: do more safe IPC semaphore handling
    all places: doxygen cleanups
    control, pcm: implement snd_ctl_abort() and snd_pcm_abort() functions
    pcm: fix typo, should be SND_PCM_STATE_PREPARED.
    pcm: fix and optimize snd_pcm_areas_copy function
    snd_pcm_direct_parse_open_conf(): use thread-safe getgrnam_r()
    PCM: Fix conflict of _snd_pcm_hw_params definitions
    PCM: shut up a compile "unused parameter" compile warning in pcm_multi.c
    PCM: Add more chmap definitions for UAC2
    Merge kernel uapi/sound/asound.h and asequencer.h
    PCM: Avoid busy loop in snd_pcm_write_areas() with rate plugin
    Reduce compilation warnings
    PCM: Fix memory leak for pcm empty and asym plugins
    pcm: support for audio timestamps
    PCM: Fix the invalid snd_pcm_close() calls in rate plugin
    PCM: Fix infinite loop in htimestamp of dmix, dsnoop and dshare plugins
    PCM: Fill SND_CHMAP_NA to silent channels in route plugin
    PCM: A few doxygen fixes for chmap stuff
    PCM: Fix the conversion from string to chmap position
    PCM: Define MONO and other channel map positions
    PCM: Use compounds for overriding / enhancing chmaps
    PCM: Add the missing query_chmaps for route plugin
    PCM: Add chmap options to hw and null plugins
    PCM: Add query_chmaps support to multi plugin
    PCM: Add snd_pcm_chmap_long_name()
    PCM: Add SND_CHMAP_API_VERSION definition
    PCM: Add string conversion helper functions for chmap
    PCM: Fix prefix for snd_pcm_chmap_type enum members
    PCM: Implement snd_pcm_query_chmaps_from_hw()
    PCM: Introduce snd_pcm_chmap_t and snd_pcm_chmap_query_t
    Add SND_CHMAP_NA and bit flag definitions
    Follow channel position definitions to mixer channel in mixer.h
    Define channel map position enum in pcm.h
    Cache the chmap operation errors
    Implement get_chmap/set_chmap for PCM extplug/ioplug plugins
    Implement get_chmap/set_chmap for PCM plug, route and multi plugins
    Implement the channel mapping API

  + Sequencer API
    Merge kernel uapi/sound/asound.h and asequencer.h
    Reduce compilation warnings

  + Timer API
    Merge kernel uapi/sound/asound.h and asequencer.h

  + Use Case Manager API
    ucm: Set uc_mgr->ctl to NULL after closing it.

  + ALSA Lisp
    Reduce compilation warnings

  + Configuration
    USB-audio: Add "HP Digital Stereo Headset" to SPDIF blacklist
    Add workaround for conflicting IEC958 controls for HD-audio
    conf: Fix a memory access violation resulting from improper error propogation
    conf: Add chmap definitions to TRIDENT and SI7018 configurations
    PCM: Use compounds for overriding / enhancing chmaps
    Add chmap override definitions for Emu10k1, Audigy and Audigy2 cards

  + Documentation
    all places: doxygen cleanups

  + Dynamic Loader helpers
    Optimize NULL check in snd_dlobj_cache_put()
    Clean up dlobj cache only when no user is present

  + Error handler
    Add snd_lib_error_set_local() to install a thread-local error handler.

  + External Control Plugin SDK
    all places: doxygen cleanups

  + External PCM Filter Plugin SDK
    PCM: Introduce snd_pcm_chmap_t and snd_pcm_chmap_query_t
    Implement get_chmap/set_chmap for PCM extplug/ioplug plugins

  + External PCM I/O Plugin SDK
    PCM: Introduce snd_pcm_chmap_t and snd_pcm_chmap_query_t
    Implement get_chmap/set_chmap for PCM extplug/ioplug plugins

  + Kernel Headers
    PCM: Add more chmap definitions for UAC2
    Merge kernel uapi/sound/asound.h and asequencer.h
    pcm: fix 64-bit SNDRV_PCM_IOCTL_STATUS ABI breakage
    pcm: support for audio timestamps
    PCM: Define MONO and other channel map positions
    Add SND_CHMAP_NA and bit flag definitions
    Follow channel position definitions to mixer channel in mixer.h
    Implement the channel mapping API

  + Test/Example code
    pcm: support for audio timestamps
    test: add audio_time
    test/chmap: Fix wrong malloc size
    PCM: Add string conversion helper functions for chmap
    Fix duplicated channel entry in test/chmap.c
    Add SND_CHMAP_NA and bit flag definitions
    Follow channel position definitions to mixer channel in mixer.h
    Add test/chmap program

Changelog between 1.0.25 and 1.0.26 releases
(http://www.alsa-project.org/main/index.php/Changes_v1.0.25_v1.0.26)
(Reformated as ASCII text)
+++++++++++++++++++++++++++++++++++++++++++

* alsa-lib
  + Core
    Release v1.0.26

  + Control API
    ucm: Improve cset command parsing
    control: Use strcpy() instead of stpcpy()
    hctl: Remove a useless assert
    Fix the binary compatibility of ext-ctl plugin with protocol 1.0.0
    tlv: improve robustness of raw value ranges
    control_external: Add ability to specify TLV data.

  + Mixer API
    mixer: Remove redundant CHECK_ENUM() from snd_mixer_selem_is_enum*()

  + PCM API
    PCM: plug: Move fast_ops copy after slave configuration.
    PCM: Allow to run older version of extplug plugin
    pcm_dsnoop: comment fall-through in next "case"
    pcm: add missing "break" in "switch"
    doc: Fix typo in PCM formats

  + Sequencer API
    seqmid - more descriptions on snd_seq_parse_address() behavior

  + Use Case Manager API
    ucm: Add const to execute_cset() argument
    ucm: Improve cset command parsing
    ucm: Return NULL from get_list0() and get_list20() in case of empty lists.
    ucm: Add missing pthread.h include
    build: Fallback to alphasort() if versionsort() isn't available
    ucm: Handle repeat device and modifier enables/disables

  + Configuration
    build: Fallback to alphasort() if versionsort() isn't available
    conf: Add more USB devices to S/PDIF blacklist
    Fix invalid long long format specifier
    alsa-lib conf: Add two more USB devices to iec958 blacklist
    alsa-lib conf: block S/PDIF access for Sennheiser USB headset
    USB-Audio: Fixup card name for Logitech web camera
    USB-Audio: Blacklist iec958 for some USB devices
    conf/pcm: Add support for Echo3G devices. Thanks to unimatrix.

  + External Control Plugin SDK
    Fix the binary compatibility of ext-ctl plugin with protocol 1.0.0
    control_external: Add ability to specify TLV data.

 + Test/Example code
   test/latency.c: Fix string argument to getopt_long, so now it handles -E and -B
   Fix invalid long long format specifier

  + Utils
    build: Disable another compile chack with --disable-alsatest

Changelog between 1.0.24 and 1.0.25 releases
(http://www.alsa-project.org/main/index.php/Changes_v1.0.24_v1.0.25)
(Reformated as ASCII text)
+++++++++++++++++++++++++++++++++++++++++++

* alsa-lib
  + Core
    Release v1.0.25
    Introduce --with-pkgconfdir, add 64-bit defaults to gitcompile
    conf: Allow for a directory to be given as a config file.
    configure: Fail when the user attempts to compile shared and static libs
    Release v1.0.24.1

  + Control API
    Document strdup allocation in snd_card_get_name family
    Improve snd_device_name_hint documentation
    control: add snd_ctl_elem_add_enumerated()
    Add snd_{ctl|pcm}_open_fallback() functions
    Fix missing error code in snd_ctl_hw_open()
    ctlparse: Respect softfloat configure option

  + Device Name API
    Remove docs for snd_names_list and snd_names_list_free

  + HWDEP API
    alsa-lib: fixed coverity reported issues under "FORWARD_NULL" checker.

  + Mixer API
    Fix compile warnings
    Fix alsa-lib to regard 3D control - Depth as Playback Controls

  + PCM API
    Improve hw_params documentation
    Search-and-replace improve documentation language
    pcm:mmap_emul: Fix sw_params and others in bypass mode
    src/pcm/pcm_mmap.c: add missing free
    src/pcm/pcm_multi.c: add missing free
    src/pcm/pcm_ladspa.c: add missing free
    src/pcm/pcm_rate.c: add missing free
    pcm: recalculate all rules after changing hw_params flags
    Add snd_{ctl|pcm}_open_fallback() functions
    alsa-lib: fixed coverity reported issues under "FORWARD_NULL" checker.

  + Use Case Manager API
    ucm: add another sequence 'msleep'
    ucm: tivial code style fix
    ucm: fix seg fault in execute_cset()
    UCM: get: Implement 'exact' value retrieval
    UCM: snd_use_case_get: Don't segfault when no current verb
    UCM: Allow querying of {Supported,Conflicting}Devices
    UCM: Disallow gets of undefined system properties
    UCM: Implement ConflictingDevices, add device list to devices
    UCM: Deprecate index on Section{Device,Modifier}
    UCM: Fix deadlock following failed get _verb
    UCM: Fix typo in error message
    UCM: fix memory leak when executing cset commands
    UCM: Fix LGPL licence ("how to receive" part referred GPL instead LGPL)
    UCM: Fix empty get_list - initialize returned pointer to NULL
    UCM: comment fixes and fix myvalue initialization fix in add_values()
    alsa-lib: ucm: allow values to be read from devices
    ucm: add more error messages for cdev and cset commands
    ucm: allow bind modifier to specific instances, other fixes
    ucm: make verb comments optional

  + Configuration
    conf: Allow for a directory to be given as a config file.
    Define "sysdefault" PCM and control
    emu10k1.conf - Fix no sound problem when using SB Live! Platinum
    Specficy subdevice 0 for front/surround* of HDA-Intel.conf
    alsa-lib: fixed coverity reported issues under "FORWARD_NULL" checker.
    HDA-Intel.conf - Fix low mic volume due to pulseaudio using "front" device for playback and capture
    EMU10K1.conf: Don't lock hook controls
    Fix typo in comment in surround71.conf
    Mark Heaphone {Center|LFE} control of emu10k1 conf as optional
    Conf: Fix channels of ICE1712 to 10/12
    alsa-lib: add LaCie Firewire Speakers/Griffin FireWave Surround driver

  + Kernel Headers
    control: add snd_ctl_elem_add_enumerated()
    asound.h: cosmetic changes for consistency with kernel asound.h
    asound.h: update for latest kernel
    Add RME RPM to HDSP_IO_Type.

  + Simple Abstraction Mixer Modules
    alsa-lib: fixed coverity reported issues under "FORWARD_NULL" checker.

  + Test/Example code
    Fix printf for size_t
    test/latency: print error message when 2 periods per buffer not supported
    ucm: allow bind modifier to specific instances, other fixes

  + Utils
    Introduce --with-pkgconfdir, add 64-bit defaults to gitcompile

Changelog between 1.0.23 and 1.0.24 releases
(http://www.alsa-project.org/main/index.php/Changes_v1.0.23_v1.0.24)
(Reformated as ASCII text)
+++++++++++++++++++++++++++++++++++++++++++

* alsa-lib
  +  Core
          Release v1.0.24
          configure.in: don't rely on test -a, not all shells support it
          Version-check libtool correctly when doing an out-of-tree build
          ucm: Moved ucm to src/ucm subdirectory
          general: recoded snd_dlobj_ functions
          Check for thread-specific locale support
  +  Control API
          ucm: ctlparse - always terminate cset buffer
          control: add ASCII parsers from amixer
          tlv: fix returned dB information for min-is-mute controls
          namehint: Another fix to properly evaluate hw devices
          namehint: Fix hw device evaluation (missing last device)
          general: recoded snd_dlobj_ functions
          namehint: Evaluate more possibilities for hw devices
          Memory leak in namehint.c
          tlv: Remove tailing tab after snd_ctl_get_dB_range function
          tlv: Handle 'holes' in SND_CTL_TLVT_DB_RANGE array
          tlv: Check out of range dB with SND_CTL_TLVT_DB_RANGE
          control: tlv: Check dB range only within the control's volume range
  +  PCM API
          pcm: fix typo in snd_pcm_recover() error message
          pcm_plugin: fix delay
          pcm: add MMAP_EMUL to type names
          pcm_plugin: remove unused client_frames and slave_frames routines
          pcm: fix snd_pcm_avail_delay() function
          support for period wakeup disabling
          pcm: pass hw_params flags to slave
          pcm direct plugins: change timestamping in dsnoop
          general: recoded snd_dlobj_ functions
          Add missing support for 3-byte formats for 16bit put conversion
          pcm: Fixed typo (wrong deleted line) instroduced in the minperiodsize patch
          pcm: introduce defaults.pcm.compat to change the params choose behaviour
          pcm: add defaults.pcm.minperiodtime parsing
          pcm_plug: fix comparison always true
          pcm - ladspa: fix small memory leak in snd_pcm_ladspa_free_instances()
  +  Sequencer API
          seq: Fix for snd_seq_parse_address()
  +  Use Case Manager API
          ucm: fix switch device & modifier when no transition is found
          ucm: add snd_use_case_verb_list() inline function
          ucm: fix handling of cset with spaces in the control name
          ucm: only select modifier when supported device is enabled
          ucm: implement basic script exec functionality
          ucm: check the correct return value for modifier
          ucm: check for valid value list before dereference.
          ucm: remove unused code.
          ucm: make sure active modifier and device lists are initialised
          ucm: remove parse_device() and call parse_compound() directly
          ucm: modifiers names must be compound parse
          ucm: removed unused 'active' member in struct use_case_device
          ucm: initial implementation for cdev/cset
          ucm: CTL devices are only one per card (remove DEV from comments)
          ucm: add ValueDefaults section to the master file
          ucm: add cdev
          ucm: fix parser for sequences and fix wrong strcmp
          ucm: debug parser
          ucm: implemented card list feature
          ucm: unify snd_use_case_geti(), add snd_use_case_card_list() template
          ucm: cosmetic fix
          ucm: added implementation for other ucm parts, only card name list is missing
          ucm: Introduce "Value {}" section, more implementation work
          ucm: Moved ucm to src/ucm subdirectory
          ucm: Recode header to be more universal
          ucm: core - Add initial Use Case Manager support.
          ucm: header - ALSA Use Case Manager
  +  /include/Makefile.am
          ucm: build - add build support for Use Case Manager
  +  /src/Makefile.am
          ucm: Moved ucm to src/ucm subdirectory
          ucm: build - add build support for Use Case Manager
  +  ALSA Lisp
          alisp - Fix a string format ambiguity
  +  Configuration
          aliases.conf: add aliases for CMI8788-based cards
          USB-Audio.conf: fix Audiophile USB card name
          config file processing: rewrite the locking - use one recursive mutex
          Fix typo for surround PCMs in src/conf/cards/Loopback.conf
          Add Loopback.conf to define standard PCM devices for snd-aloop driver
          HDA-Intel: do not lock IEC958 Playback switch
          pcm: introduce defaults.pcm.compat to change the params choose behaviour
          pcm: add defaults.pcm.minperiodtime parsing
          HDA-Intel: present all 4 HDMI outputs instead of just the first one
          Use thread-safe locale functions if available
  +  Documentation
          ucm: Moved ucm to src/ucm subdirectory
          ucm: build - add build support for Use Case Manager
  +  Dynamic Loader helpers
         general: recoded snd_dlobj_ functions
  +  Kernel Headers
          Update hdspm.h file from Adrian Knoth - final version
          Update hdspm.h file from Adrian Knoth
          Add hdspm.h kernel header to include/alsa/sound tree for the hdspmixer app
          support for period wakeup disabling
  +  Test/Example code
          ucm: fix parser for sequences and fix wrong strcmp
          ucm: debug parser
          ucm: implemented card list feature
          test/latency: fix timediff calculation

Changelog between 1.0.22 and 1.0.23 releases
(http://www.alsa-project.org/main/index.php/Changes_v1.0.22_v1.0.23)
(Reformated as ASCII text)
+++++++++++++++++++++++++++++++++++++++++++

* alsa-lib
  +  Core
          Release v1.0.23
          add atomic operations for Blackfin parts
  +  Control API
          modem.conf Off-hook improve behavior
  +  PCM API
          pcm_share plugin: fix pcm->monotonic setup in open() function
          pcm_hw - show errno codes
          pcm direct plugins: drain() call might be blocked when threads are used
          pcm_dmix: add support for S24_LE format
          Fix snd_pcm_sw_params_set_period_event() implementation
          pcm: fix read_areas and write_areas
          pcm: Fix the sound distortions for S24_3LE stream in pcm_softvol plugin
          pcm: Close event timer in pcm_hw plugin

Changelog between 1.0.21 and 1.0.22 releases
http://www.alsa-project.org/main/index.php/Changes_v1.0.21_v1.0.22)
(Reformated as ASCII text)
+++++++++++++++++++++++++++++++++++++++++++

* alsa-lib
  +  Core
          Release v1.0.22
          configure.in: fix --without-softfloat
          Define _GNU_SOURCE so that <fcntl.h> gives O_CLOEXEC
          Open device nodes with close-on-exec flag
          configure.in: Add m4 check for new AM_SILENT_RULES
          cvscompile: Remove in favour of gitcompile.
          Release v1.0.21a
  +  Control API
          Remove redefinition of _GNU_SOURCE and __USE_GNU
          Remove old commented-out FD_CLOEXEC code
          namehint: list card independent devices only once
          namehint: Allow snd_device_name_hint to search for CTL devices.
          namehint: add missing list->card initialization
          Fix corruption after snd_device_name_hint()
          hcontrol: fix compare_default function to handle also id.device and id.subdevice
          control: Remove unused variable.
  +  HWDEP API
          Remove old commented-out FD_CLOEXEC code
  +  Mixer API
          mixer: fix enum check
          simple_none.c uses HAVE_SOFT_FLOAT it has to include config.h
          Fix CHECK_ENUM() in simple.c
          mixer: Add Speaker and Beep names to the weight list
  +  PCM API
          Update pcm doc strings
          Remove old commented-out FD_CLOEXEC code
          pcm_rate_linear: Annotate unused function parameter to avoid compiler warnings.
          dmix - Fix snd_pcm_info()
          pcm_hw: Always use delay ioctl in snd_pcm_delay()
          PCM - Change the hw_params determination order
  +  RawMidi API
          Remove old commented-out FD_CLOEXEC code
  +  Sequencer API
          Remove old commented-out FD_CLOEXEC code
  +  Timer API
          Remove redefinition of _GNU_SOURCE and __USE_GNU
          Remove old commented-out FD_CLOEXEC code
          Defined symbols exposing the hrtimer to applications.
  +  ALSA Lisp
          alisp: Comment out an unused function to avoid compiler warnings.
  +  Configuration
          Change dmix.conf to accept user configuration from defaults.dmix.<driver_id>.xxx
          Revert "Fix driver conf parsing in snd_config_hook_load_for_all_cards()"
  +  Dynamic Loader helpers
          Remove redefinition of _GNU_SOURCE and __USE_GNU
          Cache libasound.so access in snd_dlopen
  +  Kernel Headers
          Defined symbols exposing the hrtimer to applications.

Changelog between 1.0.21 and 1.0.21a releases
(http://www.alsa-project.org/main/index.php/Changes_v1.0.21_v1.0.21a)
(Reformated as ASCII text)
********************************************

* alsa-lib

  +  Core
          Release v1.0.21a
  +  Mixer API
          mixer: Add Speaker and Beep names to the weight lis
  +  PCM API
          PCM - Change the hw_params determination orde
  +  Configuration
          Change dmix.conf to accept user configuration from defaults.dmix.<driver_id>.xx
          Revert "Fix driver conf parsing in snd_config_hook_load_for_all_cards()


Changelog between 1.0.20 and 1.0.21 releases
(http://www.alsa-project.org/main/index.php/Changes_v1.0.20_v1.0.21)
(Reformated as ASCII text)
********************************************

* alsa-lib
  +  Core
          Release v1.0.21
          add midi event test
  +  Config API
          fix doc error
          conf.c: more documentatio
  +  Control API
          control.c: snd_ctl_wait: fix revents handlin
          fix doc error
          Add the support of TLV_DB_MINMAX type
          Fix breakage of snd_card_load(
          snd_card_get_index() - extend comment for last chang          Extend snd_card_get_index() to accept also control device name like /dev/snd/controlC
  +  Mixer API
          remove unimplemented functions from header
  +  PCM API
          pcm/ioplug: fix error code in start callbac
          pcm: workaround for avoiding automatic start in mmap mod
          snd_pcm_scope_set_ops: make ops parameter cons
          Fix zero-division in pcm_rate.
          remove unimplemented functions from header
          pcm_hooks: cosmetic removal of unused variable
          Manage dlobj lifetime in pcm_hooks.
          pcm dmix plugin: fix MIX_AREAS_24 routine for i386 & x86_64 platform
          Query the supported rate ranges from rate plugin
  +  RawMidi API
          sound: rawmidi: disable active-sensing-on-close by defaul
  +  Sequencer API
          more midi_event documentatio
          seq_midi_event: fix decoding of (N)RPN event
          MIDI event decoder: prevent running status after syse
  +  Timer API
          timer_query: make ops structure constan
  +  Configuration
          Fix driver conf parsing in snd_config_hook_load_for_all_cards(
          conf.c: more documentatio
          conf.c: rename 'node' to 'config
          conf.c: rename 'leaf' to 'child
          conf.c: rename 'father' to 'parent
          conf.c: snd_config_add: prevent adopting a non-orpha
          USB-Audio.conf: fix definition for M-Audio AudioPhile spdif devic
          conf.c: fix handling of NULL string value
          conf.c: snd_config_set_id: prevent duplicate id
          conf.c: fix handling of NULL id
          Fix SB-Xfi.con
          Add IEC958 status bits support to SB-XFi.con
          Add config file for SB-XFi drive
  +  Documentation
          doc: hide structs with typedef
          doc: fix handling of @top_srcdir
  +  External PCM I/O Plugin SDK
          fix doc error
  +  External Rate Converter Plugin SDK
          Query the supported rate ranges from rate plugin
  +  I/O subsystem
          fix doc error
  +  Test/Example code
          add config test
          test/lsb/midi_event.c: check for buffer size chec
          test/lsb/midi_event.c: abort on fatal error
          test/pcm.c: float format suppor
          add midi event test
          test/pcm.c: Generic linear PCM suppor
          test/pcm.c: Fix S24 forma
          test/pcm.c: Sample generation on big endian platforms was broken

Changelog between 1.0.19 and 1.0.20 releases
(http://www.alsa-project.org/main/index.php/Changes_v1.0.19_v1.0.20)
(Reformated as ASCII text)
********************************************

* alsa-lib
  +  Core
    -Fix build with softfloat option
    -Release v1.0.20
  +  Control API
    -Change numid properly with external ctl plugins
  +  Mixer API
    -Fix build with softfloat option
  +  PCM API
    -Fix plug conversion with mmap emulation
    -PCM parameters in file plugin
    -Fix handling of revents in snd_pcm_poll_descriptors_revents()
    -Fix misc compile warnings
    -fix pcm_set_params() documentation
    -Change "%b" to represent bits instead of bytes in PCM file plugin
    -pcm_hw plugin: preserve monotonic flag also after snd_pcm_hw_params() call
    -pcm_hw plugin: show appl_ptr and hw_ptr in dump() callback
    -pcm: more better documentation for snd_pcm_poll_descriptors
  +  Sequencer API
    -Fix typos in ALSA Lib documentation
  +  Configuration
    -Fix GUS.conf to be usable
    -Remove own "default" PCM config from GUS.conf
    -Add hint.device = 0 to pcm.default of HDA-Intel.conf
    -oxygen: remove softvol plugin
    -Add route_policy copy to HDA-Intel.conf for capture
  +  Kernel Headers
    -Fix off_t in kernel struct
  +  Simple Abstraction Mixer Modules
    -Add missing -ldl to modules/mixer/simple/*

Changelog between 1.0.18 and 1.0.19 releases
(http://www.alsa-project.org/main/index.php/Changes_v1.0.18_v1.0.19)
(Reformated as ASCII text)
********************************************

* alsa-lib
  +  Core
    -Don't use AC_CANONICAL_SYSTEM, only use AC_CANONICAL_HOST.
    -Add the attributes.m4 macro file from xine/lscube.
    -Check for --no-undefined linker flag and use it.
    -Release v1.0.19
  +  Control API
    -Make seq, rawmidi and control operation structures static const.
    -Make all the remaining ops structure constants.
    -Make string arrays as constant as possible.
    -Mark static tables as constant when possible.
  +  HWDEP API
    -Make all the remaining ops structure constants.
  +  Mixer API
    -Fix volume/switch updates for global/simple mixer elements
    -Make string arrays as constant as possible.
    -Mark static tables as constant when possible.
  +  PCM API
    -Fix segfault with invalid meter plugin option
    -Make some static tables and strings constants.
    -Make snd_pcm_hw_params_names static to pcm_params.c .
    -Make all the PCM plugins ops structure constant.
    -Make string arrays as constant as possible.
    -Mark static tables as constant when possible.
    -Fix softvol access refine
  +  RawMidi API
-Make seq, rawmidi and control operation structures static const.
    -Mark static tables as constant when possible.
  +  Sequencer API
    -Make some static tables and strings constants.
    -Make seq, rawmidi and control operation structures static const.
  +  Timer API
    -Make all the remaining ops structure constants.
  +  /Makefile.am
    -Add the attributes.m4 macro file from xine/lscube.
    -Add m4/attributes.m4 as dist file..
  +  /src/Makefile.am
    -Check for --no-undefined linker flag and use it.
  +  ALSA Lisp
    -Mark static tables as constant when possible.
  +  ALSA Server
    -Make some static tables and strings constants.
  +  Async helpers
    -Make some static tables and strings constants.
  +  Configuration
    -Add linear plugin wrapping iec958 PCM for ice1724-based boards
    -Mark static tables as constant when possible.
    -Fix snd-pcsp default configuration
    -Don't accept an empty string for $ALSA_CONFIG_PATH
    -add softvol for CMI8788
  +  I/O subsystem
    -Make all the remaining ops structure constants.
  +  Simple Abstraction Mixer Modules
    -Check for --no-undefined linker flag and use it.
    -Make sure that python libraries are passed through LIBADD.

Changelog between 1.0.17 and 1.0.18 releases
(http://www.alsa-project.org/main/index.php/Changes_v1.0.17_v1.0.18)
(Reformated as ASCII text)
********************************************

* alsa-lib
  +  Core
    -IEC958 definition for consumer status channel update
    -Release v1.0.17a
    -Release v1.0.18rc3
    -Release v1.0.18
  +  Control API
    -Replace some assert() with runtime checks
    -Fix return value of snd_ctl_hw_subscribe_events()
    -Fix sort-out of non-existing devices in namehint
  +  Mixer API
    -alsa-lib: Don't call the simple mixer interface "legacy"
  +  PCM API
    -Add boolean (mute) functionality to softvol plugin
    -clamp snd_pcm_rewind()/snd_pcm_forward() into the right direction
    -fix type of internally used sframes variable, to avoid unnecessary casts
    -fix return value of snd_pcm_rewind()/snd_pcm_forward() to return how much actually has been rewound, instead of what actually could have
    -rewound
    -Fix interleave check in pcm_direct.c
    -Fix non-tread mode with PCM direct plugins
    -alsa-lib: Make sure SND_PCM_NO_xxx flags don't get lost when nonblocking mode is enabled
    -alsa-lib: Reword doxygen doc for snd_pcm_delay()
    -Add snd_pcm_avail() and snd_pcm_avail_delay() functions. Make snd_pcm_hwsync() deprecated.
    -pcm_softvol plugin: remove access type change for refine
    -Fix comment typos for snd_pcm_read[in]()
    -Add snd_pcm_avail() and snd_pcm_avail_delay() prototypes
  +  Configuration
    -Add iec958 PCM definition for PS3
  +  Kernel Headers
    -Increase the components array size
  +  Test/Example code
    -test/pcm: Fix error messages in async callback and add snd_pcm_start() condition

Changelog between 1.0.16 and 1.0.17 releases
(http://www.alsa-project.org/main/index.php/Changes_v1.0.16_v1.0.17)
(Reformated as ASCII text)
********************************************

* alsa-lib
  +  Core
    - Add atomic operation for super-H(sh3,4) architectures
    - Create doxgen.cfg dynamically
    - IEC958 definitions for consumer status channel, byte 4
    - removed .hg files and renamed hgcompile to gitcompile
    - Release v1.0.17rc1
    - PCM: allow mmap-access conversion in plug
    - Release v1.0.17rc2
    - Release v1.0.17
  +  Control API
    - Fix device number assignment in hints
    - Don't show non-existing devices in snd_device_name_hint()
    - Fix cast warning
  +  Mixer API
    - implemented integer volume <-> dB volume conversion functions for simple mixer
  +  Mixer Abstraction API
    - implemented integer volume <-> dB volume conversion functions for simple mixer
  +  PCM API
    - Fix conflict of obsoleted snd_pcm_hw_* definitions
    - Fix the state in snd_pcm_ioplug_pause()
    - Fix the build with old glibc
    - dmix skipping first set of samples
    - Add truncate option to PCM file plugin
    - Use slave PCM as a timing-source for file ifile
    - Add the support of WAV format in PCM file plugin
    - Use defaults.pcm.file_format for the default file format of file plugin
    - fix compilation in pcm/pcm_hw.c - monotonic clock
    - PCM API - explain more trigger timestamp
    - added snd_pcm_hw_params_is_monotonic/can_forward/can_rewind functions
    - implemented snd_pcm_rewindable() and snd_pcm_forwardable(), removed can_rewind and can_forward
    - Implemented snd_pcm_sw_params_(set|get)_period_event for interrupt wakeup like behaviour
    - Fix compile warnings in pcm_hw.c
    - pcm_mmap_emul: Fix invalid check
    - pcm_mmap_emul: clean up
    - Export __snd_pcm_mmap_emul_open()
    - PCM: allow mmap-access conversion in plug
    - Fix segfault with dmix of 3-bytes formats
    - pcm: fix comment for snd_pcm_avail_update()
  +  Sequencer API
    - Fix snd_seq_change_bit()
    - add snd_seq_unset_bit()
    - add snd_seq_client_info_event_filter_*() functions
    - use snd_seq_client_info_event_filter_*() functions
    - mark snd_seq_client_info_{get,set}_event_filter deprecated
  +  /Makefile.am
    - hgcompile -> gitcompile
  +  Configuration
    - Add surround71 definition to NFORCE.conf
    - Add PCM "hdmi"
    - Fix for alsa-lib cross-compilation problems with ALSA_CONFIG_DIR and ALSA_PLUGIN_DIR
    - Add truncate option to PCM file plugin
    - Use defaults.pcm.file_format for the default file format of file plugin
    - pcsp: remove downsampling
  +  Documentation
    - Create doxgen.cfg dynamically
  +  Kernel Headers
    - Add surround71 definition to NFORCE.conf
    - Implemented snd_pcm_sw_params_(set|get)_period_event for interrupt wakeup like behaviour
  +  Simple Abstraction Mixer Modules
    - Fix for alsa-lib cross-compilation problems with ALSA_CONFIG_DIR and ALSA_PLUGIN_DIR
    - implemented integer volume <-> dB volume conversion functions for simple mixer
  +  Test/Example code
    - add a test code for snd_seq_client_info_event_filter_*()
    - Implemented snd_pcm_sw_params_(set|get)_period_event for interrupt wakeup like behaviour
    - Fix type-punning in test/pcm.c
    - test/pcm.c: Fix SND_PCM_FORMAT_S24 support

   Changelog between 1.0.15 and 1.0.16 releases
   (http://www.alsa-project.org/main/index.php/Changes_v1.0.15_v1.0.16)
   (Reformated as ASCII text)
   ********************************************

   * alsa-lib
     +  Core
       - Make local functions really local
       - Clean up Versions file
       - Fix wrong exported functions
       - Remove obsolete instr check in configure
       - Remove assert from header files
       - Remove sequencer instrument layer
       - Re-add assert.h to asoundlib.h
       - Add support for monotonic timestamps
       - Fix exported symbols for hooks and functions
       - Change assert condition in error message handler
       - Export dB conversion helper functions
     +  Control API
       - Make local functions really local
       - Fix build with --disable-hwdep and co
       - fix error code when controlC0 device has no enough permissions
       - Remove assert from header files
       - Remove indirect control access
       - Export dB conversion helper functions
     +  HWDEP API
       - Remove assert from header files
     +  Instrument API
       - Remove assert from header files
       - Remove sequencer instrument layer
       - Remove obsolete instr directory
     +  Mixer API
       - Make local functions really local
       - simple mixer: fix calculation of control range
       - Remove assert from header files
       - Export dB conversion helper functions
     +  PCM API
       - revert revision 2264:23c4c0f5de40
       - Add snd_pcm_ioplug_set_state() function
       - Add deprecated attribute to obsolete functions
       - SND_PCM_TSTAMP_MMAP -> SND_PCM_TSTAMP_ENABLE change
       - Added possibility to disable also channel and format conversions + softvol.
       - dmix - Enable auto format detection as default
       - Fix a memory leak in PCM hook plugin
       - Fix wrong return values in direct plugins
       - Fix mmap with multi plugin
       - Make local functions really local
       - dmix: rename mix_areas*
       - dmix: simplify mix_areas()
       - dmix: add U8 support
       - Added SNDRV_PCM_IOCTL_TTSTAMP and updated PCM API version to 2.0.9
       - pcm plug plugin: remove duplicated expression
       - pcm hw plugin: fix TTSTAMP version check
       - pcm hw plugin: use TSTAMP only with old drivers
       - check availability of CLOCK_MONOTONIC
       - pcm dmix plugin: fix generic direct remixing
       - Add SND_PCM_TSTAMP_MMAP back
       - Add missing remix_areas_* for x86-64
       - ioplug - Fix the refinement of period_* after periods
       - Remove ugly hack in rate plugin poll_descriptors callback
       - Set PCM name properly in empty and asym plugins
       - Fix segfault with strdup(NULL) in softvol
       - Implemented snd_pcm_rewind() for the dmix plugin
       - snd_pcm_dmix_close: raise semaphore if unable to discard
       - Fix gcc compile warnings
       - Remove assert from header files
       - Remove PCM xfer_align
       - Remove sleep_min and tick
       - Allow pcm slave string references for direct plugins (bug#2893).
       - Implement missing htimestamp callbacks
       - pcm - Limit the avail_min minimum size
       - Fix function declarations with old PCM API
       - Add support for monotonic timestamps
       - Impemented snd_pcm_htimestamp() function.
       - Avoid (null) in printf
       - Don't use deprecated functions inside
       - Allow auto-config for dsnoop and dshare plugins
       - Fix timestamp in status in PCM direct plugins
       - Clean up using gettimestamp()
       - softvol - add missing name
     +  Rawmidi API
       - Remove assert from header files
     +  Sequencer API
       - Remove sequencer instrument layer
     +  /include/Makefile.am
       - Remove sequencer instrument layer
     +  Configuration
       - Add the missing card alias for Prodigy71Hifi
       - dmix - Enable auto format detection as default
       - oxygen: remove softvol plugin
       - fix memory leak in snd_config_update_r error path
       - alsa.conf: cosmetic change
       - oxygen: enhance configuration
       - fix error path in snd_config_hook_load_for_all_cards()
       - conf: show path of any missing configuration file
     +  Documentation
       - Remove sequencer instrument layer
       - Remove obsolete instr directory
       - Change assert condition in error message handler
     +  Error handler
       - Change assert condition in error message handler
     +  External PCM I/O Plugin SDK
       - Add snd_pcm_ioplug_set_state() function
       - Add support for monotonic timestamps
     +  Kernel Headers
       - SND_PCM_TSTAMP_MMAP -> SND_PCM_TSTAMP_ENABLE change
       - Added SNDRV_PCM_IOCTL_TTSTAMP and updated PCM API version to 2.0.9
       - Remove indirect control access
       - Update asound_fm.h for patch loading over hwdep
     +  Simple Abstraction Mixer Modules
       - fix write in simple mixer API - python backends
     +  Test/Example code
       - Remove obsolete seq event entries in seq-decoder
       - midiloop: use blocking mode
       - Remove PCM xfer_align
       - Remove sleep_min and tick

   Changelog between 1.0.14 and 1.0.15 releases
   (http://www.alsa-project.org/main/index.php/Changes_v1.0.14_v1.0.15)
   (Reformated as ASCII text)
   ********************************************

   * alsa-lib
     + Core
       - improved python detection and added --with-pythonincdir for
       - configure.in
       - Allow empty pythonincdir option
       - Fix plugin directory
       - Properly disable -Bsymbolic-functions if ld doesn't support
       - release 1.0.14a
       - Fix the build of lfloat plugin
       - release 1.0.14
       - Fix undefined references in namehint.c
       - Create asoundlib.h dynamically according to configure options
       - Fix a typo in configure script
       - Continue build even if python-config doesn't exist
       - mixer simple basic abstraction - added python binding
       - Split mmap-emulation code from hw layer
       - changed python-incdir to python-includes for configure.in
     + Control API
       - Fix undefined references in namehint.c
     + Mixer API
       - Handle "Input Source" as a capture element
       - mixer simple basic abstraction - added python binding
     + PCM API
       - remove unused variables
       - Don't set PCM pointer at error in snd_pcm_hw_open()
       - fix mmap emulation bug of recording doesn't work
       - Fix wrong offset calculation in snd_pcm_{read|write}_mmap()
       - Add support of little-endian on i386/x86_64 dmix
       - Split mmap-emulation code from hw layer
     + /include/Makefile.am
       - Create asoundlib.h dynamically according to configure options
       - Fix clean-up of header files
     + Configuration
       - Fix subdevice number to 0 for dmix/dsnoop
       - Added PS3 configuration
       - Use S16_BE as dmix format for PPC drivers
       - Fix use after free
       - cmi8788: add alsa-lib config
       - Add missing CMI8788.conf to Makefile.am
       - mixer simple basic abstraction - added python binding
       - PC-Speaker config update
     + Documentation
       - Add missing pcm_empty.c in doxygen configuration
       - Add the missing include/mixer.h to doxygen.cfg
       - Split mmap-emulation code from hw layer
     + Simple Abstraction Mixer Modules
       - improved python detection and added --with-pythonincdir for
       - configure.in
       - Fix a typo
       - alsa simple mixer - python basic abstraction - simplified using
       - get/setArray
       - mixer simple basic abstraction - added python binding
       - changed python-incdir to python-includes for configure.in

   Changelog between 1.0.14 and 1.0.14a releases
   (http://www.alsa-project.org/changes/v1-0-14--v1-0-14a.txt)
   *********************************************

   * alsa-lib
     + Core
       - Fix plugin directory
       - Properly disable -Bsymbolic-functions if ld doesn't support
       - release 1.0.14a
       - release 1.0.14

   Changelog between 1.0.14rc4 and 1.0.14 releases
   (http://www.alsa-project.org/changes/v1-0-14rc4--v1-0-14.txt)
   ********************************************

   * alsa-lib
     + Core
       - Add config and plugin directory options to configure
     + PCM API
       - Add support for gain in softvol plugin
       - dmix/dshare/dsnoop plugin: enable slowptr by default
       - Revert the wrong change in src/pcm/Makefile.am
     + ALSA Lisp
       - Add config and plugin directory options to configure
     + Configuration
       - Add support for gain in softvol plugin
       - Add config and plugin directory options to configure
       - Specify subdevice number for Maestor3 dmix setting
     + Simple Abstraction Mixer Modules
       - Add config and plugin directory options to configure

   Changelog between 1.0.14rc3 and 1.0.14rc4 releases
   (http://www.alsa-project.org/changes/v1-0-14rc3--v1-0-14rc4.txt)
   ********************************************

   * alsa-lib
     + Core
       - Check _POSIX_SOURCE for timeval definition
       - Fix build with no PCM plugin
       - release 1.0.14rc3
       - Allow build without libdl and libpthread
       - Add --enable-symbolic-functions configure option
       - Add --with-ctl-plugins configure option
       - Use AS_HELP_STRING in configure.in
     + Control API
       - release 1.0.14rc3
       - Add --with-ctl-plugins configure option
       - Add missing control_ext entry
     + PCM API
       - Improve the sample conversion in plug layer
       - fix a signedness warning
       - String array for default rate plugin list
       - Trivial fix of compile warning
       - Fix start/stop of multi plugin
       - More better fix for linked start/stop
       - Remove _snd_pcm_link_descriptors() and more comments
       - Define an array of default rate plugins
       - Fixed an access to uninitialized variable in pcm_rate.c
     + PCM Plugin API
       - String array for default rate plugin list
     + /Makefile.am
       - Allow build without libdl and libpthread
     + /src/Makefile.am
       - Allow build without libdl and libpthread
       - Add --enable-symbolic-functions configure option
     + Async helpers
       - Allow build without libdl and libpthread
     + Configuration
       - Add missing smixer.conf for installation
       - Allow build without libdl and libpthread

   Changelog between 1.0.14rc2 and 1.0.14rc3 releases
   (http://www.alsa-project.org/changes/v1-0-14rc2--v1-0-14rc3.txt)
   ********************************************

   * alsa-lib
     + Core
       - add support for symbol prefixes in shared libraries
     + Mixer API
       - fix SNDERR() format strings/arguments
     + PCM API
       - fix SNDERR() format strings/arguments
     + /src/Makefile.am
       - add support for symbol prefixes in shared libraries
     + Configuration
       - add card_name configuration function
       - remove superfluous strdup() calls
       - fix SNDERR() format strings/arguments
       - enable dmix-ing and proper 5.1 routing for USB audio devices
       - add USB-Audio.conf to Makefile.am
     + Kernel Headers
       - Update emu10k1.h for new version

   Changelog between 1.0.14rc1 and 1.0.14rc2 releases
   (http://www.alsa-project.org/changes/v1-0-14rc1--v1-0-14rc2.txt)
   ********************************************

   * alsa-lib
     + Control API
       - remove snd_ctl_iface_conf_name() prototype, namehint doxygen cleanups
     + PCM API
       - Fix compile warning with internal function
       - pcm_ladspa - fix none policy
     + Timer API
       - initialize dl handles where it needs to
       - Fix error code in timer_query.c

   Changelog between 1.0.13 and 1.0.14rc1 releases
   (http://www.alsa-project.org/changes/v1-0-13--v1-0-14rc1.txt)
   ********************************************

   * alsa-lib
     + Core
       - Add struct timeval and timespec definition when _POSIX_C_SOURCE is not defined
       - fix various warnings
       - change iface argument for namehint function to const char *
       - release 1.0.13
       - add snd_device_name_get_hint() function, make hints private to alsa-lib (void)
       - more name hint interace updates
       - allow building out of tree (sort of)
       - add snd_device_name_hint() function and initial implementation
     + Control API
       - fix various warnings
       - revert back one diff from changeset 2219 (fix various warnings)
       - change iface argument for namehint function to const char *
       - Fix build of static library
       - namehint changes: longname -> cardname, use get_card_name instead longname
       - fix string list parameter in snd_device_name_(free_)hint prototypes
       - Fix device name listing with card = -1
       - add snd_device_name_get_hint() function, make hints private to alsa-lib (void)
       - more name hint interace updates
       - pcm config files cleanups and name hint extension
       - add snd_device_name_get_hint() prototype to include/control.h
       - add snd_device_name_hint() function and initial implementation
       - fix two issues in snd_device_name_hint()
     + Device Name API
       - Remove snd_name_list() and snd_name_list_free() functions.
     + HWDEP API
       - Fix build of static library
     + Mixer API
       - Implements support for capture/playback enums.
       - simple mixer - fix error recovery path for volume / switch write
       - add snd_device_name_hint() function and initial implementation
     + PCM API
       - fix various warnings
       - added pcm_empty plugin and .hgignore additions
       - Fix build of static library
       - direct pcm plugins: fix channel number selection
       - direct pcm plugins: fix format selection
       - pcm: fix ipc offset calculation for direct plugins
       - more name hint interace updates
       - pcm direct plugins - fix memory leak (sconf must be deleted)
       - Fix snd_pcm_open_noupdate() to refer alias
       - add snd_device_name_hint() function and initial implementation
     + RawMidi API
       - rawmidi: do not abort when seeing the hint node
       - Fix build of static library
     + Sequencer API
       - change iface argument for namehint function to const char *
       - Fix build of static library
     + Timer API
       - Fix build of static library
     + /src/Makefile.am
       - Compatibility problem with automake 1.10 fixed.
     + Configuration
       - Fix CS46xx.conf default capture
       - Revert dmix.conf and dsnoop.conf
       - fix a typo
       - more name hint interace updates
       - pcm config files cleanups and name hint extension
       - Use dmix/dsnoop for maestro3 boards
       - add snd_device_name_hint() function and initial implementation
       - add card number to ipc key for dmix / dsnoop PCM definitions
     + Documentation
       - add snd_device_name_hint() function and initial implementation
     + Test/Example code
       - change iface argument for namehint function to const char *
       - alsa-lib: test dir: make check: static building doesn't work on PIC architectures
     + Utils
       - alsa.pc's Libs shouldn't contain -lm -ldl -lpthread


   Changelog between 1.0.12 and 1.0.13 releases
   (http://www.alsa-project.org/changes/v1-0-12--v1-0-13.txt)
   ********************************************

   * alsa-lib
     + Core
       - configure.in - fix "checking for versioned symbols" error in ./configure
       - add support for hosts that have custom symbol prefixes
       - make sure commands in cvs/hg compile scripts worked
       - Add --disable-alisp configure option
     + Control API
       - Fix bogus value when no user TLV is defined
       - Add dB range information to PCM softvol plugin
       - Add handling of linear volume in simple mixer
       - Check control API protocol version for TLV control
       - configuration: avoid endless loop when a key refers to itself
       - Add support of dB range compound TLV
     + Device Name API
       - remove unneeded headers from src/names.c
     + Mixer API
       - Add dB_range ops for simple mixer
       - Add set_dB ops to simple mixer
       - Add handling of linear volume in simple mixer
       - Fix wrong scales in linear volume calculation
       - Fix segfault when invalid TLV is passed
       - Add support of dB range compound TLV
     + PCM API
       - Add dB range information to PCM softvol plugin
       - fix parsing of non-decimal integers in configuration files
       - rate plugin: fix boundary calculations
     + Timer API
       - timer_hw: fix file descriptor leak
     + /Makefile.am
       - Add --disable-alisp configure option
     + /src/Makefile.am
       - Fix a typo
       - Add --disable-alisp configure option
     + ALSA Lisp
       - remove unneeded headers from alsa-lib/src/alisp/alisp.c
     + Configuration
       - fix parsing of non-decimal integers in configuration files
       - configuration: avoid endless loop when a key refers to itself
       - configuration: added one more alias check to detect a circular configuration
       - Add --disable-alisp configure option

   Changelog between 1.0.11 and 1.0.12 releases
   (http://www.alsa-project.org/changes/v1-0-11--v1-0-12.txt)
   ********************************************

   * alsa-lib
     + Core
       - Fix default install libpath and datapath.
       - Add hgcompile script and fix INSTALL document
       - Fix default paths.
       - Control API - add TLV support
     + Control API
       - Move dB parser to mixer abstraction
       - Make snd_hctl_wait() respect the API
       - Implement support for dB gain display in alsamixer.
       - mixer - cleanups for dB scale parsing
       - Fix examples for PCM API. Fix dogygen warnings.
       - Control API - add TLV support
     + HWDEP API
       - Add missing snd_dlclose() in snd_hwdep_close()
     + Instrument API
       - Remove dependencies with kernel headers from instrument layer codes
     + Mixer API
       - Move dB parser to mixer abstraction
       - Implement support for dB gain display in alsamixer.
       - mixer - cleanups for dB scale parsing
       - Fix dB ops for global volume
       - Fix segfault when invalid TLV is passed
     + PCM API
       - Use O_APPEND mode with dmix & co plugins
       - Initialize all fields of slave PCM instance of direct plugins
       - Fix division-by-zero in snd_pcm_dump_hw_setup()
       - Fix a typo in pcm_file.c
       - Correction for fixing alsa-lib static build
       - Addition of "infile" parameter (virtual mic) to the file plugin
       - Allow ioplugins to override snd_pcm_delay()
       - Fix build issue on earler x86_64 based distributions
       - Fix delayed start with rate plugin
       - Fix the error path of snd_pcm_hook_add_conf()
       - Add missing snd_dlclose() in pcm_meter.c
       - Fix segfault with dshare plugin
       - Fix examples for PCM API. Fix dogygen warnings.
       - Fix bogus pause flag on dmix
       - Fix segfault with bindings parameters of dmix/dshare
       - Add check of binding ranges in direct plugins
       - Fix hwptr update in rate plugin
     + Sequencer API
       - Fix missing snd_dlclose() in sequencer
       - clarify SND_SEQ_PORT_TYPE_xxx documentation
     + Timer API
       - Fix missing snd_dlclose() in timer handlers
     + /Makefile.am
       - Add hgcompile script and fix INSTALL document
     + Configuration
       - Add default dmix rate and format definitions in alsa.conf
       - Turn on iec958 capture of iec1724 boards with spdif PCM
       - Add config for new snd-aoa driver
       - Fixed driver alias of Aureon 7.1 Universe
       - Fix surround40 config for ens1370
       - Fix device number of ICH4 iec958 controls
       - Fix the description of return value of snd_config_search_definition()
     + Documentation
       - Add hgcompile script and fix INSTALL document
       - Fix examples for PCM API. Fix dogygen warnings.
     + External PCM I/O Plugin SDK
       - Allow ioplugins to override snd_pcm_delay()
     + Kernel Headers
       - Remove dependencies with kernel headers from instrument layer codes
       - Control API - add TLV support
       - Remove enum from kernel API

   Changelog between 1.0.10 and 1.0.11 releases
   (http://www.alsa-project.org/changes/v1-0-10--v1-0-11.txt)
   ********************************************

   * alsa-lib
     + Core
       - implementation of pcm simple helper function
       - Skip resmgr when EAGAIN or EBUSY
       - Portability fix for alsa-lib on mips
       - Avoid unnecesasry call of resmgr
       - allow changing of device directory path
       - Fix infinite parse of recursive definitions
       - Fix permission of cvscompile
       - Changed permissions for scripts and added .hgignore file
       - Check wordexp.h for ulibc
       - Allow partial build with selected components
     + Control API
       - Fix compile warnings
       - remove superfluous free() checks
       - allow changing of device directory path
       - Fix memory leaks
     + HWDEP API
       - Do not abort in snd_xxx_close() functions
       - remove superfluous free() checks
       - allow changing of device directory path
     + Instrument API
       - remove superfluous free() checks
     + Mixer API
       - Fix the handling of stereo capture source
       - Fix compile warnings
       - remove superfluous free() checks
       - Fix the description of snd_mixer_handle_events()
     + PCM API
       - Fix compile warnings
       - Fix check of nonblock option
       - Fix fullduplex with dmix/dsnoop
       - Fix plug conversion of non-linear formats
       - implementation of pcm simple helper function
       - Add "nonblock" option for hw layer
       - pcm_ladspa - setup control outputs all times
       - return ENODEV for disconnected devices
       - Fix double free in rate plugin
       - Add restriction parameters to pcm hw layer
       - Fix snd_pcm_write*() return values at start up
       - Fix PCM auto-start conditions
       - Fix noisy output of dmix with two periods
       - Fix compilation with assert()
       - pcm_ladspa plugin - more verbose output
       - dmix: add S24_3LE support
       - dmix: fix interleaved check
       - Remove bogus ATTRIBUTE_UNUSED
       - Fix infinite loop in snd_pcm_wait()
       - Do not abort in snd_xxx_close() functions
       - allow changing of device directory path
       - pcm - fix the buffer allocation for NONINTERLEAVED mmap access
       - Fix S24_BE format conversions
       - Support multi-card/device for direct plugins
       - pcm laspa plugin - Added credits to MediaNet AG
       - Fix infinite parse of recursive definitions
       - rate plugin: optimize calculation of the continuous buffer part
       - rate plugin: fix fragment size calculation
       - rate plugin: wait for data to be drained
       - Fix restoration of PCM open mode
       - Add init callback to extplug
       - Fixes S16 byte swapping with generic dmix code
       - abort snd_pcm_dmix_drain when state is SND_PCM_STATE_XRU
       - Abort from snd_pcm_dshare_drain in XRUN state
       - direct plugins - fixed ipc_gid initialization when gid specified as number
       - pcm dump() routines update: use spaces to indent texts
       - fix compilation with gcc 2
       - Fix buffer size handling of direct plugins
       - Fix 32/64bit problem with multi plugin
       - Finer sync of dmix in delay callback
       - Allow negative coefficients in route plugin
       - Fix meter plugin
       - LADSPA plugin: fix compilation
       - Fix segfault with PCM rate plugin
       - Fix generation of IEC958 subframes
       - Fix compile error
       - big ALSA LADSPA plugin rewrite for multiple channel LADSPA plugins
       - ladspa plugin - SIGSEGV fix when label is not specified
       - Fix compile warnings
       - snd_pcm_set_params() - added workaround for vortex driver
       - dmix - Allow more flexible buffer sizes
       - Fix extplug->channels initialization
       - Fix timer read from 32bit user-space on 64bit kernel
       - Add support for S32_3LE and byte-swapped S16/S32 to softvol
       - Use snd_user_file() in pcm_ladpsa.c
       - Revert the last fix: finer sync of dmix in delay callback
       - Fixed snd_pcm_set_params() error code
       - alsa-lib - added pcm_errors section
       - alsa-lib - added ENOTTY and ENODEV to pcm_errors section
       - Fix compile warnings
       - Fix PCM without control/status mmap
       - Fix errors in partial reads/writes with rate plugin
       - Make plugin functions static
       - Fix segfault of iec958 plugin with preamble
       - Move snd_is_local() to socket.c
       - Allow partial build with selected components
       - Minor optimization on mmap
     + PCM Plugin API
       - Create rate converter plugin SDK
       - Fix declaration of snd_pcm_ladspa_open()
     + RawMidi API
       - Do not abort in snd_xxx_close() functions
       - allow changing of device directory path
       - Fix infinite parse of recursive definitions
       - alsa-lib virtual rawmidi device: fixed typo (NONBLOCK mode)
     + Sequencer API
       - Fix compile warnings
       - Do not abort in snd_xxx_close() functions
       - fix a typo
       - allow changing of device directory path
       - Fix infinite parse of recursive definitions
       - remove SND_SEQ_CLIENT_{DUMMY,OSS} symbols
     + Timer API
       - Do not abort in snd_xxx_close() functions
       - allow changing of device directory path
       - Suppress warning messages from old timer
     + /Makefile.am
       - Allow partial build with selected components
     + /alsalisp/Makefile.am
       - Don't install alsalisp
     + /include/Makefile.am
       - Create rate converter plugin SDK
     + /modules/Makefile.am
       - Allow partial build with selected components
     + /src/Makefile.am
       - Allow partial build with selected components
     + ALSA Lisp
       - remove superfluous free() checks
     + Configuration
       - Fix a missing line in PMacToonie.conf
       - snd-ca0106: update mixer controls names from SPDIF to IEC958
       - Fix check of nonblock option
       - Add "nonblock" option for hw layer
       - Add missing alias entries
       - Fix configuration for Aureon and Prodigy71 boards
       - remove duplicate parameter
       - Remove bad assert
       - Add channels parameter to surround40/51 definitions
       - Fix free of uninitialized pointer
       - remove superfluous free() checks
       - Support multi-card/device for direct plugins
       - Fix infinite parse of recursive definitions
       - Remove superfluous wordexp.h inclusion
       - Fix buffer size handling of direct plugins
       - Add PCM definitions dpl and dpl2
       - snd-ca0106 Fixed SPDIF output.
       - dmix - Allow more flexible buffer sizes
       - Make dmix/dsnoop as default PCM for ICE1724
       - Make dmix/dsnoop as default for ICE1712
     + Documentation
       - Add description about non-blocking behavior
       - Add description for new configure options
     + External PCM Filter Plugin SDK
       - Add init callback to extplug
     + External Rate Converter Plugin SDK
       - Create rate converter plugin SDK
     + Filename helpers
       - Fixed compilation when HAVE_WORDEXP_H is not defined
       - snd_user_file - keep doxygen happy
       - Add a workaround for systems without wordexp
     + Simple Abstraction Mixer Modules
       - Fix compile warnings
     + Socket helpers
       - Move snd_is_local() to socket.c
     + Test/Example code
       - Added pcm_min test & example - minimalistic pcm output
       - pcm_min - blocking mode is default - remove extra snd_pcm_nonblock() call
       - Fix compile errors/warnings
       - pcm_min.c example - corrected comment
       - Remove code from check_PROGRAMS
     + Utils
       - Changed permissions for scripts and added .hgignore file

   Changelog between 1.0.10rc3 and 1.0.10 releases
   (http://www.alsa-project.org/changes/v1-0-10rc3--v1-0-10.txt)
   **************************************************

   * alsa-lib
     + Core
       - release 1.0.10
     + Control API
       - control - fixed crash when dynamic library is not present
     + PCM API
       - pcm_ladspa - fix locale issues


   Changelog between 1.0.10rc2 and 1.0.10rc3 releases
   (http://www.alsa-project.org/changes/v1-0-10rc2--v1-0-10rc3.txt)
   **************************************************

   * alsa-lib
     + Core
       - release 1.0.10rc3
     + Mixer API
       - fix doxygen warnings
     + PCM API
       - file plugin: fix various bugs
       - Fix channel_info callback of plugins
       - direct pcm plugins - fixed dump output name for dshare and dsnoop
     + Configuration
       - fix doxygen warnings
   * alsa-utils
     + Core
       - release 1.0.10rc3
     + Speaker Test
       - Fix compile with --disable-nls
     + aconnect
       - Fix compile with --disable-nls
     + aplay/arecord
       - Fix VU meter for S24_3 and big-endian
       - Use strtol() instead of atoi()
       - Fix compile with --disable-nls
     + aseqnet
       - Fix compile with --disable-nls


   Changelog between 1.0.10rc1 and 1.0.10rc2 releases
   (http://alsa-project.org/changes/v1-0-10rc1--v1-0-10rc2.txt)
   ***********************************************

   * alsa-lib
     + Core
       - moved simple mixer abstraction modules to modules/mixer/simple directory
       - mixer API - extend simple enumerated controls for direction tests
       - Fix type-punning
       - release 1.0.10rc2
     + Mixer API
       - mixer API - extend simple enumerated controls for direction tests
     + Mixer Abstraction API
       - moved simple mixer abstraction modules to modules/mixer/simple directory
       - mixer API - extend simple enumerated controls for direction tests
     + PCM API
       - PCM API - handle EINTR from poll() in snd_pcm_wait() function
       - Fix call of semctl IPC_RMID
       - Workaround for crash with knotify
       - Fix buffer allocation and mmap with plugins
       - Fix compile warnings
       - direct plugins - change group according ipc_gid for the socket file
       - fix segfault then hooks list is empty
       - Don't return error if chown() fails
       - Removed unused function
       - Fix endianess with dmix plugin
       - pcm - Add SOFTVOL pcm type
       - PCM add missing pcm types - DSNOOP, IEC958, IOPLUG, EXTPLUG
       - fixed typo in comment
       - Fix type-punning
       - Fix mmap and channel_info of hook plugin
     + Sequencer API
       - Fix type-punning
     + /Makefile.am
       - moved simple mixer abstraction modules to modules/mixer/simple directory
     + /include/Makefile.am
       - Allow separate build and source trees
     + /modules/Makefile.am
       - moved simple mixer abstraction modules to modules/mixer/simple directory
     + /src/Makefile.am
       - Allow separate build and source trees
     + Configuration
       - Fix configuration for ICE1724
       - dmix and dsnoop configuration - added ipc_perm 0660 (to handle all users
   with audio group)
       - modem's pcm "two device" config
       - Add modem pcm definition for hda-intel driver
       - emu10k1: Front channels via fxbus 8 and 9
       - Use S16_LE as default for dmix
       - Fix endianess of PMac driver
       -  New @func - pcm_args_by_class
       - use dmix/dsnoop for default PCM on ca0106
     + Kernel Headers
       - Fix type-punning
     + Simple Abstraction Mixer Modules
       - Allow separate build and source trees
     + Test/Example code
       - pcm.c test / example - Added EINTR handling
       - test/pcm.c - remove -EINTR handling (a job for alsa-lib)


   Changelog between 1.0.9 and 1.0.10rc1 releases
   (http://alsa-project.org/changes/v1-0-9b--v1-0-10rc1.txt)
   **********************************************

   * alsa-lib
     + Core
       - Remove obsolete ordinary_* entries from configure.in
       - big simple mixer update
       - Added snd_mixer_selem_compare
       - initial & empty smixer-ac97.so module (only the build framework)
       - Add external control plugin SDK
       - more simple mixer - basic abstraction - work
       - The simple mixer abstraction - more work
       - release 1.0.10rc1
     + Config API
       - name clash (WINE, icc), interface -> iface renamed
     + Control API
       - Add external shared object support
       - Add external control plugin SDK
       - Fix _snd_ctl_hw_open() mode argument
       - Add detailed documentation for external control plugin SDK
       - Fix the return value of snd_card_load()
       - Fix compile warnings with gcc-4
     + Device Name API
       - name clash (WINE, icc) interface -> iface rename
       - Implemented the top-level redirector code for simple mixer
     + HWDEP API
       - Fix compile warnings with gcc-4
     + Instrument API
       - Fix compile warnings with gcc-4
     + Mixer API
       - a bit reordered code to fix bug #838
       - big simple mixer update
       - mixer - fix typo and memory leak
       - Implemented the top-level redirector code for simple mixer
       - initial & empty smixer-ac97.so module (only the build framework)
       - more simple mixer - basic abstraction - work
       - fix compilation with C++
       - fix file name for Doxygen
       - Fixed #include statements
       - Fix bug when a sound card had a stereo mute element and would
         fail to unmute the right channel.
       - The simple mixer abstraction - more work
       - Add -avoid-version for smixer plugins
       - simple mixer: fix compilation with gcc 2.x
       - Add missing header files
     + Mixer Abstraction API
       - big simple mixer update
       - more simple mixer - basic abstraction - work
       - Add function declaration
     + Mixer Ordinary API
       - removed ordinary stuff
     + PCM API
       - added ipc_gid for direct plugins
       - Fix bugs in the last change of ipc_gid option
       - Change .so module name and installation patch (/usr/lib/alsa-lib/scopes)
       - pcm_multi: Increased maximum slave channels to 64
       - Fix boundary overlap
       - Remove the check of start_threshold in sw_params
       - Fix direct plugins running on 32bit emulation with 64bit arch
       - direct plugins (dmix) - suspend/resume fixes
       - direct plugins - added graceful shutdown for the resource server
       - Misc fixes
       - PCM direct plugins - handle EINTR in the resource server
     + PCM Ordinary API
       - removed ordinary stuff
     + Timer API
       - timer_hw - Changed TIMER_VERSION_MAX to 2.0.5
       - direct plugins (dmix) - suspend/resume fixes
     + /include/Makefile.am
       - Remove obsolete *_ordinary.h files
       - big simple mixer update
       - Add external control plugin SDK
       - Fix compilation on a system with old alsa-lib headers
     + /src/Makefile.am
       - removed ordinary stuff
       - Remove obsolete ordinary_* entries
     + Configuration
       - use ipc_gid for dmix and dsnoop
       - fix warnings (bug #829)
       - big simple mixer update
       - initial & empty smixer-ac97.so module (only the build framework)
       - fix typo
       - Fix compile warnings with gcc-4
       - The simple mixer abstraction - more work
       - adjust control references in config files
       - adjust control references in config files
       - use PCM interface for IEC958 controls
       - Fix surroundX PCM
       - Clean up string parser
       - Fix invalid read in setlocale()
     + Documentation
       - Added ipc_gid
       - Corrected ipc_gid
       - Add description for perm option of file plugin
       - initial & empty smixer-ac97.so module (only the build framework)
       - Add detailed documentation for external control plugin SDK
     + Dynamic Loader helpers
       - Fix compile warning
     + External Control Plugin SDK
       - Add external control plugin SDK
       - Add detailed documentation for external control plugin SDK
     + I/O subsystem
       - Fix compile warnings with gcc-4
     + Kernel Headers
       - sync with alsa-kernel - timer SUSPEND / RESUME events
       - direct plugins (dmix) - suspend/resume fixes
     + Test/Example code
       - added support for more sample widths

   Changelog between 1.0.8 and 1.0.9 releases
   (http://www.alsa-project.org/changes/v1-0-8--v1-0-9.txt)
   *******************************************

   * alsa-lib
     + Core
       - fix some file paths in comments
       - Add resmgr support
       - Fix resmgr support
       - Add --disable-aload configure option
       - Fix a typo
       - Support dl-object cache
       - move the Jack plugin to alsa-plugins
       - release: 1.0.9rc1
       - Fix a typo
       - release: 1.0.9rc2
       - Added snd_pcm_hw_params_set_rate_resample function
       - release: 1.0.9rc3
       - - Fedora 4 patch - fix for alpha arch
       - API for device name lists and timer enhancements
       - added full async interface to timer API
       - Add snd_pcm_hw_params_get/set_export_buffer()
       - release: 1.0.9rc4
       - release: 1.0.9
     + Config API
       - fix some file paths in comments
       - API for device name lists and timer enhancements
       - Fix doxygen documents
     + Control API
       - fix some file paths in comments
       - Add resmgr support
       - Fix resmgr support
       - Add --disable-aload configure option
       - Fix invalid free
       - Fedora 4 patch - gcc4 fixes
       - Fix doxygen documents
     + Device Name API
       - API for device name lists and timer enhancements
     + HWDEP API
       - fix some file paths in comments
       - Add resmgr support
       - Fix resmgr support
       - usb-audio - add Extigy/Audigy 2 NX remote control support
       - Fedora 4 patch - gcc4 fixes
     + I/O API
       - fix some file paths in comments
     + Instrument API
       - fix some file paths in comments
     + Mixer API
       - Fix memory leak
       - fix some file paths in comments
       - stack protection (CAN-2005-0087)
       - Use bag_for_each_safe() for event handling loop
       - Add Side controls in the weight list
       - Fix snd_mixer_sort()
     + PCM API
       - Use snd_config_get_bool()
       - Fix a typo
       - Fixed compile warning
       - Fix compile warning
       - improved stream linking and plugin code cleanups
       - Add pcm_generic.h
       - The stream linking problem for pcm_multi.c should be fixed now
       - Use snd_config_get_bool()
       - Fix the available formats
       - Add resmgr support
       - start pcm when draining in prepared state
       - Split arch-dependent codes of dmix
       - Fix hw_params of lfloat plugin
       - Add external PCM plugin SDK (draft version)
       - Fix compile warnings
       - Fix resmgr support
       - Add filter-type external plugin SDK
       - Code clean-up
       - Accept string type card
       - Remove JACK plugin
       - Initialize structs for ioctls
       - fix the file plugin
       - Add snd_pcm_parse_control_id()
       - Small code clean up
       - Fix resume of dmix, dsnoop and dshare plugins
       - Fix compilation with gcc-4.0
       - Fix noises in rate exapnsion
       - Fix noises on exapnd
       - Delayed start for dmix
       - Do hwsync of slave PCM on dmix
       - Generic architecture support
       - Check PCM format aliases
       - Stop timer at XRUN
       - Fix segfault with downsampling
       - Fix channel_info callbacks of hooks, file and plug plugins
       - More fixes for 100% CPU hang with dmix
       - Compile warning fixes
       - Fix compile warning
       - Fix more CPU hang-up bugs in dmix
       - Added snd_pcm_hw_params_set_rate_resample function
       - Move old PCM API to pcm_old.h
       - Add verbose hw_params debugging
       - Suppress verbose debug messages
       - Check timer protocol number for direct plugins
       - Fix timer read in non-TREAD mode
       - Fix segfault
       - Read $LIBASOUND_DEBUG as integer
       - Fix ATTRIBUTE_UNUSED
       - Show verbose errors for invalid sw_params
       - Fix CPU hog with combination of rate plugin
       - Fedora 4 patch - gcc4 fixes
       - remove broken *_step initialization (caused by previous Fedora 4 patch)
       - Fix possible problems of playback drain with rate plugin
       - Fix partial commit in drain
       - Fix playback start with sync_ptr mode
       - Fix blocking during draining in dmix
       - Check timer version for read-block workaround
       - Propagate pcm->info
       - Set up pcm->info properly
       - Remove pause and fix timer initialization in prepare
       - Fix drain of dmix without data
       - Add poll_descriptors and poll_descriptors_count callbacks
       - Use snd_pcm_generic_t and its callbacks
       - Add protocl version check
       - Remove poll_ask callback
       - Fix snd_pcm_wait() for multiple pollfd's
       - Add perm option
       - Fix possible noises and optimization with dmix
       - Revert the shmget permission
       - More strict permission for IPC shm and sem
       - Fix bugs in perm option
       - Fix generic channel_info callbacks
       - Add snd_pcm_hw_params_get/set_export_buffer()
       - Fix poll after XRUN with dmix
       - Minor clean up of dmix codes
       - Fix dshare plugin codes
       - Fix semaphore deadlocks
       - Fix poll of dsnoop plugin
       - Add area synchronization in poll_rsync of rate plugin
       - Move poll_* callbacks to fast_ops
       - Minor clean up
       - Fix compile without debug option
     + RawMidi API
       - Add resmgr support
       - Fix resmgr support
       - rawmidi_virt: fix hang on invalid MIDI data
       - Fedora 4 patch - gcc4 fixes
     + Sequencer API
       - Add resmgr support
       - Fix resmgr support
       - Add --disable-aload configure option
       - Added snd_seq_ev_set_tag() macro
       - Fix the device-open check
       - fix snd_seq_query_next_client documentation
       - Fedora 4 patch - gcc4 fixes
       - Fix doxygen documents
     + Timer API
       - Add resmgr support
       - Fix resmgr support
       - Fedora 4 patch - gcc4 fixes
       - API for device name lists and timer enhancements
       - added full async interface to timer API
       - Change some timer ioctls due to confliction
       - Fix doxygen documents
     + /include/Makefile.am
       - Add external PCM plugin SDK (draft version)
       - Add filter-type external plugin SDK
       - Move old PCM API to pcm_old.h
     + /src/Makefile.am
       - API for device name lists and timer enhancements
     + ALSA Lisp
       - Fix compile warning
     + Configuration
       - Fix the bogus return values
       - Make dmix card-specific
       - Add config for HDA-Intel
       - Check error values
       - Fix a typo in default period size
       - Make dsnoop card-specific
       - Use dmix/dsnoop for default PCM
       - Add config file for PC-Speaker driver
       - Remove routing of 5.1 output
       - Fix the parse of filenames with spaces
       - use "C" locale when parsing floating point numbers
       - Support dl-object cache
       - Fixed rear PCM (mono output)
       - Use softvol for default PCM
       - Add config file for CMI8768
       - Fix card type to string
       - Fix SPDIF device
       - Fix rear/center_lfe subdevice mismatch
       - Fix AC3 output on alsa-lib ca0106.conf
       - Fixes AC3 output on Audigy2 sound cards
       - Enable slowptr option as default
       - Fix compile with gcc-4.0
       - Evaluate CARD argument
       - Do hwsync of slave PCM on dmix
       - Use S16 for default format
       - Use dmix/dsnoop as default
       - Remove Azalia.conf
       - Use 'Channel Mode' control
       - Add PMac Toonie configuration
       - Make surround config backward compatible
       - Add configuration for AACI driver
       - Implement surround71 output for SB Live 24 bit.
     + Documentation
       - Remove JACK plugin
       - Add a note on FC3
       - More doxygen comments
       - Add external PCM plugin
       - Read $LIBASOUND_DEBUG as integer
       - Fix documentation of external PCM plugin SDK
       - Fix doxygen documents
     + Dynamic Loader helpers
       - Support dl-object cache
     + Error handler
       - Read $LIBASOUND_DEBUG as integer
     + External PCM Filter Plugin SDK
       - More doxygen comments
       - Add protocl version check
       - Fix documentation of external PCM plugin SDK
     + External PCM I/O Plugin SDK
       - Support dl-object cache
       - Add protocl version check
     + External PCM Plugin SDK
       - Add external PCM plugin SDK (draft version)
       - Add filter-type external plugin SDK
       - Add snd_pcm_parse_control_id()
       - Fix documentation of external PCM plugin SDK
     + I/O subsystem
       - undef gets in case it's a macro
       - Remove invalid ATTRIBUTE_UNUSED
     + Kernel Headers
       - Added asound_fm.h
       - Update user land emu10k1.h with changes from kernel emu10k1.h
       - Added snd_pcm_hw_params_set_rate_resample function
       - Increase timer protocol number
       - usb-audio - add Extigy/Audigy 2 NX remote control support
       - Change some timer ioctls due to confliction
       - Add snd_pcm_hw_params_get/set_export_buffer()
     + SHM helpers
       - Fix a typo
     + Test/Example code
       - latency test - Added -B and -E options
       - Added snd_pcm_hw_params_set_rate_resample function
       - midiloop - remove running status test
       - added full async interface to timer API
     + Utils
       - Fix the include path
       - Add $include/alsa to the include path


   (http://music.columbia.edu/pipermail/linux-audio-announce/2005-January/000522.html)
   1.0.8
   -----

   * alsa-lib
     + Core
       - Change error message handling
       - release: 1.0.8-rc1
       - release: 1.0.8rc1
       - Add accessor to user control elements
       - release: 1.0.8rc2
       - Add inclusion of time.h
       - release: 1.0.8
     + Control API
       - Add accessor to user control elements
     + Instrument API
       - Fix compilation with 2.6.9 kernel (glibc headers)
     + Mixer API
       - Add Front control to weight list
     + PCM API
       - Return correct error in snd_pcm_wait() after snd_pcm_poll_descriptors() call
       - appl_ptr sync fix when status/control structures are not mmaped
       - fix for capture for case when status/control structures are not mmaped
       - Fixes variable shadow problem in capture direction
       - Fixed few typos in documentation.
       - Add preamble value configuration for iec958 plugin
       - Change error message handling
       - fix changed error message handling
       - Add softvol PCM plugin
       - Add accessor to user control elements
       - Change the behavior with hardware volume controls
       - Set max volume as default for softvol
       - Fix missing declaration
       - Support stereo volume control
       - Performance optimization
       - Clear sw_params struct at initialization
       - Fix handling of DISCONNECT state
       - Fix compile warning
     + Configuration
       - Rename AudigyLS -> CA0106
       - Disable 'duplicate front' switch for rear
       - Add preamble value configuration for iec958 plugin
       - Add default for refer function
       - Make "default" PCM card-specific
       - Use softvol for PCM outputs
       - New config for ES1968 and Maestro3
       - New config for Azalia (intel HD audio) driver
       - Add new config files
     + Documentation
       - Change error message handling
       - Add softvol PCM plugin
     + Error handler
       - Change error message handling
     + I/O subsystem
       - fix miscalculation of buffer size in snd_output_buffer_need()
       - Removed wrong ATTRIBUTE_UNUSED
     + Kernel Headers
       - Sync with the driver (EFX code structure)


   (http://music.columbia.edu/pipermail/linux-audio-announce/2004-November/000484.html)
   1.0.7
   -----

   * alsa-lib
     - fixed endless loop when parsing backslash inside bad configuration file
     - suppress PAUSE and RESUME for direct plugins
     - dmix plugin - dont forget to return -EINVAL on errors
     - rate plugin - Fix the downsampling noise problem
     - Avoid zero division (sw_params)


   (http://music.columbia.edu/pipermail/linux-audio-announce/2004-August/000435.html)
   1.0.6a
   ------

   * alsa-lib
     - emu10k1 config
       - Added surround71 and side pcm definitions.
       - Added the support of side speakers on Audigy 2 ZS.
     - ice1724
       - Fixed iec958 capture using asym plugin.
       - Added the support of side and surround71 PCM types.
     - pcm_rate plugin
       - This patch fixes a number of different bugs in pcm_rate.c.
     - pcm_plug plugin
       - Fixed problem with the route plugin and ttable

vim:syntax=changelog
