Subject: CVS commit: pkgsrc/audio/alsa-lib
From: Ryo ONODERA
Date: 2021-05-12 16:12:14
Message id: 20210512141214.3108DFA95@cvs.NetBSD.org

Log Message:
alsa-lib: Update to 1.2.4

Changelog:
1.2.4
Core

    Release v1.2.4
    pcm: dmix: make lockless operation optional

Control API

    control: Add documentation for snd_ctl_elem_value_*.
    control: Improve general control interface documentation.
    control: Add documentation for snd_ctl_elem_list_*.
    control: ctlparse - fix enum values in or ""
    ctl: improve documentation for identifier of control element

PCM API

    pcm: file plugin - implement safe_write
    pcm: fix the pcm_frames_diff -> pcm_frame_diff typo
    pcm: dshare - apply the boundary wrap in snd_pcm_dshare_sync_area()
    pcm: introduce pcm_frame_diff and pcm_frame_diff2 helpers
    pcm: meter / s16 - add protection for the maximum copied frames
    dlmisc, pcm: export the old symbols (for -flto)
    pcm: fix the snd_pcm_plugin_status() avail and delay fields
    pcm: dmix: fix access to sum-buffer in non-interleaved mixing mode
    pcm: iec958: set channel status bits according to rate and format
    pcm: iec958: implement HDMI HBR audio formatting
    pcm: dmix: Fix semaphore usage with lockless operation
    pcm: dmix: make lockless operation optional

Topology API

    topology: straight printf and error path fixes
    topology: save_config - fix the error path handling
    tplg: fix the unaligned_get32/put32 helpers for big endian
    topology: improve the printf buffer management
    topology: fix the unaligned access
    topology: fix sort_config()
    topology: fix some gcc10 warnings (labs, signess)
    topology: return correct value in tplg_save_printf()
    topology: Make buffer for saving dynamic size
    topology: decode: Add DAI name printing
    topology: decode: Print sig_bits field in PCM capabilities section
    topology: decode: Fix decoding PCM formats and rates
    topology: decode: Change declaration of enum decoding function
    topology: decode: Fix printing texts section
    topology: decode: Add enum control texts as separate element
    topology: decode: Remove decoding values for enum control
    topology: decode: Fix infinite loop in decoding enum control
    topology: decode: Fix channel map memory allocation

Use Case Manager API

    ucm: handle correctly Linked configuration
    ucm: rename once_list to boot_list
    ucm: substitute the comment string also in the main configuration file
    ucm: add a check for the empty configuration
    ucm: Handle 'Error' keyword in the master file
    ucm: substitute the merged tree completely
    ucm: fix parse_get_safe_name() - safe name must be checked after substitution
    ucm: substitution - remove duplicate allow_empty assignment

Configuration

    conf: quote also strings with '*' and '#' characters in string_print()
    conf: USB-Audio: Disable IEC958 on Lenovo ThinkStation P620
    conf: pcm - USB - Added S/PDIF fix for Asus Xonar SE

Documentation

    README: add patch submission instructions

Dynamic Loader helpers

    dlsym: use the only alsa plugins directory for the internal modules
    dlmisc, pcm: export the old symbols (for -flto)
    dlsym: add support for ALSA_PLUGIN_DIR environment variable

1.2.3
Core

    Release v1.2.3
    snd_dlopen: implement the relocatable version for glibc
    github actions: ubuntu - fix the non-interactive build
    pcm: dmix: assembly: fix the interface for safety (mmx)
    configure: add --embed for python3-config (python 3.8)

Config API

    conf: add snd_config_is_array() function

Control API

    tlv: implement nearest rounding in snd_tlv_convert_from_dB() for xdir == 0
    control: use more precise rounding in snd_ctl_ascii_value_parse()
    snd_dlopen: do not use absolute plugin path for snd_dlopen() calls
    namehint: remember the direction from the upper levels
    conf: namehint - add omit_noargs to the hint section

Mixer API

    tlv: implement nearest rounding in snd_tlv_convert_from_dB() for xdir == 0
    snd_dlopen: do not use absolute plugin path for snd_dlopen() calls

PCM API

    pcm: Fix memory leak at snd_pcm_new when THREAD_SAVE_API is defined
    pcm: clarify -ENODATA description (recovery, event)
    pcm: fix spelling in documentation for -EBADFD
    pcm: add documentation for -ENODATA error code
    snd_dlopen: do not use absolute plugin path for snd_dlopen() calls
    pcm: return immediately when the state is SETUP in snd_pcm_drain()
    pcm: fix snd_pcm_drain() excluding SETUP state from valid states
    pcm: rate: Fix uninitialized variable warning
    pcm: rate: Fix compile warning wrt bit ops and comparison
    pcm: dmix: assembly: give more freedom over the constraints
    pcm: dmix: assembly: refactor the PIC mode
    pcm: dmix: assembly: fix the interface for safety (mmx)
    pcm: dmix: assembly: fix the interface for safety
    pcm: dmix: assembly: change the token by symbolic names
    fix infinite draining of the rate plugin in SND_PCM_NONBLOCK mode
    pcm: rate - fix the remaining size calculation in snd_pcm_rate_drain()
    pcm: dmix: fix sw_params handling of timestamp types in direct plugins
    pcm: add chmap option to route plugin

