Changes v1.2.4 v1.2.5: Difference between revisions

From AlsaProject
Jump to navigation Jump to search
No edit summary
 
m (1 revision)
 
(No difference)

Latest revision as of 10:08, 31 May 2021

Detailed changes v1.2.4 v1.2.5

Changelog between 1.2.4 and 1.2.5 releases

alsa-lib

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.

alsa-utils

Core

Release v1.2.5
autotools: preparation to use memfd_create(2)
alsactl: add 'clean' command to remove the application controls

ALSA Control (alsactl)

alsactl: ucm - try both fixed boot and boot sequences
alsactl: clean the boot / hotplug card specific configuration directory
alsactl: snd_ctl_elem_id_compare was renamed to snd_ctl_elem_id_compare_set
alsactl: use card iterator functions for all card loops
alsactl: Add ucm support for the FixedBootSequence
alsactl: fix possible memory leak for dump-cfg
alsactl: add 'clean' cmd to help, improve man page
alsactl: fix the compiler warning (uninitialized variable res)
alsactl: add dump-cfg and dump-state commands
alsactl: init command now honors -g flag as well
alsactl: honor ignore_nocards flag in init()
alsactl: fix some compiler warnings
alsactl: add 'clean' command to remove the application controls
alsactl: init - parse() - fix possible double free
alsactl: init - set_ctl_value() - fix bytes parsing
alsactl: daemon - read_pid_file() fix the returned code on read error
alsactl: Remove asound.state file check from alsa-restore.service again
alsactl: Fix race at creating a lock file
alsactl: Fix double decrease of lock timeout

ALSA RawMidi Utility (amidi)

amidi, aseqnet: handle write errors

Audio Transfer utility

axfer: fix regression of timeout in timer-based scheduling model
axfer: test: reduce test case for maximum number of samples per frame
Revert "axfer: test - add run-test-in-tmpdir.sh script"
axfer: test: reduce test case for maximum number of frame count
axfer: test: use memfd_create() for mapper-test
axfer: test: minor code arrangement to use the same file descriptor for mappter-test
axfer: test: use memfd_create() for container-test
axfer: test: minor code arrangement to use the same file descriptor for container-test
axfer: maintain lifetime of file descriptor outside of container module
axfer: open file descriptor outside of container module
axfer: minor code arrangement to allocate containers
axfer: minor code arrangement in a point of opened file descriptor
axfer: minor code arrangement in a point of stdio detection
axfer: minor code arrangement for container module in a point of nonblocking flag
axfer: test - add run-test-in-tmpdir.sh script

Speaker Test

speaker-test: add support for S24_LE and S24_BE

alsa-info.sh

alsa-info.sh: Add jack2 (jackdbus) detection
alsa-info.sh: Use HTTPS instead of HTTP
alsa-info.sh: add PipeWire daemon detection
alsa-info.sh: bumb version to 0.5.0
alsa-info.sh: add sysfs card info section
alsa-info.sh: add card number to the ALSA module list section
alsa-info.sh: add audio keyword to the dmesg filter
alsa-info: Add lsusb and stream outputs

alsaconf

Add Basque translation

alsaloop

alsaloop: man page - correct "rate" option
alsaloop: samplerate - fix the wrong pointer operation
alsaloop: get_queued_playback_samples() - simplify code
alsaloop: fix possible memory leak in create_loopback_handle()

alsamixer

alsamixer: increase control device name buffer (sysdefault)
amixer/alsamixer: use sysdefault:<CARD> devices instead hw:<CARD>
alsamixer: use background color instead of COLOR_BLACK
alsamixer: fix shift in parse_words()
alsamixer: remove unused variable y in display_scroll_indicators()
alsamixer: remove dead fcn widget_handle_key() in widget.c
alsamixer: Fix the mixer views description in man page

alsatplg (topology)

