  <?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://www.alsa-project.org/main/index.php?action=history&amp;feed=atom&amp;title=Changes_v1.2.4_v1.2.5</id>
	<title>Changes v1.2.4 v1.2.5 - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://www.alsa-project.org/main/index.php?action=history&amp;feed=atom&amp;title=Changes_v1.2.4_v1.2.5"/>
	<link rel="alternate" type="text/html" href="https://www.alsa-project.org/main/index.php?title=Changes_v1.2.4_v1.2.5&amp;action=history"/>
	<updated>2026-04-14T02:39:21Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.39.0</generator>
	<entry>
		<id>https://www.alsa-project.org/main/index.php?title=Changes_v1.2.4_v1.2.5&amp;diff=7400&amp;oldid=prev</id>
		<title>Perex: 1 revision</title>
		<link rel="alternate" type="text/html" href="https://www.alsa-project.org/main/index.php?title=Changes_v1.2.4_v1.2.5&amp;diff=7400&amp;oldid=prev"/>
		<updated>2021-05-31T10:08:05Z</updated>

		<summary type="html">&lt;p&gt;1 revision&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 10:08, 31 May 2021&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-notice&quot; lang=&quot;en&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(No difference)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>Perex</name></author>
	</entry>
	<entry>
		<id>https://www.alsa-project.org/main/index.php?title=Changes_v1.2.4_v1.2.5&amp;diff=7399&amp;oldid=prev</id>
		<title>Perex at 10:08, 31 May 2021</title>
		<link rel="alternate" type="text/html" href="https://www.alsa-project.org/main/index.php?title=Changes_v1.2.4_v1.2.5&amp;diff=7399&amp;oldid=prev"/>
		<updated>2021-05-31T10:08:05Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&lt;br /&gt;
{| align=&amp;quot;right&amp;quot;&lt;br /&gt;
| __TOC__&lt;br /&gt;
|}&lt;br /&gt;
[[Detailed changes v1.2.4 v1.2.5]]&lt;br /&gt;
=Changelog between 1.2.4 and 1.2.5 releases=&lt;br /&gt;
==alsa-lib==&lt;br /&gt;
===Core===&lt;br /&gt;
: Release v1.2.5&lt;br /&gt;
: control: add missing src/conf/ctl/Makefile.am&lt;br /&gt;
: ucm: add LibraryConfig support&lt;br /&gt;
: control: remap plugin - initial version&lt;br /&gt;
: configure: bumb version to 1.2.5pre1 (for CI tests)&lt;br /&gt;
===Config API===&lt;br /&gt;
: conf: add snd_config_make_path() function&lt;br /&gt;
: conf: add snd_config_is_empty() function&lt;br /&gt;
: conf: add snd_config_merge() function&lt;br /&gt;
: conf: introduce snd_config_get_card() function&lt;br /&gt;
===Control API===&lt;br /&gt;
: control: remap - add no-op when the remapping is not active&lt;br /&gt;
: control: remap - don't allow I/O on renamed IDs&lt;br /&gt;
: ucm: add LibraryConfig support&lt;br /&gt;
: control: add empty plugin&lt;br /&gt;
: control: remap plugin - add docs&lt;br /&gt;
: control: doc - create controls plugin page&lt;br /&gt;
: control: remap plugin - initial version&lt;br /&gt;
: control: add _snd_ctl_open_child()&lt;br /&gt;
: control: shm - add missing continue to _snd_ctl_shm_open()&lt;br /&gt;
: ucm: move __snd_ctl_ascii_elem_id_parse prototype to control_local.h&lt;br /&gt;
: control: add __snd_ctl_add_elem_set() helper&lt;br /&gt;
: control: add snd_ctl_elem_id_compare_numid() function&lt;br /&gt;
: control: rename snd_ctl_elem_id_compare() to snd_ctl_elem_id_compare_set()&lt;br /&gt;
: control: fix the subdevice fields comparison in snd_ctl_elem_id_compare()&lt;br /&gt;
: control: better docs for snd_ctl_elem_id_compare()&lt;br /&gt;
: control: add snd_ctl_elem_id_compare() function&lt;br /&gt;
: control: snd_ctl_ascii_elem_id_get() - do not show unset numid&lt;br /&gt;
: conf: introduce snd_config_get_card() function&lt;br /&gt;
: control: improve snd_ctl_add_*_elem_set functions (access flags)&lt;br /&gt;
: control: fix iformation -&amp;amp;gt; information typos&lt;br /&gt;
===Control Plugin API===&lt;br /&gt;
: control: remap plugin - add docs&lt;br /&gt;
: control: doc - create controls plugin page&lt;br /&gt;
===HWDEP API===&lt;br /&gt;
: conf: introduce snd_config_get_card() function&lt;br /&gt;
===I/O API===&lt;br /&gt;
: output: Add snd_output_buffer_steal() function&lt;br /&gt;
===Mixer API===&lt;br /&gt;
: mixer: simple - Fix &amp;quot;Capture Volume&amp;quot; and &amp;quot;Capture Switch&amp;quot; being seen as global controls&lt;br /&gt;
: mixer: simple - use for loop in base_len()&lt;br /&gt;
: mixer: simple - Unify simple_none: base_len() exception handling&lt;br /&gt;
===PCM API===&lt;br /&gt;
: pcm: hw - correct the comment in snd_pcm_hw_state()&lt;br /&gt;
: pcm: hw - fix again snd_pcm_hw_state() when the driver was disconnected&lt;br /&gt;
: pcm: hw - fix snd_pcm_hw_state()&lt;br /&gt;
: pcm: fix open in direct plugins - wrong pointer assignment&lt;br /&gt;
: pcm: direct - move the direct struct init to _snd_pcm_direct_new()&lt;br /&gt;
: pcm: dshare - fix shared memory pointer check&lt;br /&gt;
: ucm: add LibraryConfig support&lt;br /&gt;
: pcm: empty plugin - fix the docs&lt;br /&gt;
: pcm: softvol - improve TLV data check for new configs&lt;br /&gt;
: pcm: fix snd_pcm_plugin_status()&lt;br /&gt;
: conf: introduce snd_config_get_card() function&lt;br /&gt;
: pcm: softvol - make snd_pcm_parse_control_id private&lt;br /&gt;
: pcm: softvol - do not set TLV access flags for the switch&lt;br /&gt;
: pcm: pcm_ioplug - fix the avail_update mmap capture copy issue&lt;br /&gt;
: pcm: share: Pass appl_ptr and hw_ptr in snd_pcm_status()&lt;br /&gt;
: pcm: null: Pass appl_ptr and hw_ptr in snd_pcm_status()&lt;br /&gt;
: pcm: ioplug: Pass appl_ptr and hw_ptr in snd_pcm_status()&lt;br /&gt;
: pcm: direct: Fix the missing appl_ptr update&lt;br /&gt;
: pcm: dmix/dshare - delay calculation fixes and cleanups&lt;br /&gt;
: pcm_plugin: set the initial hw_ptr/appl_ptr from the child pcm&lt;br /&gt;
: pcm: rate - fix the capture delay values&lt;br /&gt;
: pcm: rate - use pcm_frame_diff() on related places&lt;br /&gt;
: pcm: plugin - fix status code for capture&lt;br /&gt;
: pcm: rate - use pcm_frame_diff() in snd_pcm_rate_playback_internal_delay()&lt;br /&gt;
: pcm: ioplug - fix the delay calculation for old plugins&lt;br /&gt;
: pcm: rate - tidy up snd_pcm_rate_avail_update()&lt;br /&gt;
: pcm: ioplug - fix the delay calculation in the status callback&lt;br /&gt;
: Revert &amp;quot;pcm_plugin: fix delay&amp;quot;&lt;br /&gt;
: pcm: plugin - optimize sync in snd_pcm_plugin_status()&lt;br /&gt;
: pcm: plugin - tidy snd_pcm_plugin_avail_update()&lt;br /&gt;
: pcm: plugin status - revert the recent changes&lt;br /&gt;
: pcm: plugin status - fix the return value (regression)&lt;br /&gt;
: pcm: fix __snd_pcm_state() return value&lt;br /&gt;
: pcm_multi: remove dead assignment from _snd_pcm_multi_open&lt;br /&gt;
: pcm: remove dead assignments from snd_pcm_rate_(commit_area|grab_next_period)&lt;br /&gt;
: pcm: Fix a typo in SND_PCM_AUDIO_TSTAMP_TYPE_LAST definition&lt;br /&gt;
: pcm: Add snd_pcm_audio_tstamp_type_t constants&lt;br /&gt;
: pcm: set the snd_pcm_ioplug_status() tstamp field&lt;br /&gt;
: pcm: snd_pcm_mmap_readi - fix typo in comment&lt;br /&gt;
===RawMidi API===&lt;br /&gt;
: ucm: add LibraryConfig support&lt;br /&gt;
: conf: introduce snd_config_get_card() function&lt;br /&gt;
: rawmidi: fix memory leak in snd_rawmidi_virtual_open&lt;br /&gt;
===Sequencer API===&lt;br /&gt;
: seq: fix snd_seq_parse_address()&lt;br /&gt;
: ucm: add LibraryConfig support&lt;br /&gt;
===Timer API===&lt;br /&gt;
: timer: fix sizeof operator mismatch in snd_timer_query_hw_open&lt;br /&gt;
===Topology API===&lt;br /&gt;
: topology/pcm.c: remove duplicated AC97 hw format&lt;br /&gt;
: topology: fix 'parse_tuple_set() - remove dead condition code'&lt;br /&gt;
: topology: sort_config() cleanups - use goto for the error path&lt;br /&gt;
: topology: parse_tuple_set() - remove dead condition code&lt;br /&gt;
: topology: tplg_decode_pcm() - add missing log argument (compress)&lt;br /&gt;
: topology: tplg_add_widget_object() - do not use invalid elem_ctl&lt;br /&gt;
: topology: tplg_pprint_integer() fix coverity uninitalized variable error&lt;br /&gt;
: topology: use inclusive language in documentation&lt;br /&gt;
: topology: use inclusive language for fsync&lt;br /&gt;
: topology: use inclusive language for bclk&lt;br /&gt;
===Use Case Manager API===&lt;br /&gt;
: ucm: compound_merge - use snd_config_merge()&lt;br /&gt;
: ucm: recognize first '-' character as ignore error for exec/shell&lt;br /&gt;
: ucm: cfg-save - allow to save the sub-tree including root keys&lt;br /&gt;
: ucm: libconfig - merge not override items&lt;br /&gt;
: ucm: libconfig parser - fix memory leaks&lt;br /&gt;
: ucm: add cfg-save command&lt;br /&gt;
: ucm: fix memory leak in execute_cset()&lt;br /&gt;
: ucm: parse LibraryConfig also in the toplevel file&lt;br /&gt;
: ucm: fix regexec() REG_NOMATCH state handling for define regex&lt;br /&gt;
: ucm: add exec sequence command&lt;br /&gt;
: ucm: Fix sysw sequence command not working when requesting to ignore errors&lt;br /&gt;
: ucm: fix the local ucm control device name caching&lt;br /&gt;
: ucm: limit the master config scan to conf.virt.d&lt;br /&gt;
: ucm: fixed find-device substitution (non-continuous PCM devices)&lt;br /&gt;
: ucm: allow to escape the trailing variable substitution character&lt;br /&gt;
: ucm: find-device / pcm - the ctl_list may be empty&lt;br /&gt;
: ucm: add missing uc_mgr_card_close() call to snd_use_case_mgr_open()&lt;br /&gt;
: ucm: cosmetic code reshuffle in rval_lookup_main()&lt;br /&gt;
: ucm: fix uc_mgr_has_local_config()&lt;br /&gt;
: ucm: rewrite device value only when the local config exists&lt;br /&gt;
: ucm: return error if fixedboot_list is empty&lt;br /&gt;
: ucm: return error if boot_list is empty&lt;br /&gt;
: ucm: ucm_filename() - avoid double //&lt;br /&gt;
: ucm: handle better the system() call&lt;br /&gt;
: ucm: add LibraryConfig support&lt;br /&gt;
: ucm: add ${ConfLibDir} substitution&lt;br /&gt;
: ucm: add ctl-remove sequence command to delete controls from UCM&lt;br /&gt;
: ucm: add cset-new sequence command to create new controls from UCM&lt;br /&gt;
: ucm: move __snd_ctl_ascii_elem_id_parse prototype to control_local.h&lt;br /&gt;
: ucm: add Path condition type&lt;br /&gt;
: ucm: rename sysset to sysw&lt;br /&gt;
: ucm: warn about unknown sequence commands&lt;br /&gt;
: ucm: implement sysset sequence command&lt;br /&gt;
: ucm: ucm_main.c - cosmetic tab cleanups&lt;br /&gt;
: ucm: add _fboot / FixedBootSequence&lt;br /&gt;
: ucm: fix two error messages&lt;br /&gt;
: ucm: add ${find-card} and ${find-device} substitutions&lt;br /&gt;
: ucm: uc_mgr_substitute_tree() fix use after free&lt;br /&gt;
: ucm: fix possible memory leak in parse_verb_file()&lt;br /&gt;
: ucm: fix bad frees in get_list0 and get_list20&lt;br /&gt;
===/Makefile.am===&lt;br /&gt;
: Makefile: Add README.md to EXTRA_DIST&lt;br /&gt;
===/include/Makefile.am===&lt;br /&gt;
: include: try to fix the out-of-source-tree build&lt;br /&gt;
: include: fix out-of-source-tree build&lt;br /&gt;
: include: fix SND_LIB_VER() macro&lt;br /&gt;
: include: add SND_LIB_VER() macro&lt;br /&gt;
: control: remap plugin - add docs&lt;br /&gt;
===Configuration===&lt;br /&gt;
: conf: snd_config_merge() - substitute non-compound config handles&lt;br /&gt;
: conf: snd_config_merge() - merge (concat) correctly arrays&lt;br /&gt;
: conf: return count of items in snd_config_is_array()&lt;br /&gt;
: conf: print quoted string more wisely&lt;br /&gt;
: ucm: cfg-save - allow to save the sub-tree including root keys&lt;br /&gt;
: conf: fix snd_config_merge() - merge schema&lt;br /&gt;
: conf: load the card specific configurations to the config sub-tree&lt;br /&gt;
: conf: add snd_config_make_path() function&lt;br /&gt;
: conf: add snd_config_is_empty() function&lt;br /&gt;
: conf: _snd_config_evaluate - remove 'delete compound members' call&lt;br /&gt;
: conf: fix snd_config_substitute() - memory leak&lt;br /&gt;
: conf: fix snd_config_merge() - double free in overwrite mode&lt;br /&gt;
: alsa: conf - use card number roots for device redirects&lt;br /&gt;
: conf: extend load_for_all_cards hook (id/value table)&lt;br /&gt;
: control: add missing src/conf/ctl/Makefile.am&lt;br /&gt;
: conf: usb - correct 'SB Omni Surround 5.1' iec958 device&lt;br /&gt;
: conf: USB - add &amp;quot;Cmedia Audio&amp;quot; to USB-Audio.pcm.iec958_device&lt;br /&gt;
: Remove non-existent SPDIF output on Dell AE515&lt;br /&gt;
: conf: No SPDIF on Plantronics 3220 headset&lt;br /&gt;
: conf: add snd_config_merge() function&lt;br /&gt;
: conf: add /var/lib/alsa/conf.d directory lookup&lt;br /&gt;
: conf: add /var/lib/alsa/card&amp;amp;lt;NUMBER&amp;amp;gt;.conf.d directory lookups&lt;br /&gt;
: conf: extend hook load_for_all_cards&lt;br /&gt;
: conf: make ctl.default and sysdefault devices more universal&lt;br /&gt;
: conf: Fix invalid free at parse_args()&lt;br /&gt;
: conf: fix memory leak on the error path in parse_args()&lt;br /&gt;
: conf: snd_config_save() - print arrays as [] not the internal representation&lt;br /&gt;
: conf: improve the tabulator level prints&lt;br /&gt;
: conf: introduce snd_config_get_card() function&lt;br /&gt;
: conf: HDA-Intel: increase the max number of HDMI/DP output to 11&lt;br /&gt;
: conf: USB - add &amp;quot;Xonar U7 MKII&amp;quot; to USB-Audio.pcm.iec958_device&lt;br /&gt;
: conf: fix return code in _snd_config_load_with_include&lt;br /&gt;
: confmisc: fix memory leak in snd_func_concat&lt;br /&gt;
: conf: fix get_hexachar() return value&lt;br /&gt;
: conf: fix use after free in _snd_config_load_with_include&lt;br /&gt;
===Documentation===&lt;br /&gt;
: control: doc - create controls plugin page&lt;br /&gt;
===Dynamic Loader helpers===&lt;br /&gt;
: dlmisc: fix snd_plugin_dir locking for not DL_ORIGIN_AVAILABLE&lt;br /&gt;
: dlmisc: the snd_plugin_dir_set / snd_plugin_dir must be declared even for \!DL_ORIGIN_AVAILABLE&lt;br /&gt;
===I/O subsystem===&lt;br /&gt;
: output: Add snd_output_buffer_steal() function&lt;br /&gt;
===Kernel Headers===&lt;br /&gt;
: topology: use inclusive language for fsync&lt;br /&gt;
: topology: use inclusive language for bclk&lt;br /&gt;
===Test/Example code===&lt;br /&gt;
: test: audio_time - fix timestamp2ns() and usage()&lt;br /&gt;
: test/audio_time: Make use of SND_PCM_AUDIO_TSTAMP_TYPE constants&lt;br /&gt;
===Utils===&lt;br /&gt;
: utils/alsa.m4: another quick fix for the brackets&lt;br /&gt;
: utils/alsa.m4: a quick fix for missing end brackets&lt;br /&gt;
: utils/alsa.m4: update for newer autoconf.&lt;br /&gt;
==alsa-utils==&lt;br /&gt;
===Core===&lt;br /&gt;
: Release v1.2.5&lt;br /&gt;
: autotools: preparation to use memfd_create(2)&lt;br /&gt;
: alsactl: add 'clean' command to remove the application controls&lt;br /&gt;
===ALSA Control (alsactl)===&lt;br /&gt;
: alsactl: ucm - try both fixed boot and boot sequences&lt;br /&gt;
: alsactl: clean the boot / hotplug card specific configuration directory&lt;br /&gt;
: alsactl: snd_ctl_elem_id_compare was renamed to snd_ctl_elem_id_compare_set&lt;br /&gt;
: alsactl: use card iterator functions for all card loops&lt;br /&gt;
: alsactl: Add ucm support for the FixedBootSequence&lt;br /&gt;
: alsactl: fix possible memory leak for dump-cfg&lt;br /&gt;
: alsactl: add 'clean' cmd to help, improve man page&lt;br /&gt;
: alsactl: fix the compiler warning (uninitialized variable res)&lt;br /&gt;
: alsactl: add dump-cfg and dump-state commands&lt;br /&gt;
: alsactl: init command now honors -g flag as well&lt;br /&gt;
: alsactl: honor ignore_nocards flag in init()&lt;br /&gt;
: alsactl: fix some compiler warnings&lt;br /&gt;
: alsactl: add 'clean' command to remove the application controls&lt;br /&gt;
: alsactl: init - parse() - fix possible double free&lt;br /&gt;
: alsactl: init - set_ctl_value() - fix bytes parsing&lt;br /&gt;
: alsactl: daemon - read_pid_file() fix the returned code on read error&lt;br /&gt;
: alsactl: Remove asound.state file check from alsa-restore.service again&lt;br /&gt;
: alsactl: Fix race at creating a lock file&lt;br /&gt;
: alsactl: Fix double decrease of lock timeout&lt;br /&gt;
===ALSA RawMidi Utility (amidi)===&lt;br /&gt;
: amidi, aseqnet: handle write errors&lt;br /&gt;
===Audio Transfer utility===&lt;br /&gt;
: axfer: fix regression of timeout in timer-based scheduling model&lt;br /&gt;
: axfer: test: reduce test case for maximum number of samples per frame&lt;br /&gt;
: Revert &amp;quot;axfer: test - add run-test-in-tmpdir.sh script&amp;quot;&lt;br /&gt;
: axfer: test: reduce test case for maximum number of frame count&lt;br /&gt;
: axfer: test: use memfd_create() for mapper-test&lt;br /&gt;
: axfer: test: minor code arrangement to use the same file descriptor for mappter-test&lt;br /&gt;
: axfer: test: use memfd_create() for container-test&lt;br /&gt;
: axfer: test: minor code arrangement to use the same file descriptor for container-test&lt;br /&gt;
: axfer: maintain lifetime of file descriptor outside of container module&lt;br /&gt;
: axfer: open file descriptor outside of container module&lt;br /&gt;
: axfer: minor code arrangement to allocate containers&lt;br /&gt;
: axfer: minor code arrangement in a point of opened file descriptor&lt;br /&gt;
: axfer: minor code arrangement in a point of stdio detection&lt;br /&gt;
: axfer: minor code arrangement for container module in a point of nonblocking flag&lt;br /&gt;
: axfer: test - add run-test-in-tmpdir.sh script&lt;br /&gt;
===Speaker Test===&lt;br /&gt;
: speaker-test: add support for S24_LE and S24_BE&lt;br /&gt;
===alsa-info.sh===&lt;br /&gt;
: alsa-info.sh: Add jack2 (jackdbus) detection&lt;br /&gt;
: alsa-info.sh: Use HTTPS instead of HTTP&lt;br /&gt;
: alsa-info.sh: add PipeWire daemon detection&lt;br /&gt;
: alsa-info.sh: bumb version to 0.5.0&lt;br /&gt;
: alsa-info.sh: add sysfs card info section&lt;br /&gt;
: alsa-info.sh: add card number to the ALSA module list section&lt;br /&gt;
: alsa-info.sh: add audio keyword to the dmesg filter&lt;br /&gt;
: alsa-info: Add lsusb and stream outputs&lt;br /&gt;
===alsaconf===&lt;br /&gt;
: Add Basque translation&lt;br /&gt;
===alsaloop===&lt;br /&gt;
: alsaloop: man page - correct &amp;quot;rate&amp;quot; option&lt;br /&gt;
: alsaloop: samplerate - fix the wrong pointer operation&lt;br /&gt;
: alsaloop: get_queued_playback_samples() - simplify code&lt;br /&gt;
: alsaloop: fix possible memory leak in create_loopback_handle()&lt;br /&gt;
===alsamixer===&lt;br /&gt;
: alsamixer: increase control device name buffer (sysdefault)&lt;br /&gt;
: amixer/alsamixer: use sysdefault:&amp;amp;lt;CARD&amp;amp;gt; devices instead hw:&amp;amp;lt;CARD&amp;amp;gt;&lt;br /&gt;
: alsamixer: use background color instead of COLOR_BLACK&lt;br /&gt;
: alsamixer: fix shift in parse_words()&lt;br /&gt;
: alsamixer: remove unused variable y in display_scroll_indicators()&lt;br /&gt;
: alsamixer: remove dead fcn widget_handle_key() in widget.c&lt;br /&gt;
: alsamixer: Fix the mixer views description in man page&lt;br /&gt;
===alsatplg (topology)===&lt;br /&gt;
: topology: some whitespace fixups&lt;br /&gt;
: topology: pre-process-object: add support for prepocessing child objects&lt;br /&gt;
: topology: pre-process-dai: add support for pcm_caps objects&lt;br /&gt;
: topology: pre-process-dai: add support for fe_dai objects&lt;br /&gt;
: topology: pre-process-dai: add support for hwcfg objects&lt;br /&gt;
: topology: pre-process-dai: add support for PCM and BE DAI objects&lt;br /&gt;
: topology: pre-process-dapm: add support for route objects&lt;br /&gt;
: topology: pre-process-dapm: add support for widget control objects&lt;br /&gt;
: topology: pre-process-dapm: add support for scale/ops/channel objects&lt;br /&gt;
: topology: pre-process-dapm: Add support for tlv objects&lt;br /&gt;
: topology: pre-process-dapm: Add support for DAPM Widget objects&lt;br /&gt;
: topology: pre-process-base: add support for VendorToken objects&lt;br /&gt;
: topology: pre-process-object: Add support for data objects&lt;br /&gt;
: topology: pre-process-obejct: add helper function to get the section config&lt;br /&gt;
: topology: pre-process-object: add data section for attributes with token reference&lt;br /&gt;
: topology: pre-process-object: Add support for processing Manifest object&lt;br /&gt;
: topology: pre-process-object: construct object name from its constructor attributes&lt;br /&gt;
: topology: pre-process-object: check attribute validity&lt;br /&gt;
: topology/pre-process-object: update object config with attributes&lt;br /&gt;
: topology: pre-process-object: Add support for pre-processing Objects&lt;br /&gt;
: topology: pre-process-class: add function to convert valid attribute values to integer tuple values&lt;br /&gt;
: topology: pre-process-class: add function to look up token_ref for an attribute in class&lt;br /&gt;
: topology: pre-process-class: function to get attribute type&lt;br /&gt;
: topology: pre-process-class: add funcion to get the name of the unique attribute in a class&lt;br /&gt;
: topology: pre-process-class: Add functions to check attribute constraints&lt;br /&gt;
: topology: pre-process-class: Add function to look up attribute definition in class&lt;br /&gt;
: topology: pre-process-class: Add helper function to look up class definition&lt;br /&gt;
: topology: pre-processor: Add a helper function to concat strings&lt;br /&gt;
: topology: pre-processor: Add a couple of config helpers&lt;br /&gt;
: topology: pre-processor: Add debug print helpers&lt;br /&gt;
: topology: Add support for pre-processing Topology2.0 syntax&lt;br /&gt;
: topology: fix possible double free in load()&lt;br /&gt;
===alsaucm===&lt;br /&gt;
: alsaucm: add 'getval' and 'getival' commands&lt;br /&gt;
: ucm: fix typo in docs&lt;br /&gt;
===amixer===&lt;br /&gt;
: amixer: Makefile - add volume_mapping.h to noinst_HEADERS&lt;br /&gt;
: amixer: add the volume_mapping.h link&lt;br /&gt;
: amixer: link volume_mapping.c from alsamixer to amixer&lt;br /&gt;
: amixer: don't show help on argument parsing error&lt;br /&gt;
: amixer/alsamixer: use sysdefault:&amp;amp;lt;CARD&amp;amp;gt; devices instead hw:&amp;amp;lt;CARD&amp;amp;gt;&lt;br /&gt;
: amixer: cleanups for valgrind&lt;br /&gt;
: amixer: print error when snd_hctl_handle_events() fails&lt;br /&gt;
: amixer: Expand on channel docs in man page&lt;br /&gt;
===aplay/arecord===&lt;br /&gt;
: aplay: avoid any further PCM writing if in abort&lt;br /&gt;
: aplay: fix the wrong pointer dereference in playbackv_go()&lt;br /&gt;
: aplay: fix the test position test for playback (avail &amp;amp;gt; delay)&lt;br /&gt;
: aplay: add avail &amp;amp;gt; delay checks to --test-position&lt;br /&gt;
: aplay: add test code for snd_pcm_status() to --test-position&lt;br /&gt;
: aplay: fix the CPU busy loop in the pause handler&lt;br /&gt;
: aplay: cosmetic code fix in xrun()&lt;br /&gt;
: aplay: try to use 16-bit format to increase capture quality&lt;br /&gt;
===aseqnet===&lt;br /&gt;
: amidi, aseqnet: handle write errors&lt;br /&gt;
==tinycompress==&lt;br /&gt;
===Core===&lt;br /&gt;
: Release v1.2.5&lt;br /&gt;
: cplay: Add suport for PCM audio codec&lt;br /&gt;
===Header files===&lt;br /&gt;
: include: add tinywave.h to noinst_HEADERS&lt;br /&gt;
: wave: Introduce parse_wave header&lt;br /&gt;
: wave: Separate wave functions to wave file&lt;br /&gt;
: crecord: Move wave data structures to their own header&lt;br /&gt;
===Utilities===&lt;br /&gt;
: cplay: Add suport for AAC audio codec&lt;br /&gt;
: cplay: Add suport for PCM audio codec&lt;br /&gt;
: wave: Introduce parse_wave header&lt;br /&gt;
: wave: Separate wave functions to wave file&lt;br /&gt;
: crecord: Move wave data structures to their own header&lt;br /&gt;
==alsa-ucm-conf==&lt;br /&gt;
===Configuration===&lt;br /&gt;
: rt5640 / bytcr-rt5640: cleanups&lt;br /&gt;
: tegra: Add UCM for ASUS Google Nexus 7 (2012)&lt;br /&gt;
: tegra: Add UCM for Acer Iconia Tab A500&lt;br /&gt;
: tegra: Add symlinks to conf.d/tegra&lt;br /&gt;
: codecs/rt5640: Make headset optional&lt;br /&gt;
: codecs/rt5640: Fix restoring of playback volumes&lt;br /&gt;
: codecs/rt5640: Turn off playback switches by default&lt;br /&gt;
: codecs/rt5640: Move out BayTrail-specific pin switches&lt;br /&gt;
: fix ucm2/README.md - ALSA driver name has the precedence&lt;br /&gt;
: rt715: add the missing sof prefix to the hw control name&lt;br /&gt;
: rt715-scda (rt714) - add mic led support&lt;br /&gt;
: rt715: add mic led support&lt;br /&gt;
: rt715: don't initialize obsolete ADC controls&lt;br /&gt;
: sof-soundwire: rt715 - use the hw volume control&lt;br /&gt;
: bytcr-rt5640: Add support for controlling a speaker-mute LED&lt;br /&gt;
: cht-bsw-rt5672: Add support for controlling speaker- and mic-mute LEDs&lt;br /&gt;
: cht-bsw-rt5672: Add support for the components string&lt;br /&gt;
: remap mixer controls for rt5682&lt;br /&gt;
: remap mixer controls for rt5660&lt;br /&gt;
: remap mixer controls for rt5677&lt;br /&gt;
: remap mixer controls for rt5651&lt;br /&gt;
: remap mixer controls for rt5645&lt;br /&gt;
: remap mixer controls for rt5640&lt;br /&gt;
: ucm2: add lib / ctl-remap.conf generic device&lt;br /&gt;
: ucm2: lib/generic - use standard (not substituted) config tree&lt;br /&gt;
: ucm2: remove the trailing slash from the rm command&lt;br /&gt;
: ucm2: use private alsa-lib's configuration by default&lt;br /&gt;
: ucm2: replace ${CardIdByName} substitution with ${find-card}&lt;br /&gt;
: ucm2: soundwire: use the codec kcontrols for rt711-sdca&lt;br /&gt;
: sof-soundwire: use the ${find-device} lookup for the dmic device&lt;br /&gt;
: ucm2: add initial alsa library helpers&lt;br /&gt;
: ucm2: create empty conf.virt.d directory&lt;br /&gt;
: ucm2: add conf.virt.d lookup&lt;br /&gt;
: Qualcomm/sm8250: fix the typo in Include identifier for Mic&lt;br /&gt;
: ucm2/conf.d/sm8250: add symlink for Qualcomm RB5 platform&lt;br /&gt;
: ucm2: add support to for Qualcomm RB5 Platform&lt;br /&gt;
: ucm2: codecs: lpass: add codec sequences for wsa and va macro&lt;br /&gt;
: ucm2: soundwire: add basic settings for SDCA devices&lt;br /&gt;
: ucm2: soundwire: use cfg-amp instead of cfg-spk component string&lt;br /&gt;
: broadwell-rt286, bdw-rt5677: Fix inconsistency in card detection&lt;br /&gt;
: broadwell-rt286, bdw-rt5677: Fix comment at top of file&lt;br /&gt;
: codecs/rt5640: Specify Playback/CaptureMasterElem for HW volume-control&lt;br /&gt;
: codecs/rt5672: Add hardware volume-control support&lt;br /&gt;
: codecs/rt5672: Move +12dB input boost from 'STO1 ADC Boost Gain' to 'ADC Capture Volume'&lt;br /&gt;
: codecs/rt5640: Add hardware volume-control support&lt;br /&gt;
: codecs/rt5640: Unify capture volume for AIF1 and AIF2 recording paths&lt;br /&gt;
: codecs/rt5640: Drop bogus 'DIG MIXL DAC L2 Switch' setting&lt;br /&gt;
: codecs/rt5640: Cleanup: Move 'SPK MIX' setup to main EnableSequene&lt;br /&gt;
: codecs/rt5640: Cleanup: Initially disable all inputs and outputs&lt;br /&gt;
: codecs/rt5640: Cleanup: unify Stereo / Mono ADC handling&lt;br /&gt;
: codecs/es8316: Add hardware volume-control support&lt;br /&gt;
: codecs/es8316: Fix 'HP Mixer Volume' setting&lt;br /&gt;
: codecs/es8316: Fix capture settings&lt;br /&gt;
: ucm2/conf.d: add symlinks for Qualcomm cards&lt;br /&gt;
: ucm2: Separate the configuration lookups (hw based) from the configuration tree&lt;br /&gt;
: bytcr-wm5102: Add new UCM profile for BYT boards with a WM5102 codec&lt;br /&gt;
: codecs/rt5672: Remove Intel SST specific HeadsetMic workaround&lt;br /&gt;
: sof-soundwire: add support for dmics&lt;br /&gt;
: sof-hda-dsp: update handling of cfg-dmics strings&lt;br /&gt;
: chtnau8824: Add support for using the SOF driver&lt;br /&gt;
: kblrt5660: Fix file permissions&lt;br /&gt;
: chtnau8824: Add a SST define/variable&lt;br /&gt;
: USB-Audio: fix indentation in Gigabyte-Aorus-Master-Main-Audio-HiFi.conf&lt;br /&gt;
: USB-Audio/ALC1220: fix indentation for Speaker device&lt;br /&gt;
: USB-Audio/ALC1220: Bump analog Speaker priority over S/PDIF&lt;br /&gt;
: ucm2: add initial configuration for TRX40 Gigabyte Aorus Master Audio&lt;br /&gt;
: bytcr-rt5640: fix the execution order&lt;br /&gt;
: rt5640: Move standard DAC setup to EnableSeq.conf&lt;br /&gt;
: bytcr-rt5640: Add support for devices without speakers and/or an internal mic&lt;br /&gt;
: chtrt5645: Enable Internal MIC of ECS EF20EA&lt;br /&gt;
: HDA-Intel/HiFi-dual: Add BootSequence and disable playback channels in verb init&lt;br /&gt;
: HDA-Intel/HiFi-dual: Add EnableSequence and DisableSequence for Speaker and Headphones&lt;br /&gt;
: sof-hda-dsp: Set Master Playback Switch on in the BootSequence&lt;br /&gt;
: rt715: init: setup ADC07 to a proper volume&lt;br /&gt;
: chtnau8824: Boost analog mic volumes a bit&lt;br /&gt;
: chtnau8824: Add support for laptops using stereo DMICs&lt;br /&gt;
: chtnau8824: Fix mono speaker config not working&lt;br /&gt;
: Revert &amp;quot;ucm2: HDA/acp - add Capture simple mixer element to the ACP Mic device&amp;quot;&lt;br /&gt;
: sof-soundwire: use the codecs/hda/hdmi.conf macro&lt;br /&gt;
: codecs/hda/hdmi.conf - add DisplayPort to the device description (Comment)&lt;br /&gt;
: fix the ucm2/codecs/hda/hdmi.conf use&lt;br /&gt;
==alsa-topology-conf==&lt;br /&gt;
===/Makefile===&lt;br /&gt;
: Makefile: add SRCPATH to override the source .conf tree&lt;br /&gt;
: Introduce Makefile to simplify the binary files availability&lt;br /&gt;
===Description===&lt;br /&gt;
: Introduce Makefile to simplify the binary files availability&lt;br /&gt;
=Changelog between 1.2.2 and 1.2.5 releases=&lt;br /&gt;
==alsa-tools==&lt;br /&gt;
===Core===&lt;br /&gt;
: Release v1.2.5&lt;br /&gt;
===hdspmixer===&lt;br /&gt;
: hdspmixer: add output loopback buttons&lt;br /&gt;
: hdspmixer: enhance saving of presets&lt;br /&gt;
==alsa-plugins==&lt;br /&gt;
===Core===&lt;br /&gt;
: Release v1.2.5&lt;br /&gt;
===A52 Output plugin===&lt;br /&gt;
: pcm_a52: Don't move bytes within the outbuf&lt;br /&gt;
: pcm_a52: Don't pass EAGAIN errors from the slave to the caller&lt;br /&gt;
: pcm_a52: Determine virtual hardware pointer upon slave pointer&lt;br /&gt;
===Automatic upmix / downmix plugins===&lt;br /&gt;
: upmix: complete generalizing format&lt;br /&gt;
===Jack PCM plugin===&lt;br /&gt;
: jack: add option to allow non-jack-aligned period size&lt;br /&gt;
===OSS Mixer -&amp;amp;gt; ALSA Control plugin===&lt;br /&gt;
: oss: fix the config (port -&amp;amp;gt; device)&lt;br /&gt;
===PulseAudio -&amp;amp;gt; ALSA plugin===&lt;br /&gt;
: pulse: pcm - handle reading pulse stream hole&lt;br /&gt;
===USB stream plugin===&lt;br /&gt;
: usb_stream: use snd_config_get_card() to decode the card number&lt;/div&gt;</summary>
		<author><name>Perex</name></author>
	</entry>
</feed>