Topology API

    topology: Add missing ATTRIBUTE_UNUSED
    topology: use snd_config_is_array() function
    topology: Use bool parser to parse boolean value
    topology: add back asrc to widget_map in dapm.c

Use Case Manager API

    ucm: fix the wrong return value in uc_mgr_open_ctl()
    ucm: remove strict: in ${OpenName} substitution
    ucm: fix the error path in parse_toplevel_path()
    ucm: fix the wrong uc_mgr_open_ctl() call in if_eval_control_exists()
    use-case.h: define Linked variable
    ucm: implement CardIdByName substitution
    ucm: shuffle code in compound_merge()
    ucm: substitute arguments in sequences only for syntax 3+
    ucm: substitute RenameDevice and DeleteDevice lists
    ucm: substitute Comment in Transition and Device
    ucm: substitute verb name and file field
    ucm: substitute component sequence string
    ucm: substitute device strings in the device lists
    ucm: substitute device / modifier names, too
    ucm: implement the toplevel ucm configuration file parser
    ucm: substitute ${CardNumber}
    ucm: substitute ${OpenName}
    ucm: Define/DefineRegex is supported in Syntax 3
    ucm: String condition - implement Empty
    ucm: handle strict: prefix correctly for the UCM card name
    ucm: substitute also value strings
    ucm: allow to specify the toplevel directory using '/' as first character in \ 
File path
    ucm: config - change the in-place include evaluation order
    ucm: allow syntax version 3
    ucm: substitute arguments in sequences
    ucm: configuration - add DefineRegex
    ucm: configuration - allow to define the configuration variables
    ucm: config - substitute File string to allow variables in include
    ucm: configuration - substitute ${ConfDir} and ${ConfTopDir}
    ucm: configuration - implement in-place Include
    ucm: rename _once command to _boot command
    ucm: rename SectionOnce to BootSequence
    ucm: fix compilation error in set_defaults_user()
    ucm: fix SectionOnce comment
    ucm: initialize mgr->once_list
    ucm: handle 'set _defaults' command
    ucm: handle 'set _once' command
    ucm: execute SectionDefaults lately (when the first verb is set)
    ucm: parse SectionOnce section in the master UCM configuration file
    ucm: merge the array items from the condition blocks
    use-case.h: add USB as allowed device name
    ucm: fix copy-n-paste typo (RemoveDevice list)
    ucm: fix the device remove operation
    usecase: allow indexes also for modifier names
    ucm: fix uc_mgr_scan_master_configs()
    ucm: clarify the index syntax for the device names

Configuration

    conf: USB-Audio: Add HP Thunderbolt Dock in the IEC958 blacklist
    conf: remove debug printf() in snd_config_hook_load()
    conf: add support for XDG_CONFIG_HOME search path
    conf: load function (hook) - add OR support
    conf: USB-Audio.conf - add another card name for Asus Xonar 5
    conf: add snd_config_is_array() function
    conf: use bool type for the join member in the config structure
    conf: change namehint for pcm.front
    conf: USB-Audio: Fix S/PDIF output of ASUS Xonar AE
    pcm: dmix: fix sw_params handling of timestamp types in direct plugins
    conf: fix namehint for pcm.front and pcm.iec958
    conf: USB-Audio: Add C-Media USB Headphone Set to the IEC958 blacklist
    Change PCM device number of Asus Xonar U5
    conf: namehint - add omit_noargs to the hint section
    conf: changc Loader helpers

    dlsym: fix the snd_dlopen(), incorrect variable use
    dlsym: fix again snd_dlpath()
    dlsym: fix the reference to the origin lib directory
    snd_dlopen: implement the relocatable version for glibc

Kernel Headers

    header: Fix build error with old kernel headers

Simple Abstraction Mixer Modules

    snd_dlopen: implement the relocatable version for glibc
    snd_dlopen: do not use absolute plugin path for snd_dlopen() calls

Test/Example code

    test: pcm_min - add snd_pcm_drain() call and indentation fixes

1.2.1.2
Core

    Release v1.2.1.2
    local.h: remove sound/asoundef.h dependency
    asoundef.h: add CEA861_AUDIO_INFOFRAME defines

Control API

    control: ctlparse - accept enum values in or ""

PCM API

    pcm_file: fix pipe stall when pclose() is called too early

Topology API

    include/sound: sync with the kernel v5.4