topology: some whitespace fixups
topology: pre-process-object: add support for prepocessing child objects
topology: pre-process-dai: add support for pcm_caps objects
topology: pre-process-dai: add support for fe_dai objects
topology: pre-process-dai: add support for hwcfg objects
topology: pre-process-dai: add support for PCM and BE DAI objects
topology: pre-process-dapm: add support for route objects
topology: pre-process-dapm: add support for widget control objects
topology: pre-process-dapm: add support for scale/ops/channel objects
topology: pre-process-dapm: Add support for tlv objects
topology: pre-process-dapm: Add support for DAPM Widget objects
topology: pre-process-base: add support for VendorToken objects
topology: pre-process-object: Add support for data objects
topology: pre-process-obejct: add helper function to get the section config
topology: pre-process-object: add data section for attributes with token reference
topology: pre-process-object: Add support for processing Manifest object
topology: pre-process-object: construct object name from its constructor attributes
topology: pre-process-object: check attribute validity
topology/pre-process-object: update object config with attributes
topology: pre-process-object: Add support for pre-processing Objects
topology: pre-process-class: add function to convert valid attribute values to integer tuple values
topology: pre-process-class: add function to look up token_ref for an attribute in class
topology: pre-process-class: function to get attribute type
topology: pre-process-class: add funcion to get the name of the unique attribute in a class
topology: pre-process-class: Add functions to check attribute constraints
topology: pre-process-class: Add function to look up attribute definition in class
topology: pre-process-class: Add helper function to look up class definition
topology: pre-processor: Add a helper function to concat strings
topology: pre-processor: Add a couple of config helpers
topology: pre-processor: Add debug print helpers
topology: Add support for pre-processing Topology2.0 syntax
topology: fix possible double free in load()

alsaucm

alsaucm: add 'getval' and 'getival' commands
ucm: fix typo in docs

amixer

amixer: Makefile - add volume_mapping.h to noinst_HEADERS
amixer: add the volume_mapping.h link
amixer: link volume_mapping.c from alsamixer to amixer
amixer: don't show help on argument parsing error
amixer/alsamixer: use sysdefault:<CARD> devices instead hw:<CARD>
amixer: cleanups for valgrind
amixer: print error when snd_hctl_handle_events() fails
amixer: Expand on channel docs in man page

aplay/arecord

aplay: avoid any further PCM writing if in abort
aplay: fix the wrong pointer dereference in playbackv_go()
aplay: fix the test position test for playback (avail > delay)
aplay: add avail > delay checks to --test-position
aplay: add test code for snd_pcm_status() to --test-position
aplay: fix the CPU busy loop in the pause handler
aplay: cosmetic code fix in xrun()
aplay: try to use 16-bit format to increase capture quality

aseqnet

amidi, aseqnet: handle write errors

tinycompress

Core

Release v1.2.5
cplay: Add suport for PCM audio codec

Header files

include: add tinywave.h to noinst_HEADERS
wave: Introduce parse_wave header
wave: Separate wave functions to wave file
crecord: Move wave data structures to their own header

Utilities

cplay: Add suport for AAC audio codec
cplay: Add suport for PCM audio codec
wave: Introduce parse_wave header
wave: Separate wave functions to wave file
crecord: Move wave data structures to their own header

alsa-ucm-conf

Configuration

