Skip to content

Tags

Tags give the ability to mark specific points in history as being important
  • v1.2.14

    81d70a27 · Release v1.2.14 ·
    Release v1.2.14
    
    Signed-off-by: Jaroslav Kysela <perex@perex.cz>
  • v1.2.13

    785fd327 · Release v1.2.13 ·
    Release v1.2.13
    
    Core
     - Release v1.2.13
     - configure: do allow to use --with-pic for static build
     - configure: bumb version to 1.2.13pre1 (for alsa-utils)
     - github: use upload-artifacts@v4
     - src/Versions.in: Add the new snd_pcm_hw_params_get_sync for 1.2.13
     - seq: Add snd_seq_{get|set}_ump_is_midi1() API functions
     - seq: Add API functions to set different tempo base values
     - ump: Add a function to provide the packet word length of a UMP type
     - src/Versions.in: Add guards for sequencer and rawmidi syms
     - src/Versions.in: Add new seq / rawmidi functions for UMP
    Control API
     - control: remap - clarify comments and docs
     - control: remap - fix copy-n-paste in _snd_ctl_remap_open's comment
     - Fix TLV dB parser in case of used container
     - control: Make ump_{endpoint|block}_info calls optional
    PCM API
     - pcm: close - deactivate async handler before snd_pcm_drop()
     - pcm: dmix: Don't clear scpm->info flag
     - pcm: dmix: Fix resume with multiple instances
     - pcm: implement snd_pcm_hw_params_get_sync() and obsolete snd_pcm_info_get_sync()
    RawMidi API
     - ump: Add a function to provide the packet word length of a UMP type
     - ump: Add descriptions for UMP RawMidi interface
     - ump: Fix doxygen error for snd_ump_endpoint_info_set_protocol()
     - ump: Add missing *_set variants for snd_ump_endpoint_info and snd_ump_block_info
    Sequencer API
     - seq: Correct a typo in documentation
     - seq: Add snd_seq_{get|set}_ump_is_midi1() API functions
     - seq: Avoid strlcat()
     - seq: Fix wrong FB direction at snd_seq_create_ump_block()
     - seq: Add API functions to set different tempo base values
     - seq: Correct section descriptions for UMP
     - seq: Add description about MIDI 2.0 and UMP handling
     - seq: Add API helper functions for creating UMP Endpoint and Blocks
    /src/Makefile.am
     - src/Versions.in: Add guards for sequencer and rawmidi syms
    Async helpers
     - Fixes: 5600b901 ("async: snd_async_del_handler - move clear signal using sigaction as last")
    Configuration
     - conf: fix snd_config_substitute (for src->parent)
    Documentation
     - ump: Add descriptions for UMP RawMidi interface
    Kernel Headers
     - Sync UAPI asound.h and asequencer.h with 6.12 kernel
     - pcm: implement snd_pcm_hw_params_get_sync() and obsolete snd_pcm_info_get_sync()
     - seq: Add snd_seq_{get|set}_ump_is_midi1() API functions
     - seq: Add API functions to set different tempo base values
    MIDI 2.0 (UMP)
     - ump_msg: Add missing definition for Set Key Signature Message
     - ump_msg: Define types for UMP Mixed Data Set messages
     - ump_msg: Add a new helper snd_ump_get_byte()
     - ump_msg: Correct a typo in snd_ump_msg_flex_data_t definition.
     - ump: Add a function to provide the packet word length of a UMP type
     - ump_msg: Drop unsuitable comments
     - ump_msg: Add definitions for Utility, Stream and Flex Data messages
     - ump_msg: Fix the wrong snd_ump_msg_system_t argument in little-endian
     - ump: Add descriptions for UMP RawMidi interface
     - ump_msg.h: Fix doxygen comments
     - seq: Add API helper functions for creating UMP Endpoint and Blocks
     - ump: Add missing *_set variants for snd_ump_endpoint_info and snd_ump_block_info
    Test/Example code
     - test: Add an example program to inquire UMP Endpoint and Block info
     - test: Add an example program to create a virtual UMP Endpoint
    
    Signed-off-by: Jaroslav Kysela <perex@perex.cz>
  • v1.2.12

    34422861 · Release v1.2.12 ·
    Release v1.2.12
    
    Core
     - Release v1.2.12
     - GitHub Actions: Use actions/checkout@v4
     - pcm: plug - add automatic conversion for iec958 subframe samples
    PCM API
     - pcm: extend doc for snd_pcm_hw_params_get_sbits()
     - pcm: clarify and fix default sbits (msbits) value for all formats
     - pcm: ladspa - Skip missing ladspa directories
     - pcm: snd_pcm_(physical_)format_width() - change documentation
     - pcm: plug - add automatic conversion for iec958 subframe samples
    PCM Plugin API
     - pcm: plug - add automatic conversion for iec958 subframe samples
    Topology API
     - topology: correct version script path
    Use Case Manager API
     - use-case.h: add DisplayPort to HDMI device description
     - ucm: doc - add Variant and Macro to the evaluation order
     - ucm: define and describe Syntax 7
     - ucm: raise error when macro argument is already defined (used)
     - ucm: do argument value substitution for Macros
     - ucm: fix Path condition - substitute Path
     - ucm: fix Path condition - substitute Path and Mode fields
    Async helpers
     - async: snd_async_del_handler - move clear signal using sigaction as last
    Configuration
     - conf: aliases: hdmi: Include unconditionally the
     - conf: USB-Audio: Add Corsair HS60 Pro to the IEC958 blacklist
     - conf: USB-Audio: Add more Scarlett devices to the IEC958 blacklist
    Test/Example code
     - tests: latency.c - fix copy-n-paste typos (sw -> hw params) in error messages
    
    Signed-off-by: Jaroslav Kysela <perex@perex.cz>
  • v1.2.11

    7e3a3c2b · Release v1.2.11 ·
    Release v1.2.11
    
    Core
     - Release v1.2.11
     - src/Versions.in: Add guards for pcm and timer syms
     - src/Versions.in: Add guards for opt. alisp symbols
     - configure.ac: Update AC_OUTPUT() function
     - configure: bumb version to 1.2.11pre1 (for aplay/alsa-utils)
     - seq: Fix typos in symbol version definitions
     - global.h: move __STRING() macro outside !PIC ifdef block
     - gitcompile: Add static build
    Control API
     - control: remap - fix the endless loop in remap_numid_child_new()
     - reshuffle included files to include config.h as first - v2
     - control.h: Fix ump header file detection
    Mixer API
     - mixer: simple: Support dB TLVs for CTL_SINGLE controls
    Mixer Abstraction API
     - headers: avoid c++ keyword
    PCM API
     - pcm: document interaction of drain silence and sw silence
     - pcm: route plugin: allocate temporary array on stack only one time
     - pcm: sofvol plugin: fix signed overflow
     - pcm: documentation improvement mostly regarding samples and frames
     - pcm: handle start_treshold in snd_pcm_write_areas more robustly
     - pcm: plug plugin - fast_ops may be changed when sw_params are set
     - pcm: fix the documentation for snd_pcm_poll_descriptors again
     - pcm: clarify documentation of poll descriptor usage
     - pcm: clarify documentation on some hw params related functions
     - pcm: Fix incompatible-pointer-type warnings
     - pcm: Add MSBITS subformat options
     - pcm: Introduce snd_pcm_subformat_value()
     - pcm: Fix segfault with 32bit libs
    RawMidi API
     - reshuffle included files to include config.h as first - v2
    Sequencer API
     - seq: Add snd_seq_ump_ev_clear()
     - seq: Check protocol compatibility with the current version
     - seq: Simplify snd_seq_extract_output()
     - seq: Clear UMP event flag for legacy apps
     - seq: Fix invalid sanity-check in snd_seq_set_input_buffer_size()
     - reshuffle included files to include config.h as first - v2
    Topology API
     - topology: fix Versions file
     - add back Versions source file to EXTRA_DIST to fix packaging
     - topology: separate Versions linker script
    /src/Makefile.am
     - add back Versions source file to EXTRA_DIST to fix packaging
     - src/Versions.in: Add guards for pcm and timer syms
     - src/Versions.in: Add guards for opt. alisp symbols
    ALSA Server
     - aserver: fix buffer overwriting
    Configuration
     - conf: pcm: Set C-Media USB 7.1 sound card (ICUSBAUDIO7D) to six_channel for surround40
    Filename helpers
     - reshuffle included files to include config.h as first - v2
    Kernel Headers
     - pcm: Add MSBITS subformat options
    
    Signed-off-by: Jaroslav Kysela <perex@perex.cz>
  • v1.2.10

    f70653fd · Release v1.2.10 ·
    Release v1.2.10
    
    Core
     - Release v1.2.10
     - Fix symver build error on non-ELF platforms
     - doxygen: include docs for shmarea functions
     - doxygen: silence warning from asoundlib.h
     - doxygen: global: silence 'not documented' warnings
     - doxygen: Fix missing group end markers
     - configure: add AC_SYS_LARGEFILE
     - seq: Add UMP 1.1 features
     - seq: Add UMP support
     - ump: Add helpers to parse / set UMP packet data
     - control: Add UMP Endpoint and Block info query support
     - control: Add UMP device query support
     - ump: Add initial support
     - include: fix SND_DLSYM_BUILD_VERSION() for static build
    Config API
     - doxygen: conf: silence 'not documented' warnings
    Control API
     - doxygen: namehint: silence 'not documented' warnings
     - doxygen: control: silence 'not documented' item warnings
     - doxygen: include external control docs
     - reshuffle included files to include config.h as first
     - control: Add UMP Endpoint and Block info query support
     - control: Add UMP device query support
     - remove extra trailing new line in SNDMSG and SNDERR calls
    Mixer API
     - topology: fix src/mixer/mixer.c return value warning
     - doxygen: fix broken parameter name tags
    PCM API
     - doxygen: fix broken examples links
     - doxygen: pcm: silence 'not documented' warnings
     - doxygen: fix inadvertent link requests
     - doxygen: fix broken parameter name tags
     - pcm: hw: fix minor bug in sw_params ioctl
     - remove extra trailing new line in SNDMSG and SNDERR calls
     - pcm: hw - prevent divide by zero for broken apps
    RawMidi API
     - doxygen: fix broken examples links
     - doxygen: rawmidi: silence 'not documented' warnings
     - doxygen: fix broken parameter name tags
     - rawmidi: Suppress error messages for non-fatal errors
     - ump: Add UMP 1.1 features
     - ump: Add helpers for handling SysEx data
     - ump: Add helpers to parse / set UMP packet data
     - ump: Add initial support
     - rawmidi: Add UMP ioctl support
    Rawmidi API
     - ump: Add initial support
    Sequencer API
     - doxygen: seq: silence 'not documented' warnings
     - seq: Fix wrong seq version update at snd_seq_hw_get_client_info()
     - seq: Add overflow check in snd_seq_ev_set_ump_data()
     - seq: ump: Fix typo in function name containing "group"
     - seq: Add UMP 1.1 features
     - seq: Add UMP support
    Timer API
     - doxygen: fix broken examples links
    Topology API
     - dogyxen: fix topology.h warnings
     - doxygen: topology: silence 'not documented' warnings
     - doxygen: fix inadvertent link requests
     - doxygen: escape xml tags
     - doxygen: Fix missing group end markers
     - remove extra trailing new line in SNDMSG and SNDERR calls
    Use Case Manager API
     - ucm: main - remove cast to pointer from integer of different size warning
     - ucm: mark internal functions static
     - doxygen: ucm: silence warnings
     - doxygen: fix list indentation errors
     - doxygen: escape xml tags
     - doxygen: fix broken parameter name tags
     - usecase: add CaptureMicInfoFile field to documentation
    /include/Makefile.am
     - ump: Add helpers to parse / set UMP packet data
     - ump: Add initial support
    ALSA Lisp
     - reshuffle included files to include config.h as first
    ALSA Server
     - reshuffle included files to include config.h as first
    Async helpers
     - doxygen: global: silence 'not documented' warnings
    Configuration
     - doxygen: conf: do not hide PCM specific function
     - doxygen: conf: silence 'not documented' warnings
     - doxygen: fix broken parameter name tags
     - reshuffle included files to include config.h as first
    Documentation
     - doxygen: include docs for shmarea functions
     - doxygen: namehint: silence 'not documented' warnings
     - doxygen: seq: silence 'not documented' warnings
     - doxygen: conf: silence 'not documented' warnings
     - doxygen: include external control docs
     - doxygen: fix image path
    Dynamic Loader helpers
     - doxygen: global: silence 'not documented' warnings
     - reshuffle included files to include config.h as first
    Kernel Headers
     - seq: Add UMP 1.1 features
     - uapi: Update rawmidi API to 2.0.4
     - uapi: Update asequencer.h definitions for 1.0.3
     - uapi: Update control API to 2.0.9
     - uapi: Update rawmidi API to 2.0.3
    MIDI 2.0 (UMP)
     - ump: Add UMP 1.1 features
     - ump: Add helpers for handling SysEx data
     - ump: Add helpers to parse / set UMP packet data
     - ump: Add initial support
    SHM helpers
     - doxygen: global: silence 'not documented' warnings
    Test/Example code
     - test: oldapi - fix the clang-16 compilation error
    
    Signed-off-by: Jaroslav Kysela <perex@perex.cz>
  • v1.2.9

    904f0f7e · Release v1.2.9 ·
    Release v1.2.9
    
    Core
     - Release v1.2.9
     - pcm: add new symbols to Versions.in
     - configure: avoid libdl detecion on *BSD
     - include: alsa-symbols.h - use newer gcc symver function attribute
    Control API
     - pcm: add SND_CTL_EINTR open mode
    PCM API
     - pcm: hw: fix the silence size setup in drain
     - pcm: remove duplicate SND_PCM_HW_PARAM_{FIRST,LAST}_* #defines
     - pcm: add SND_PCM_EINTR open mode
     - pcm: improve handling for snd_pcm_wait()
     - pcm: hw: introduce SNDRV_PCM_HW_PARAMS_DRAIN_SILENCE
     - pcm: hw: introduce SNDRV_PCM_INFO_PERFECT_DRAIN
     - pcm: hw: add drain_silence configuration keyword
     - pcm: hw: setup explicit silencing for snd_pcm_drain by default
     - compilation: fix ANDROID -> __ANDROID__ define detection
     - pcm: avoid endless loop in snd_pcm_sw_params_default()
     - pcm: hw - fix return code checking in snd_pcm_hw_hw_refine
     - pcm: rate: fix last_commit_ptr boundary wrapping
     - pcm: route/softvol use snd_config_get_ireal vs get_real to handle also integers
     - pcm: fix the fast_ops pcm argument for fast_ops
     - include: pcm_old.h - use a macro for the symbol versioning
     - pcm: rate - correct the previous fix for snd_pcm_rate_may_wait_for_avail_min()
     - pcm: rate - fix the crash in snd_pcm_rate_may_wait_for_avail_min()
    Topology API
     - topology: Parse ignore_suspend property for dapm widget
     - topology: Add decompilation support for ignore_suspend
     - topology: Parse ignore_suspend flag
     - topology: ctl - remove the wrong (debug) code
     - test: latency - use snd_pcm_format_physical_width()
    Use Case Manager API
     - compilation: fix ANDROID -> __ANDROID__ define detection
     - ucm: fix geti() macro - return zero on success
     - ucm: simplify and fix the previous patch (geti)
     - ucm: add existence checks to geti calls
     - ucm: fix possible memory leak in execute_sysw()
     - ucm: execute_sysw - fix possible use-after-free
     - ucm: handle empty string also for ${env:} substitution
     - ucm: clarify set_defaults calls
     - ucm: fix enhanced ID parsing in snd_use_case_parse_ctl_elem_id()
    Compatibility routines
     - type_compat.h: use ESPIPE instead of EPIPE when ESTRPIPE not defined
    Configuration
     - conf/emu10k1: remove compat with two decades old drivers
     - compilation: fix ANDROID -> __ANDROID__ define detection
     - alsa-lib: conf - fix possible use-after-free in get_char_skip_comments
    Kernel Headers
     - pcm: hw: introduce SNDRV_PCM_HW_PARAMS_DRAIN_SILENCE
     - pcm: hw: introduce SNDRV_PCM_INFO_PERFECT_DRAIN
    Test/Example code
     - test: BSD-like fixes
     - type_compat.h: use ESPIPE instead of EPIPE when ESTRPIPE not defined
     - test: latency - --policy option - allow using SCHED_OTHER
     - test: latency - add --policy option to allow using SCHED_FIFO
     - test: latency - usleep should not be used in the block mode
     - test: latency - add -y option (I/O usleep)
     - latency: add timestamps to the POS lines
     - test: latency - add more realtime tests
     - test: latency - use snd_pcm_format_physical_width()
    Utils
     - utils/alsa.m4: include <stdlib.h> for exit()
    
    Signed-off-by: Jaroslav Kysela <perex@perex.cz>
  • v1.2.8

    9447e57d · Release v1.2.8 ·
    Release v1.2.8
    
    Core
     - Release v1.2.8
     - add FreeBSD build support (except test/)
     - add NetBSD/OpenBSD build support (except test/)
    Control API
     - control: namehint - do not support 'card' devices
     - control: eld - skip trailing spaces
    PCM API
     - pcm: rate: fix the crash for the partial period copy
     - add DragonFlyBSD build support (except test/)
     - pcm: hw_params - copy periods and buffer_time to the local variable
     - pcm: fix the dshare delay reporting
     - pcm: direct plugins: make three more symbols private to library
    Use Case Manager API
     - ucm: do not handle multiple Syntax field updates
     - add DragonFlyBSD build support (except test/)
     - add FreeBSD build support (except test/)
     - doc: ucm - more volume notes
     - doc: ucm - add sequence graphs
     - ucm: add NULL check for card_name in open
     - ucm: fix few memory-leaks in the error paths
    Async helpers
     - add NetBSD/OpenBSD build support (except test/)
    Compatibility routines
     - add NetBSD/OpenBSD build support (except test/)
    Configuration
     - Remove non existent SPDIF output on ThinkPad USB-C Dock Gen2
     - add DragonFlyBSD build support (except test/)
     - add NetBSD/OpenBSD build support (except test/)
    Documentation
     - doc: ucm - more volume notes
     - doc: ucm - add sequence graphs
    Kernel Headers
     - add FreeBSD build support (except test/)
     - add NetBSD/OpenBSD build support (except test/)
    
    Signed-off-by: Jaroslav Kysela <perex@perex.cz>
  • v1.2.7.2

    27cfa707 · Release v1.2.7.2 ·
    Release v1.2.7.2
    
    Core
     - Release v1.2.7.2
    Mixer API
     - mixer: add documentation about postcondition of removal event processing
    PCM API
     - pcm: share plugin: handle -EINTR
     - pcm: share plugin: return error if socket read or write call fails
    RawMidi API
     - rawmidi: fix the params_mode check condition in snd_rawmidi_tread()
    Use Case Manager API
     - ucm: fix st_mode check for symbolic links
    Kernel Headers
     - include/sound/type_compat.h: fix include guard
    
    Signed-off-by: Jaroslav Kysela <perex@perex.cz>
  • v1.2.7.1

    f91c89da · Release v1.2.7.1 ·
    Release v1.2.7.1
    
    Core
     - Release v1.2.7.1
     - conf: Use ino64_t to save and compare inode numbers
    Control API
     - control: eld - fix the decoding for older hw
    I/O API
     - output: include stdarg.h
    PCM API
     - pcm: dmix - Add error handler for `fgets`
    Use Case Manager API
     - ucm: list also hardware configs (hw:X) in uc_mgr_scan_master_configs() fcn
    Configuration
     - conf: Use ino64_t to save and compare inode numbers
    
    Signed-off-by: Jaroslav Kysela <perex@perex.cz>
  • v1.2.7

    d836146e · Release v1.2.7 ·
    Release v1.2.7
    
    Core
     - Release v1.2.7
     - configure: remove --with-lfs option, but keep the autodetection code
     - configure: add --with-lfs option
     - gitcompile: fix 32 bit compilation support
     - remove .travis.yml (using github actions)
     - github actions: move to checkout@v3
     - conf: fix the export of safe_strto* functions from libasound
    Config API
     - ucm: add ${evali:} substitution
    Control API
     - control: eld - add missing ctype.h header inclusion
     - control: shm - initialize write buffer
     - control: decode HDMI device name from ELD
    PCM API
     - pcm: hw: change rate range syntax
     - pcm: hw: add "min_rate" and "max_rate" as alternatives to single "rate" parameter
     - pcm: rate - rewrite the may_wait_for_avail_min callback for the rate plugin
     - pcm: plugin - fix avail_min calculation on rate plugin
     - pcm: dmix: fix wrong scaling in 32bits pcm mixing
     - pcm: ladspa - Use LFS calls (readdir64)
     - pcm: fix for the unitialized write buffer
     - control: decode HDMI device name from ELD
     - pcm: multi: return correct hwptr and avail from snd_pcm_multi_status()
     - pcm: direct - allow 'off' string for hw_ptr_alignment
     - pcm: direct - cleanups for snd_pcm_direct_reset_slave_ptr()
     - pcm: direct - add support for channel bindings in snd_pcm_direct_query_chmaps()
     - pcm: direct: Check xrun/suspend before the slave hwptr update
     - pcm: direct: Move slave PCM state checks into XRUN check helper
     - pcm: direct: Improved suspend/resume support
     - pcm: direct: Propagate error code from snd_pcm_direct_client_chk_xrun()
     - pcm: rate: fix drain of partial period at end of buffer
    Topology API
     - src/topology/parser.c: drop duplicate safe_strtol_base
    Use Case Manager API
     - ucm: fix the reload call (snd_use_case_mgr_reload)
     - ucm: implement disdevall sequence command
     - use-case.h: add Channels/ChannelPos values to the documentation
     - ucm: fix memory leak in the error path (Include)
     - ucm: Use LFS calls (stat, scandir)
     - ucm: main - fix the compilation error (signess)
     - ucm: macro - make argument names shorter
     - ucm: doc - describe variants, minor corrections
     - ucm: implement enadev2 and disdev2 sequence commands
     - ucm: add support for verb variants
     - ucm: set SYNTAX_VERSION_MAX to 6
     - ucm: move macros and evali substitution to Syntax 6
     - ucm: macro - add deep call protection (recursion)
     - ucm: macro call inplace evaluate inside macro
     - ucm: macro - fix the error message, print id
     - ucm: return empty string for undefined "open" variables (arguments)
     - ucm: allow '-' prefix to avoid errors when the variable is not defined
     - ucm: allow passing variables through ucm open string
     - use-case.h: add SND_USE_CASE_DEV_DIRECT define
     - ucm: implement MacroDefine and Macro subtree evaluation
     - ucm: local_config may be NULL (error path)
     - ucm: add ${evali:} substitution
     - ucm: fix the '${eval:EXPR}' substitution
     - ucm: top-level path - set directory from symlink
    ALSA Server
     - pcm: fix for the unitialized write buffer
    Configuration
     - conf: Use LFS calls when reading config files
     - conf: vc4-hdmi: use a proper hdmi pcm, fix broken default pcm
     - conf: fix memory leak in snd_config_substitute() for strings
     - conf: snd_config_merge - fix comment (overwrite / override)
     - conf: fix the export of safe_strto* functions from libasound
    Documentation
     - README: Add link to GitHub Actions
    Simple Abstraction Mixer Modules
     - mixer: simple module: python 3.10 PyTuple_SET_ITEM() fix
    
    Signed-off-by: Jaroslav Kysela <perex@perex.cz>
  • v1.2.6.1

    1454b5f1 · Release v1.2.6.1 ·
    Release v1.2.6.1
    
    Core
     - Release v1.2.6.1
    Configuration
     - conf: fix the device parsing when arguments has no defaults
     - conf: accept '_' character in the variable name
    
    Signed-off-by: Jaroslav Kysela <perex@perex.cz>
  • v1.2.6

    85b3c276 · Release v1.2.6 ·
    Release v1.2.6
    
    Core
     - Release v1.2.6
     - conf: add safe_strtoll_base() like safe_strtol_base()
     - conf: introduce safe_strtol_base()
     - configure: bumb version to 1.2.6pre1 (for alsactl/alsa-utils)
     - fix build with --disable-ucm
    Config API
     - conf: introduce snd_config_load_string()
     - conf: add possibility to evaluate simple integer math expressions
    Control API
     - control: remap - assign right name to the child handle for no-op (2nd case)
     - control: remap - assign right name to the child handle for no-op
     - control: Minor documentation fixes.
     - control: Add documentation for snd_ctl_card_* and friends.
     - control: empty - fix the static build
    PCM API
     - pcm: softvol - mark _snd_pcm_parse_control_id as static
     - pcm: partially revert "pcm: softvol - make snd_pcm_parse_control_id private"
     - pcm: multi plugin - adjust appl_ptr on rewind/forward operations
     - pcm: add a note about return values of snd_pcm_state()
     - pcm: rate - fix some gcc warnings
     - pcm: direct plugins - fix bad memory access when channel bindings do not match hw
     - pcm: Move snd_pcm_channel_area_addr() and _step() to public header
     - pcm: direct plugins - fix hw_ptr in the status callback
     - pcm: dmix - use pcm_frame_diff() in snd_pcm_dmix_sync_ptr0()
     - pcm: improve docs for snd_pcm_sw_params_get_avail_min() and snd_pcm_status_get_avail_max()
     - pcm: rate: Improve the support multiple formats
     - pcm: rate: Refactoring temporary buffer allocations
    RawMidi API
     - rawmidi: allocate the read buffer in the params call
     - rawmidi: free framing read bufffer when the framing mode becomes inactive
     - rawmidi: add support for SNDRV_RAWMIDI_IOCTL_USER_PVERSION
     - rawmidi: return ENOTSUP when timestamp reads are not supported by plugins
     - rawmidi: allow timestamp reads only for the appropriate read mode
     - rawmidi: doc - fix the framing / read mode section
     - rawmidi: rename enum snd_rawmidi_framing to snd_rawmidi_read_mode
     - rawmidi: define more abstract API for the timestamp reads
     - rawmidi: initialize the reserved space in snd_rawmidi_params_default()
     - rawmidi: Add rawmidi framing API
    Rawmidi API
     - rawmidi: rename enum snd_rawmidi_framing to snd_rawmidi_read_mode
     - rawmidi: define more abstract API for the timestamp reads
     - rawmidi: Use the standard types for snd_rawmidi_framing_tstamp_t definition
     - rawmidi: Add rawmidi framing API
    Topology API
     - topology: do not call strtol directly
    Use Case Manager API
     - ucm: add initial doxygen documenation
     - conf: introduce snd_config_load_string()
     - ucm: add ${eval:EXPR} substitution (Syntax 5)
     - ucm: fix parsing of the internal hexadecimal card identifier (2)
     - ucm: fix parsing of the internal hexadecimal card identifier
     - ucm: fix DeviceModifier parser
     - conf: introduce safe_strtol_base()
     - ucm: suppress the no device (no UCM card) errors on request
     - ucm: substitute the before/after identifiers
     - ucm: fix the parsing of the hexadecimal prefix
     - ucm: avoid zero card instance number
    /src/Makefile.am
     - conf: add possibility to evaluate simple integer math expressions
    Configuration
     - conf: introduce snd_config_load_string()
     - conf: confeval - fix _to_integer error code
     - conf: improve simple integer math expressions - brackets
     - ucm: add ${eval:EXPR} substitution (Syntax 5)
     - conf: add possibility to evaluate simple integer math expressions
     - conf: add safe_strtoll_base() like safe_strtol_base()
     - conf: introduce safe_strtol_base()
    Documentation
     - ucm: add initial doxygen documenation
    Dynamic Loader helpers
     - dlmisc.c: Avoid double unlock in snd_dlobj_cache_get0()
    External PCM Plugin SDK
     - pcm: partially revert "pcm: softvol - make snd_pcm_parse_control_id private"
    External Rate Converter Plugin SDK
     - pcm: rate: Improve the support multiple formats
    Kernel Headers
     - rawmidi: add support for SNDRV_RAWMIDI_IOCTL_USER_PVERSION
     - asound.h: fix the __packed use for the out-of-kernel code
     - rawmidi: Add rawmidi framing API
    Test/Example code
     - conf: introduce snd_config_load_string()
     - conf: fix test/lsb/config.c
     - conf: improve simple integer math expressions - brackets
     - conf: add possibility to evaluate simple integer math expressions
     - rawmidi: rename enum snd_rawmidi_framing to snd_rawmidi_read_mode
     - rawmidi: define more abstract API for the timestamp reads
     - test: rawmidi: Add test for rawmidi framing API
    
    Signed-off-by: Jaroslav Kysela <perex@perex.cz>
  • v1.2.5.1

    054f0d25 · Release v1.2.5.1 ·
    Release v1.2.5.1
    
    Core
     - Release v1.2.5.1
     - Fix EXPORT_SYMBOL attribute for clang
     - configure: check if eaccess() is available
    Control API
     - control: remap - fix an infinite recursive call in the async callback
     - control: remap - fix uninitialized value in parse_map_vindex()
    PCM API
     - pcm: direct - remove dead code
     - pcm: softvol - fix early exit in add_tlv_info()
     - pcm: remove extra NULL checks in snd_pcm_dshare_open()
     - pcm: remove extra NULL checks in snd_pcm_dsnoop_open()
     - pcm: remove extra NULL checks in snd_pcm_dmix_open()
     - pcm: direct - fix pcmp error path in _snd_pcm_direct_new()
    Timer API
     - timer: remove dead code in _snd_timer_hw_open()
    Use Case Manager API
     - configure: check if eaccess() is available
     - ucm: include sys/wait.h to fix build on Android
     - ucm_exec.c: Include limits.h explicitly to fix build on musl
     - ucm: compound_merge() - fix use after free (and logic)
     - ucm: fix possible memory leak in parse_verb_file()
     - ucm: fix out-of-array access in rval_device_lookup_init()
     - ucm: check error value in parse_lookup_query()
     - ucm: fix possible NULL pointer dereference in uc_mgr_exec()
     - ucm: find_exec() - fix memory leak (dir)
     - ucm: fix if_eval_path() - access NULL pointer
     - ucm: fix use after free in if_eval_regex_match()
     - ucm: fix error path in execute_cfgsave()
     - ucm: fix _alibpref string (add '.' delimiter to the end)
     - ucm: add _alibpref to get the private device prefix
    Configuration
     - conf: snd_config_get_card() remove unused assignment
     - conf: remove dead code in snd_config_get_card()
     - conf: fix load_for_all_cards()
    
    Signed-off-by: Jaroslav Kysela <perex@perex.cz>
  • v1.2.5

    9f16fa57 · Release v1.2.5 ·
    Release v1.2.5
    
    Core
     - Release v1.2.5
     - control: add missing src/conf/ctl/Makefile.am
     - ucm: add LibraryConfig support
     - control: remap plugin - initial version
     - configure: bumb version to 1.2.5pre1 (for CI tests)
    Config API
     - conf: add snd_config_make_path() function
     - conf: add snd_config_is_empty() function
     - conf: add snd_config_merge() function
     - conf: introduce snd_config_get_card() function
    Control API
     - control: remap - add no-op when the remapping is not active
     - control: remap - don't allow I/O on renamed IDs
     - ucm: add LibraryConfig support
     - control: add empty plugin
     - control: remap plugin - add docs
     - control: doc - create controls plugin page
     - control: remap plugin - initial version
     - control: add _snd_ctl_open_child()
     - control: shm - add missing continue to _snd_ctl_shm_open()
     - ucm: move __snd_ctl_ascii_elem_id_parse prototype to control_local.h
     - control: add __snd_ctl_add_elem_set() helper
     - control: add snd_ctl_elem_id_compare_numid() function
     - control: rename snd_ctl_elem_id_compare() to snd_ctl_elem_id_compare_set()
     - control: fix the subdevice fields comparison in snd_ctl_elem_id_compare()
     - control: better docs for snd_ctl_elem_id_compare()
     - control: add snd_ctl_elem_id_compare() function
     - control: snd_ctl_ascii_elem_id_get() - do not show unset numid
     - conf: introduce snd_config_get_card() function
     - control: improve snd_ctl_add_*_elem_set functions (access flags)
     - control: fix iformation -> information typos
    Control Plugin API
     - control: remap plugin - add docs
     - control: doc - create controls plugin page
    HWDEP API
     - conf: introduce snd_config_get_card() function
    I/O API
     - output: Add snd_output_buffer_steal() function
    Mixer API
     - mixer: simple - Fix "Capture Volume" and "Capture Switch" being seen as global controls
     - mixer: simple - use for loop in base_len()
     - mixer: simple - Unify simple_none: base_len() exception handling
    PCM API
     - pcm: hw - correct the comment in snd_pcm_hw_state()
     - pcm: hw - fix again snd_pcm_hw_state() when the driver was disconnected
     - pcm: hw - fix snd_pcm_hw_state()
     - pcm: fix open in direct plugins - wrong pointer assignment
     - pcm: direct - move the direct struct init to _snd_pcm_direct_new()
     - pcm: dshare - fix shared memory pointer check
     - ucm: add LibraryConfig support
     - pcm: empty plugin - fix the docs
     - pcm: softvol - improve TLV data check for new configs
     - pcm: fix snd_pcm_plugin_status()
     - conf: introduce snd_config_get_card() function
     - pcm: softvol - make snd_pcm_parse_control_id private
     - pcm: softvol - do not set TLV access flags for the switch
     - pcm: pcm_ioplug - fix the avail_update mmap capture copy issue
     - pcm: share: Pass appl_ptr and hw_ptr in snd_pcm_status()
     - pcm: null: Pass appl_ptr and hw_ptr in snd_pcm_status()
     - pcm: ioplug: Pass appl_ptr and hw_ptr in snd_pcm_status()
     - pcm: direct: Fix the missing appl_ptr update
     - pcm: dmix/dshare - delay calculation fixes and cleanups
     - pcm_plugin: set the initial hw_ptr/appl_ptr from the child pcm
     - pcm: rate - fix the capture delay values
     - pcm: rate - use pcm_frame_diff() on related places
     - pcm: plugin - fix status code for capture
     - pcm: rate - use pcm_frame_diff() in snd_pcm_rate_playback_internal_delay()
     - pcm: ioplug - fix the delay calculation for old plugins
     - pcm: rate - tidy up snd_pcm_rate_avail_update()
     - pcm: ioplug - fix the delay calculation in the status callback
     - Revert "pcm_plugin: fix delay"
     - pcm: plugin - optimize sync in snd_pcm_plugin_status()
     - pcm: plugin - tidy snd_pcm_plugin_avail_update()
     - pcm: plugin status - revert the recent changes
     - pcm: plugin status - fix the return value (regression)
     - pcm: fix __snd_pcm_state() return value
     - pcm_multi: remove dead assignment from _snd_pcm_multi_open
     - pcm: remove dead assignments from snd_pcm_rate_(commit_area|grab_next_period)
     - pcm: Fix a typo in SND_PCM_AUDIO_TSTAMP_TYPE_LAST definition
     - pcm: Add snd_pcm_audio_tstamp_type_t constants
     - pcm: set the snd_pcm_ioplug_status() tstamp field
     - pcm: snd_pcm_mmap_readi - fix typo in comment
    RawMidi API
     - ucm: add LibraryConfig support
     - conf: introduce snd_config_get_card() function
     - rawmidi: fix memory leak in snd_rawmidi_virtual_open
    Sequencer API
     - seq: fix snd_seq_parse_address()
     - ucm: add LibraryConfig support
    Timer API
     - timer: fix sizeof operator mismatch in snd_timer_query_hw_open
    Topology API
     - topology/pcm.c: remove duplicated AC97 hw format
     - topology: fix 'parse_tuple_set() - remove dead condition code'
     - topology: sort_config() cleanups - use goto for the error path
     - topology: parse_tuple_set() - remove dead condition code
     - topology: tplg_decode_pcm() - add missing log argument (compress)
     - topology: tplg_add_widget_object() - do not use invalid elem_ctl
     - topology: tplg_pprint_integer() fix coverity uninitalized variable error
     - topology: use inclusive language in documentation
     - topology: use inclusive language for fsync
     - topology: use inclusive language for bclk
    Use Case Manager API
     - ucm: compound_merge - use snd_config_merge()
     - ucm: recognize first '-' character as ignore error for exec/shell
     - ucm: cfg-save - allow to save the sub-tree including root keys
     - ucm: libconfig - merge not override items
     - ucm: libconfig parser - fix memory leaks
     - ucm: add cfg-save command
     - ucm: fix memory leak in execute_cset()
     - ucm: parse LibraryConfig also in the toplevel file
     - ucm: fix regexec() REG_NOMATCH state handling for define regex
     - ucm: add exec sequence command
     - ucm: Fix sysw sequence command not working when requesting to ignore errors
     - ucm: fix the local ucm control device name caching
     - ucm: limit the master config scan to conf.virt.d
     - ucm: fixed find-device substitution (non-continuous PCM devices)
     - ucm: allow to escape the trailing variable substitution character
     - ucm: find-device / pcm - the ctl_list may be empty
     - ucm: add missing uc_mgr_card_close() call to snd_use_case_mgr_open()
     - ucm: cosmetic code reshuffle in rval_lookup_main()
     - ucm: fix uc_mgr_has_local_config()
     - ucm: rewrite device value only when the local config exists
     - ucm: return error if fixedboot_list is empty
     - ucm: return error if boot_list is empty
     - ucm: ucm_filename() - avoid double //
     - ucm: handle better the system() call
     - ucm: add LibraryConfig support
     - ucm: add ${ConfLibDir} substitution
     - ucm: add ctl-remove sequence command to delete controls from UCM
     - ucm: add cset-new sequence command to create new controls from UCM
     - ucm: move __snd_ctl_ascii_elem_id_parse prototype to control_local.h
     - ucm: add Path condition type
     - ucm: rename sysset to sysw
     - ucm: warn about unknown sequence commands
     - ucm: implement sysset sequence command
     - ucm: ucm_main.c - cosmetic tab cleanups
     - ucm: add _fboot / FixedBootSequence
     - ucm: fix two error messages
     - ucm: add ${find-card} and ${find-device} substitutions
     - ucm: uc_mgr_substitute_tree() fix use after free
     - ucm: fix possible memory leak in parse_verb_file()
     - ucm: fix bad frees in get_list0 and get_list20
    /Makefile.am
     - Makefile: Add README.md to EXTRA_DIST
    /include/Makefile.am
     - include: try to fix the out-of-source-tree build
     - include: fix out-of-source-tree build
     - include: fix SND_LIB_VER() macro
     - include: add SND_LIB_VER() macro
     - control: remap plugin - add docs
    Configuration
     - conf: snd_config_merge() - substitute non-compound config handles
     - conf: snd_config_merge() - merge (concat) correctly arrays
     - conf: return count of items in snd_config_is_array()
     - conf: print quoted string more wisely
     - ucm: cfg-save - allow to save the sub-tree including root keys
     - conf: fix snd_config_merge() - merge schema
     - conf: load the card specific configurations to the config sub-tree
     - conf: add snd_config_make_path() function
     - conf: add snd_config_is_empty() function
     - conf: _snd_config_evaluate - remove 'delete compound members' call
     - conf: fix snd_config_substitute() - memory leak
     - conf: fix snd_config_merge() - double free in overwrite mode
     - alsa: conf - use card number roots for device redirects
     - conf: extend load_for_all_cards hook (id/value table)
     - control: add missing src/conf/ctl/Makefile.am
     - conf: usb - correct 'SB Omni Surround 5.1' iec958 device
     - conf: USB - add "Cmedia Audio" to USB-Audio.pcm.iec958_device
     - Remove non-existent SPDIF output on Dell AE515
     - conf: No SPDIF on Plantronics 3220 headset
     - conf: add snd_config_merge() function
     - conf: add /var/lib/alsa/conf.d directory lookup
     - conf: add /var/lib/alsa/card<NUMBER>.conf.d directory lookups
     - conf: extend hook load_for_all_cards
     - conf: make ctl.default and sysdefault devices more universal
     - conf: Fix invalid free at parse_args()
     - conf: fix memory leak on the error path in parse_args()
     - conf: snd_config_save() - print arrays as [] not the internal representation
     - conf: improve the tabulator level prints
     - conf: introduce snd_config_get_card() function
     - conf: HDA-Intel: increase the max number of HDMI/DP output to 11
     - conf: USB - add "Xonar U7 MKII" to USB-Audio.pcm.iec958_device
     - conf: fix return code in _snd_config_load_with_include
     - confmisc: fix memory leak in snd_func_concat
     - conf: fix get_hexachar() return value
     - conf: fix use after free in _snd_config_load_with_include
    Documentation
     - control: doc - create controls plugin page
    Dynamic Loader helpers
     - dlmisc: fix snd_plugin_dir locking for not DL_ORIGIN_AVAILABLE
     - dlmisc: the snd_plugin_dir_set / snd_plugin_dir must be declared even for \!DL_ORIGIN_AVAILABLE
    I/O subsystem
     - output: Add snd_output_buffer_steal() function
    Kernel Headers
     - topology: use inclusive language for fsync
     - topology: use inclusive language for bclk
    Test/Example code
     - test: audio_time - fix timestamp2ns() and usage()
     - test/audio_time: Make use of SND_PCM_AUDIO_TSTAMP_TYPE constants
    Utils
     - utils/alsa.m4: another quick fix for the brackets
     - utils/alsa.m4: a quick fix for missing end brackets
     - utils/alsa.m4: update for newer autoconf.
    
    Signed-off-by: Jaroslav Kysela <perex@perex.cz>
  • v1.2.4

    49bd4b19 · Release v1.2.4 ·
    Release v1.2.4
    
    Signed-off-by: Jaroslav Kysela <perex@perex.cz>
  • v1.2.3.2

    cac5a62d · Release v1.2.3.2 ·
    Release v1.2.3.2
    
    Signed-off-by: Jaroslav Kysela <perex@perex.cz>
  • v1.2.3.1

    b13b9116 · Release v1.2.3.1 ·
    Release v1.2.3.1
    
    Signed-off-by: Jaroslav Kysela <perex@perex.cz>
  • v1.2.3

    141acab8 · Release v1.2.3 ·
    Release v1.2.3
    
    Signed-off-by: Jaroslav Kysela <perex@perex.cz>
  • v1.2.2

    717a8425 · Release v1.2.2 ·
    Release v1.2.2
    
    Signed-off-by: Jaroslav Kysela <perex@perex.cz>
  • v1.2.1.2

    1c7e46d5 · Release v1.2.1.2 ·
    Release v1.2.1.2
    
    Signed-off-by: Jaroslav Kysela <perex@perex.cz>