Use Case Manager API

    ucm: add support for ControlEnum in ControlExists condition
    ucm: conditions - fix the wrong string/substring match
    use-case: add priority values from pulseaudio
    use-case: improve comment for mixer elements
    ucm: rename mixer element identifiers
    ucm: fix the cdev initialization sequence
    ucm: remove the new-line for uc_error() calls
    ucm: use-case.h - add <alsa/asoundlib.h> include
    ucm: add ${CardDriver} substitution
    ucm: implement ${sys:sysfs/path} substitution

Kernel Headers

    include/sound/Makefile.am: remove asoundef.h
    local.h: remove sound/asoundef.h dependency
    include/sound: sync with the kernel v5.4

Utils

    alsa.m4: Fix the detection of topology library availability 1.2.1.2
 Core

    Release v1.2.1.2
    local.h: remove sound/asoundef.h dependency
    asoundef.h: add CEA861_AUDIO_INFOFRAME defines

Control API

    control: ctlparse - accept enum values in or ""

PCM API

    pcm_file: fix pipe stall when pclose() is called too early

Topology API

    include/sound: sync with the kernel v5.4

Use Case Manager API

    ucm: add support for ControlEnum in ControlExists condition
    ucm: conditions - fix the wrong string/substring match
    use-case: add priority values from pulseaudio
    use-case: improve comment for mixer elements
    ucm: rename mixer element identifiers
    ucm: fix the cdev initialization sequence
    ucm: remove the new-line for uc_error() calls
    ucm: use-case.h - add <alsa/asoundlib.h> include
    ucm: add ${CardDriver} substitution
    ucm: implement ${sys:sysfs/path} substitution

Kernel Headers

    include/sound/Makefile.am: remove asoundef.h
    local.h: remove sound/asoundef.h dependency
    include/sound: sync with the kernel v5.4

Utils

    alsa.m4: Fix the detection of topology library availability

1.2.1.1
Core

    Release v1.2.1.1

PCM API

    pcm: add braces to condition (coverity)

Use Case Manager API

    ucm: quick fix for the previous commit when ALSA_CONFIG_UCM_VAR is set
    ucm: fix again the long name configuration filename lookup
    ucm: parser: Fix snprintf usage
    ucm: Only look in ucm[1] or ucm2 dir once we've found a config file in one
    ucm: Fix fallback to card_name (shortname) config for ucm1 profiles
    ucm: Fix opening of master-configs by the card's longname
    ucm: fix memory leaks detected by the coverity checker

Configuration

    conf: check for include path duplicates
    conf: fix the include paths support

1.2.1
Core

    Release v1.2.1
    conf: implement snd_config_add_before() and snd_config_add_after()
    topology: remove configuration files (moved to alsa-topology-conf repository)
    create separated libatopology library with the topology routines
    ucm: remove configuration files (moved to alsa-ucm-conf repository)
    conf: improve the include paths code
    Use __func__ instead of __FUNCTION__
    rawmidi: use snd_dlobj_cache_get2() in rawmidi open (coverity)
    ucm: Add UCM profile for CX2072X codec on Baytrail/Cherrytrail profiles

Config API

    conf: implement snd_config_add_before() and snd_config_add_after()
    ucm: change the If block parsing
    ucm: add If condition block

Control API

    control_shm: add missing socket close to the error path (coverity)
    control_shm: remove duplicate code (coverity)

Mixer API

    mixer: simple - add snd_mixer_selem_id_parse() from amixer

PCM API

    pcm: the maximal rate is 768000Hz, fix the remain code
    pcm: fix the period_size for direct plugins (dmix, dsnoop, dshare)
    pcm: Fix the wrong PCM object passed for locking/unlocking
    pcm: chmap: Fix memory leak at snd_pcm_set_chmap()
    pcm: dshare: allow missing bindings
    pcm: return -ENOSYS when ops or fast_ops callback is NULL
    pcm_file: improve error checking in write_wav_header function
    pcm_file: in case of failed write clear file buffer variables
    pcm_file: use EIO instead of EPIPE when failing to write output file
    pcm_file: return errno in case of a failed write operation
    pcm_file: remove double line
    pcm_file: report write output file error to api user
    pcm_file: do not disrupt playback on output file write fail
    pcm: rate: Avoid pointer arithmetic on `void *`
    pcm: direct: Remove unused empty struct
    pcm: Make sure parameter qualifiers match between declaration and definition
    pcm: hw: Don't return in a void function
    Use __func__ instead of __FUNCTION__
    pcm_file: another locking fix (coverity)
    pcm_file: coverity fixes (including double locking)
    pcm_hw: close file descriptor in the error path in snd_pcm_hw_open() (coverity)
    pcm_file: call pclose() correctly for popen() (coverity)
    pcm: fix memory leak in _snd_pcm_parse_config_chmaps() (coverity)
    pcm: file: add infile read support for mmap mode
    pcm: add mmap_begin callback to snd_pcm_fast_ops_t api
    pcm: file: add missing unlock on early return
    pcm: file: use snd_pcm_file_areas_read_infile for readi
    pcm: file: add support for infile reading in non interleaved mode
    pcm: dsnoop: Added "hw_ptr_alignment" option in configuration for \ 