rt5640 / bytcr-rt5640: cleanups
tegra: Add UCM for ASUS Google Nexus 7 (2012)
tegra: Add UCM for Acer Iconia Tab A500
tegra: Add symlinks to conf.d/tegra
codecs/rt5640: Make headset optional
codecs/rt5640: Fix restoring of playback volumes
codecs/rt5640: Turn off playback switches by default
codecs/rt5640: Move out BayTrail-specific pin switches
fix ucm2/README.md - ALSA driver name has the precedence
rt715: add the missing sof prefix to the hw control name
rt715-scda (rt714) - add mic led support
rt715: add mic led support
rt715: don't initialize obsolete ADC controls
sof-soundwire: rt715 - use the hw volume control
bytcr-rt5640: Add support for controlling a speaker-mute LED
cht-bsw-rt5672: Add support for controlling speaker- and mic-mute LEDs
cht-bsw-rt5672: Add support for the components string
remap mixer controls for rt5682
remap mixer controls for rt5660
remap mixer controls for rt5677
remap mixer controls for rt5651
remap mixer controls for rt5645
remap mixer controls for rt5640
ucm2: add lib / ctl-remap.conf generic device
ucm2: lib/generic - use standard (not substituted) config tree
ucm2: remove the trailing slash from the rm command
ucm2: use private alsa-lib's configuration by default
ucm2: replace ${CardIdByName} substitution with ${find-card}
ucm2: soundwire: use the codec kcontrols for rt711-sdca
sof-soundwire: use the ${find-device} lookup for the dmic device
ucm2: add initial alsa library helpers
ucm2: create empty conf.virt.d directory
ucm2: add conf.virt.d lookup
Qualcomm/sm8250: fix the typo in Include identifier for Mic
ucm2/conf.d/sm8250: add symlink for Qualcomm RB5 platform
ucm2: add support to for Qualcomm RB5 Platform
ucm2: codecs: lpass: add codec sequences for wsa and va macro
ucm2: soundwire: add basic settings for SDCA devices
ucm2: soundwire: use cfg-amp instead of cfg-spk component string
broadwell-rt286, bdw-rt5677: Fix inconsistency in card detection
broadwell-rt286, bdw-rt5677: Fix comment at top of file
codecs/rt5640: Specify Playback/CaptureMasterElem for HW volume-control
codecs/rt5672: Add hardware volume-control support
codecs/rt5672: Move +12dB input boost from 'STO1 ADC Boost Gain' to 'ADC Capture Volume'
codecs/rt5640: Add hardware volume-control support
codecs/rt5640: Unify capture volume for AIF1 and AIF2 recording paths
codecs/rt5640: Drop bogus 'DIG MIXL DAC L2 Switch' setting
codecs/rt5640: Cleanup: Move 'SPK MIX' setup to main EnableSequene
codecs/rt5640: Cleanup: Initially disable all inputs and outputs
codecs/rt5640: Cleanup: unify Stereo / Mono ADC handling
codecs/es8316: Add hardware volume-control support
codecs/es8316: Fix 'HP Mixer Volume' setting
codecs/es8316: Fix capture settings
ucm2/conf.d: add symlinks for Qualcomm cards
ucm2: Separate the configuration lookups (hw based) from the configuration tree
bytcr-wm5102: Add new UCM profile for BYT boards with a WM5102 codec
codecs/rt5672: Remove Intel SST specific HeadsetMic workaround
sof-soundwire: add support for dmics
sof-hda-dsp: update handling of cfg-dmics strings
chtnau8824: Add support for using the SOF driver
kblrt5660: Fix file permissions
chtnau8824: Add a SST define/variable
USB-Audio: fix indentation in Gigabyte-Aorus-Master-Main-Audio-HiFi.conf
USB-Audio/ALC1220: fix indentation for Speaker device
USB-Audio/ALC1220: Bump analog Speaker priority over S/PDIF
ucm2: add initial configuration for TRX40 Gigabyte Aorus Master Audio
bytcr-rt5640: fix the execution order
rt5640: Move standard DAC setup to EnableSeq.conf
bytcr-rt5640: Add support for devices without speakers and/or an internal mic
chtrt5645: Enable Internal MIC of ECS EF20EA
HDA-Intel/HiFi-dual: Add BootSequence and disable playback channels in verb init
HDA-Intel/HiFi-dual: Add EnableSequence and DisableSequence for Speaker and Headphones
sof-hda-dsp: Set Master Playback Switch on in the BootSequence
rt715: init: setup ADC07 to a proper volume
chtnau8824: Boost analog mic volumes a bit
chtnau8824: Add support for laptops using stereo DMICs
chtnau8824: Fix mono speaker config not working
Revert "ucm2: HDA/acp - add Capture simple mixer element to the ACP Mic device"
sof-soundwire: use the codecs/hda/hdmi.conf macro
codecs/hda/hdmi.conf - add DisplayPort to the device description (Comment)
fix the ucm2/codecs/hda/hdmi.conf use

alsa-topology-conf

/Makefile

Makefile: add SRCPATH to override the source .conf tree
Introduce Makefile to simplify the binary files availability

Description

Introduce Makefile to simplify the binary files availability

Changelog between 1.2.2 and 1.2.5 releases

alsa-tools

Core

Release v1.2.5

hdspmixer

hdspmixer: add output loopback buttons
hdspmixer: enhance saving of presets

alsa-plugins

Core

Release v1.2.5

A52 Output plugin

pcm_a52: Don't move bytes within the outbuf
pcm_a52: Don't pass EAGAIN errors from the slave to the caller
pcm_a52: Determine virtual hardware pointer upon slave pointer

Automatic upmix / downmix plugins

upmix: complete generalizing format

Jack PCM plugin

jack: add option to allow non-jack-aligned period size

OSS Mixer -> ALSA Control plugin

oss: fix the config (port -> device)

PulseAudio -> ALSA plugin

pulse: pcm - handle reading pulse stream hole

USB stream plugin

usb_stream: use snd_config_get_card() to decode the card number