slave pointer alignment
    pcm: dshare: Added "hw_ptr_alignment" option in configuration for \ 
alignment of slave pointers
    pcm: direct: Add generic hw_ptr_alignment function for dmix, dshare and dsnoop

PCM Plugin API

    pcm: the maximal rate is 768000Hz, fix the remain code

RawMidi API

    rawmidi_hw: add sanity check for the invalid stream arguments (coverity)
    rawmidi: use snd_dlobj_cache_get2() in rawmidi open (coverity)

Topology API

    create separated libatopology library with the topology routines
    topology: Fix variable overflow in split_format
    topology: add support to parse private data for pcm
    topology: next round of coverity fixes
    topology: various coverity fixes

Use Case Manager API

    ucm: add possibility to keep order of childs for If blocks
    ucm: change the If block parsing
    ucm: docs: Add MinBufferLevel value
    ucm: docs: Add EDID File value
    use-case header file: add more references to correct ASCII ID parsers for \ 
CTL/mixer IDs
    ucm: add snd_use_case_parse_selem_id()
    ucm: add If.Condition.RegexMatch
    ucm: add ${CardComponents} substitution to the value string processing
    ucm: evaluate nested If blocks also in True/False blocks
    ucm: add If.Condition.String to match strings and substrings
    ucm: add snd_use_case_parse_ctl_elem_id()
    ucm: add PlaybackCTL and CaptureCTL default values when they are not set
    ucm: small cosmetic uc_error change in execute_sequence()
    ucm: add If condition block
    ucm: do not cache all control devices in get_card_long_name()
    ucm: parser - use less memory for integer/real values in parse_value()
    ucm: save the whole ctl info to the ctl_list structure
    ucm: add the run-time variable substitution
    ucm: fix memory leaks for cdev, bin-file and tlv elements
    ucm: do not report failure when long name configuration does not exist
    ucm: add support for multiple control devices, more aggresive caching
    ucm: extend snd_use_case_mgr_open() to address the sound card directly
    ucm: switch to ucm2 directory and v2 format, keep backward compatibility
    conf: improve the include paths code
    ucm: parse_verb_file() - remove folder_name variable and extra logic
    ucm: fix uc_mgr_scan_master_configs() - skip correctly component directories
    ucm: cosmetic fix in get_card_long_name()
    ucm: another coverity fix in uc_mgr_config_load()
    ucm: coverity fixes

/Makefile.am

    create separated libatopology library with the topology routines

/src/Makefile.am

    create separated libatopology library with the topology routines

ALSA Server

    Use __func__ instead of __FUNCTION__
    aserver: fix resource leak coverity

Configuration

    conf: implement snd_config_a_config_add_after()
    topology: remove configuration files (moved to alsa-topology-conf repository)
    ucm: remove configuration files (moved to alsa-ucm-conf repository)
    conf: improve the include paths code
    conf: List cases in range explicitly
    config: parse_string() fix the dynamic buffer allocation failure code (coverity)
    src/conf.c: add missing va_end() call (coverity)
    ucm: Add UCM profile for CX2072X codec on Baytrail/Cherrytrail profiles

Dynamic Loader helpers

    rawmidi: use snd_dlobj_cache_get2() in rawmidi open (coverity)

Utils

    create separated libatopology library with the topology routines

1.1.9
Core

    Release v1.1.9
    add support for GCC's LTO
    add snd_strlcpy() and use it everywhere
    ucm: Add ucm files for DB820c board

Control API

    add support for GCC's LTO
    Print unsigned ints with %u instead of %i. (snd_ctl_ascii_elem_id_get)
    add snd_strlcpy() and use it everywhere

PCM API

    add support for GCC's LTO
    pcm: multi plugin: reset hw/appl pointers in prepare/reset functions
    pcm: multi plugin: detach the hw_ptr and appl_ptr from master_slave
    pcm: fix wait condition in snd_pcm_write_areas() to avoid return zero
    pcm: multi plugin - fix wait_for_avail_min
    pcm: null: Do not allow a period size of 0
    pcm: rate plugin - fix signess in snd_pcm_rate_avail_update() comparison
    add snd_strlcpy() and use it everywhere
    pcm: add the missing <strings.h> include
    pcm: dshare: Fix overflow when slave_hw_ptr rolls over boundary
    pcm: Preserve period_event in snd_pcm_hw_sw_params() call

Sequencer API

    add snd_strlcpy() and use it everywhere

Timer API

    add support for GCC's LTO

Topology API

    Close topology config file after parsing it.
    add snd_strlcpy() and use it everywhere

Use Case Manager API

    Android: avoid using versionsort

/include/Makefile.am

    Drop -I$includedir/alsa from alsa.pc

ALSA Lisp

    alisp: add the missing include

Configuration

    Android: avoid using versionsort
    conf: pcm dmix - add CHANNELS argument
    ucm: bytcr/PlatformEnableSeq.conf update some comments
    ucm: Add ucm files for DB820c board
    Revert "conf/ucm: Add a UCM profile for Dell WD19 Dock USB-audio"
    conf/ucm: Add a UCM profile for Dell WD19 Dock USB-audio

Dynamic Loader helpers

    add support for GCC's LTO

Error handler

    add snd_strlcpy() and use it everywhere

Test/Example code

    Printf unsigned longs with %lu instead of %ld (playmidi1.c)
    Printf unsigned ints with %u instead of %i (pcm.c)
    Printf unsigned long longs with %llu (mixtest.c)
    Printf unsigned longs with %lu instead of %li (midifile.c)
    Printf unsigned long with %lu instead of %li (latency.c)
    test/latency: use frame bytes correctly in writebuf()

Utils

    Drop -I$includedir/alsa from alsa.pc

1.1.8
Core

    Release v1.1.8
    conf: rename snd_conf_load1() to _snd_config_load_with_include()
    conf/ucm: bytcht-es8316: Add long-name UCM profiles
    conf/ucm: Add UCM profile for bytcht-es8316 boards
    Create shared {En,Dis}ableSeq.conf components for rt5645 variants
    conf/ucm: bytcr-rt5651: Add bytcr-rt5651-stereo-spk-dmic-mic config
    conf/ucm: kblrt5660: Add ucm setting for Dell Edge IoT platform
    conf/ucm: chtrt5650: Add UCM config for chtrt5650
    ucm: Set default include path
    conf: Move UCM profile snippets into components subdirectory
    initial version of .travis.yml file

Control API

    control: fix the assert() in snd_ctl_elem_set_bytes

PCM API

    pcm: ioplug: Fix the regression of pulse plugin drain
    pcm: extplug: Keep format and channels the same if requested
    pcm: dshare: Fix segfault when not binding channel 0
    pcm: dmix: Add option to allow alignment of slave pointers
    pcm: interval: Interpret (x x+1] correctly and return x+1

Use Case Manager API

    conf: rename snd_conf_load1() to _snd_config_load_with_include()
    ucm: Set default include path
    conf: Move UCM profile snippets into components subdirectory

Configuration

    conf: rename snd_conf_load1() to _snd_config_load_with_include()
    conf/ucm: bytcht-es8316: Add long-name UCM profiles
    conf/ucm: Add UCM profile for bytcht-es8316 boards
    Create device component for rt5645 Internal Analog Mic UCM
    Factor out rt5645 variants Headset+Digital Mic UCM shared {en,dis}able sequences
    Factor out rt5645 variants Speaker+Headphones shared UCM enable sequences
    Create shared {En,Dis}ableSeq.conf components for rt5645 variants
    Update chtrt5645 ucm variants to use bytcr/PlatformEnableSeq.conf component
    conf/ucm: bytcr-rt5651: Document mono speaker wiring
    conf/ucm: bytcr-rt5651: Add bytcr-rt5651-stereo-spk-dmic-mic config
    conf/ucm: bytcr-rt5651: Add digital mic support
    conf/ucm: bytcr-rt5651: Add support for a headset-mic on IN2
    conf/ucm: bytcr-rt5651: Enable Stereo? ADC MIXL ADC? switches when enabling \ 
inputs
    conf/ucm: kblrt5660: Add ucm setting for Dell Edge IoT platform
    conf/ucm: chtrt5650: Add UCM config for chtrt5650
    ucm: Set default include path
    conf: Move UCM profile snippets into components subdirectory
    conf: USB-Audio: Add Dell WD19 Dock in the IEC958 blacklist
    conf/ucm/Dell-WD15-Dock: Fix incorrect device names

Documentation

    README.md: add link to www.alsa-project.org
    initial version of README.md for github

External PCM Filter Plugin SDK

    pcm: extplug: Keep format and channels the same if requested

Test/Example code

    test/audio_time: remove unused variables
    test: rename code to more approriate mixtest
    test/code: make it work again
    test/latecy: fix typo in tstamp compare

Utils

    utils/alsa.m4: conditionally enable libdl in AM_PATH_ALSA m4 macro

1.1.7
Core

    Release v1.1.7
    conf/ucm: bytcr-rt5651: Add bytcr-rt5651-mono-spk-in2-mic-hp-swapped config
    conf/ucm: bytcr-rt5651: Add long-name UCM profiles
    conf/ucm: bytcr-rt5651: Use generic SSP enable + disable sequence, support SSP0
    conf/ucm: chtnau8824: Add Cube iWork8 Air and Pipo W2S specific profiles
    conf/ucm: chtnau8824: Add UCM profile for chtnau8824 boards
    conf/ucm: bytcr-rt5640: Add long-name UCM profiles
    conf/ucm: bytcr-rt5640: Add generic bytcr-rt5640 UCM profile
    configure: Fix forgotten ucm entry
    conf/ucm: chtrt5645: At config for the Lenovo Ideapad Miix 320
    conf/ucm: chtrt5645: At config for the Asus T100HA
    configure: remove src/conf/alsa.conf.d/Makefile

Control API

    control_hw: Fix issue when applying seccomp policy
    hcontrol: use position offset macro of TLV data
    control: use position offset macro of TLV data

PCM API

    pcm: ioplug: Transfer all available data
    pcm: rate: Add error check for snd_pcm_avail_update()
    pcm: ioplug: Provide avail helper function for plugins
    pcm: snd_interval_refine_first/last: exclude value only if also excluded before
    pcm: Define refine mask bits explicitly (and fix missing DSD support)
    pcm: dmix: Fix hwptr updates at status call
    pcm ioplug: fix some coverity issues (switch, missing unlock in \ 
snd_pcm_ioplug_drain())
    pcm: add missing flags initialization for the fallback control data
    pcm: softvol: use position offset macro of TLV data
    pcm: hw: use position offset macro of TLV data
    pcm: softvol: Allow up to 90 dB of gain

PCM Plugin API

    pcm: Fix header guard in pcm_plugin.h

Sequencer API

    seq: Fix signedness in MIDI encoder/decoder

Topology API

    ASoC: topology: Add alias conf parameter names for hw_configs
    ASoC: topology: Add definitions for mclk_direction values
    ASoC: topology: Add missing clock gating parameter when parsing hw_configs
    ASoC: topology: Fix bclk and fsync inversion in set_link_hw_format()

Use Case Manager API

    ucm: adding the folder of card_long_name when finding verb conf file

Configuration

    conf/ucm: bytcr-rt5640: Improve human readable input/output names
    conf/ucm: bytcr-rt5651: Add bytcr-rt5651-mono-spk-in2-mic-hp-swapped config
    conf/ucm: bytcr-rt5651: Add long-name UCM profiles
    conf/ucm: bytcr-rt5651: Add mono speaker output profile
    conf/ucm: bytcr-rt5651: Split into 1 .conf file per input / output
    conf/ucm: bytcr-rt5651: Add support for mic input on various pins
    conf/ucm: bytcr-rt5651: Fix ADC and Mic capture volumes
    conf/ucm: bytcr-rt5651: Use generic SSP enable + disable sequence, support SSP0
    conf/ucm: bytcr-rt5651: Change Speaker/Headphone en/disable sequences to fix \ 
switching
    conf/ucm: bytcr-rt5651: Start with all outputs and inputs disabled
    conf/ucm: bytcr-rt5651: Configure all volumes at 0dB
    conf/ucm: bytcr-rt5651: Do not use both DAC1 and HPVOL inputs for HP
    conf/ucm: bytcr-rt5645: Use the generic bytcr/PlatformEnableSeq.conf
    conf/ucm: VEYRON-I2S: Add internal speakers and mic, other fixes
    conf/ucm: chtnau8824: Add Cube iWork8 Air and Pipo W2S specific profiles
    conf/ucm: chtnau8824: Add UCM profile for chtnau8824 boards
    conf/ucm: bytcr-rt5640: Add default DisableSequence
    conf/ucm: bytcr-rt5640: Add long-name UCM profiles
    conf/ucm: bytcr-rt5640: Add generic bytcr-rt5640 UCM profile
    conf: USB-audio: Fix for Xonar U7 SPDIF device
    conf/ucm: Add a UCM profile for Dell WD15 Dock USB-audio
    conf/ucm: chtrt5645: At config for the Lenovo Ideapad Miix 320
    conf/ucm: chtrt5645: At config for the Asus T100HA
    conf/ucm: chtrt5645: Fix recording from internal analog microphone
    conf/ucm: chtrt5645: Microphone recording fixes
    conf/ucm: chtrt5645: Cleanup and playback fixes
    conf/ucm: increase the input volume for LineIn
    ASoC: topology: Fix bclk and fsync inversion in set_link_hw_format()
    conf: remove alsa.conf.d from the datadir
    alsa.conf: change the location for add-on configs to /etc/alsa/conf.d

External PCM I/O Plugin SDK

    ioplug: Fix comment in struct snd_pcm_ioplug
    pcm: ioplug: Provide avail helper function for plugins

Kernel Headers

    timer: fix wrong comment to refer to 'SNDRV_TIMER_PSFLG_*'
    control: add a series of macro for offset of several types of TLV
    ASoC: topology: Add definitions for mclk_direction values
    ASoC: topology: Add missing clock gating parameter when parsing hw_configs
    ASoC: topology: Fix bclk and fsync inversion in set_link_hw_format()

Test/Example code

    test: use position offset macro of TLV data

1.1.6
Core

    Release v1.1.6
    a set of fixes to reduce gcc warnings
    modules: smixer_python - add support for python3
    conf/ucm: Add chtrt5645-mono-speaker-analog-mic configuration
    core: Proper reference of internal snd_dlopen()
    conf/ucm: Add Gigabyte mobo UCM profile with dual HD-audio codecs
    conf/ucm: Add dual HD-audio codecs config for Lenovo
    conf/ucm: Rearrange Makefile.am
    configure.ac: do not enable alisp code by default
    configure.ac: build extra mixer modules conditionally
    Change snd_dlopen() function to return the error string
    Change FSF address (Franklin Street)

Control API

    control ext: fix the default .rawmidi_next_device callback
    control: Proper reference of internal versioned functions

HWDEP API

    core: Proper reference of internal snd_dlopen()

Mixer API

    core: Proper reference of internal snd_dlopen()

PCM API

    pcm: ioplug: Implement proper drain behavior
    pcm: Skip avail_min check during draining
    a set of fixes to reduce gcc warnings
    pcm: hw: Keep control data from kernel when SND_PCM_APPEND
    pcm: ioplug: update prepare and draining state correctly
    pcm: Provide areas_copy function which handles buffer wrap around
    pcm: ioplug: Provide hw_avail helper function for plugins
    pcm: Do not access lock_enabled if thread safe API
    pcm: ioplug: Use boundary for wrap around
    pcm: another fix for the snd_pcm_area_silence() fast path
    pcm: fix a bug to copy silent samples aligned to 64
    pcm: Fix two bugs in snd_pcm_area_silence()
    pcm: Return the consistent error code for unexpected PCM states
    core: Proper reference of internal snd_dlopen()
    timer: Proper reference of internal versioned symbols
    pcm: fix wrong comments for some cases of linear interpolation of PCM samples
    pcm: remove unused macros of NORMS_LABELS/NORMS_END
    pcm: remove unused macros of GETU_LABELS/GETU_END
    pcm: remove unused macros of COPY_LABELS/COPY_END
    pcm: plug: add SND_PCM_FORMAT_{S, U}20 to linear_preferred_formats
    pcm: linear, route: handle linear formats with 20-bit sample on 4 bytes
    pcm: add and describe SND_PCM_FORMAT_{S, U}20
    pcm: route: Fix use_getput flag computation for 3 byte formats

Timer API

    timer: Proper reference of internal versioned symbols

Topology API

    a set of fixes to reduce gcc warnings
    topology: Fix parsing config with multiple hw_configs
    topology: Fix to skip writing of header for compound elements

ALSA Lisp

    control: Proper reference of internal versioned functions
    Change FSF address (Franklin Street)

ALSA Server

    a set of fixes to reduce gcc warnings
    Change FSF address (Franklin Street)

Compatibility routines

    Change FSF address (Franklin Street)

Configuration

    conf: USB-Audio: Add second S/PDIF device on Phiree U2SX
    conf/ucm: Add chtrt5645-mono-speaker-analog-mic configuration
    core: Proper reference of internal snd_dlopen()
    conf/ucm: Add Gigabyte mobo UCM profile with dual HD-audio codecs
    conf/ucm: Add dual HD-audio codecs config for Lenovo
    conf/ucm: Rearrange Makefile.am
    configure.ac: build extra mixer modules conditionally
    Change snd_dlopen() function to return the error string

Documentation

    Change FSF address (Franklin Street)

Dynamic Loader helpers

    core: Proper reference of internal snd_dlopen()

External PCM I/O Plugin SDK

    pcm: ioplug: Provide hw_avail helper function for plugins
    pcm: ioplug: Use boundary for wrap around

Kernel Headers

    asound.h: add SNDRV_PCM_FORMAT_{S, U}20

Simple Abstraction Mixer Modules

    modules: smixer_python - add support for python3
    configure.ac: build extra mixer modules conditionally
    Change snd_dlopen() function to return the error string

Test/Example code

    test: correct emulation for channel-map TLV

1.1.5
Core

    Release v1.1.5
    conf/ucm: rt5651: Add UCM config for bytcr-rt5651
    snd_user_file: avoid use wordexp
    cleanup: fix poll.h includes
    Release v1.1.4.1
    conf: Check the availability of PTHREAD_MUTEX_RECURSIVE

Control API

    ctl: deprecate APIs of dimensional information
    ctl: ext: Fail with error code if snd_ctl_ext_callback::read_event() \ 
callback is not defined
    cleanup: fix poll.h includes

PCM API

    pcm: softvol: add support for S24_LE
    cleanup: Use uint*_t instead of u_int*_t everythwere
    cleanup: fix poll.h includes
    pcm: hw: remove superfluous code to call of SNDRV_PCM_IOCTL_SYNC_PTR in \ 
snd_pcm_hw_forward()
    pcm: hw: add a helper function to issue avail_min without side-effects
    pcm: hw: add a helper function to issue appl_ptr without side-effects
    pcm: hw: add a helper function to request hwsync without side-effects
    pcm: hw: add a helper function just to query status data
    pcm: hw: add a helper function to query status/control data
    pcm: hw: minor refactoring for initialization of control data
    pcm: hw: fix to initialize function local variable
    pcm: hw: Call USER_PVERSION ioctl at open
    pcm: hw: maintain fallback mode for control data mapping independently
    pcm: hw: maintain fallback mode for status data mapping
    pcm: hw: allocate fallback buffer in advance of trials of mapping
    pcm: hw: deallocate fallback buffer when trials of unmapping finished
    pcm: hw: add an arrangement for initialization of appl_ptr/avail_min
    pcm: hw: add helper functions to map/unmap status/control data for runtime \ 
of PCM substream
    pcm: hw: Remove superfluous call of snd_pcm_set_appl_ptr()
    pcm: minor code cleanup for ioctl call
    pcm: obsolete 'mmap_emulation' parameter of snd_pcm_hw_open_fd()
    pcm: dmix: Fix the inconsistent PCM state
    pcm: dshare: Call snd_pcm_dshare_state() directly
    pcm: dmix: Workaround for binary incompatibility
    conf: Check the availability of PTHREAD_MUTEX_RECURSIVE
    build: Define __USE_UNIX98 for old glibc

RawMidi API

    rawmidi: symbols: use rawmidi_virt only when available

Sequencer API

    seq: fix snd_seq_set_queue_tempo() usage example in the documentation
    cleanup: fix poll.h includes

Topology API

    alsa-lib: topology: fix DSP_B mode string
    topology: fix coverity issues
    topology: fix usage of SND_TPLG_INDEX_ALL when checking routes
    topology: Fix private data for BEs
    topology: improve verbose output for block output.
    topology: Add support for new widget types
    topology: Add parsing for rates from conf
    topology: disable alsa-lib topology debug output by default.
    topology: Add support for missing fields parser.

ALSA Server

    cleanup: fix poll.h includes

Compatibility routines

    cleanup: Use uint*_t instead of u_int*_t everythwere

Configuration

    conf/ucm: rt5651: Mute speakers on boot
    conf/ucm: rt5651: Add missing cdev
    conf/ucm: rt5651: Fix HiFi file name
    conf/ucm: rt5651: Add UCM config for bytcr-rt5651
    conf: HdmiLpeAudio: remove the "front" pcm definition
    conf: HdmiLpeAudio: add support for 3 devices
    conf/ucm: DB410c-HiFi: add CIC selection
    conf: USB-Audio: allow custom definitions for "default" devices
    conf: USB-Audio: fix dsnoop args for Audiophile USB card
    conf: Check the availability of PTHREAD_MUTEX_RECURSIVE

Filename helpers

    snd_user_file: avoid use wordexp

Kernel Headers

    topology: Add support for new widget types
    pcm: hw: Call USER_PVERSION ioctl at open

SHM helpers

    cleanup: fix poll.h includes

Test/Example code

    test: obsolete usage of APIs of dimensional information
    test/seq-decoder: enable timestamping for external subscribers
    test: apply optimization for v4.14 kernel about changes for TLV data \ 
handling on user-defined element set
    test: add a test for list operation to user-defined element sets

1.1.4.1
Core

    Release v1.1.4.1
    conf: Check the availability of PTHREAD_MUTEX_RECURSIVE

PCM API

    pcm: dmix: Fix the inconsistent PCM state
    pcm: dshare: Call snd_pcm_dshare_state() directly
    pcm: dmix: Workaround for binary incompatibility
    conf: Check the availability of PTHREAD_MUTEX_RECURSIVE
    build: Define __USE_UNIX98 for old glibc

Configuration

    conf: Check the availability of PTHREAD_MUTEX_RECURSIVE

Test/Example code

    test: add a test for list operation to user-defined element sets

Files:
RevisionActionfile
1.23modifypkgsrc/audio/alsa-lib/Makefile
1.8modifypkgsrc/audio/alsa-lib/PLIST
1.29modifypkgsrc/audio/alsa-lib/distinfo
1.5modifypkgsrc/audio/alsa-lib/patches/patch-aq
1.3modifypkgsrc/audio/alsa-lib/patches/patch-configure.ac
1.6modifypkgsrc/audio/alsa-lib/patches/patch-include_sound_asound.h
1.3modifypkgsrc/audio/alsa-lib/patches/patch-src_pcm_pcm__mmap.c
1.2modifypkgsrc/audio/alsa-lib/patches/patch-src_seq_seq__midi__event.c
1.3modifypkgsrc/audio/alsa-lib/patches/patch-src_shmarea.c
1.8modifypkgsrc/audio/alsa-lib/patches/patch-src_ucm_parser.c
1.1addpkgsrc/audio/alsa-lib/patches/patch-include_sound_type__compat.h
1.1addpkgsrc/audio/alsa-lib/patches/patch-include_sound_uapi_asoc.h
1.1addpkgsrc/audio/alsa-lib/patches/patch-include_sound_uapi_asound.h
1.1addpkgsrc/audio/alsa-lib/patches/patch-src_dlmisc.c