  <?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.1.2_v1.2.2</id>
	<title>Changes v1.2.1.2 v1.2.2 - 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.1.2_v1.2.2"/>
	<link rel="alternate" type="text/html" href="https://www.alsa-project.org/main/index.php?title=Changes_v1.2.1.2_v1.2.2&amp;action=history"/>
	<updated>2026-05-02T22:36:49Z</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.1.2_v1.2.2&amp;diff=7348&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.1.2_v1.2.2&amp;diff=7348&amp;oldid=prev"/>
		<updated>2020-02-19T16:42:54Z</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 16:42, 19 February 2020&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.1.2_v1.2.2&amp;diff=7347&amp;oldid=prev</id>
		<title>Perex at 16:42, 19 February 2020</title>
		<link rel="alternate" type="text/html" href="https://www.alsa-project.org/main/index.php?title=Changes_v1.2.1.2_v1.2.2&amp;diff=7347&amp;oldid=prev"/>
		<updated>2020-02-19T16:42:52Z</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.1.2 v1.2.2]]&lt;br /&gt;
=Changelog between 1.2.1.2 and 1.2.2 releases=&lt;br /&gt;
==alsa-lib==&lt;br /&gt;
===Core===&lt;br /&gt;
: Release v1.2.2&lt;br /&gt;
: github build.yml: cosmetic changes&lt;br /&gt;
: github: create test workflow for fedora and ubuntu&lt;br /&gt;
: do not set close-on-exec flag on descriptor if it was already set&lt;br /&gt;
: configure.ac: remove an unnecessary libtool fix&lt;br /&gt;
: Update the attributes.m4 macro file from xine&lt;br /&gt;
: Fix alsa/sound/*.h for external programs&lt;br /&gt;
===Control API===&lt;br /&gt;
: control: Remove access to the deprecated dimen fields&lt;br /&gt;
: namehint: improve the previous patch (check the returned value)&lt;br /&gt;
: namehint: correct the @args check&lt;br /&gt;
===Mixer API===&lt;br /&gt;
: mixer: Fix memory leak for more than 16 file descriptor case&lt;br /&gt;
===Topology API===&lt;br /&gt;
: topology: Drop SNDRV_CTL_ELEM_ACCESS_TIMESTAMP access&lt;br /&gt;
: topology: remove MAX_FILE definition and use correct PATH_MAX&lt;br /&gt;
: topology: cosmetic changes (functions)&lt;br /&gt;
: topology: tplg_dbg() cleanups&lt;br /&gt;
: topology: unify the log mechanism&lt;br /&gt;
: topology: move the elem-&amp;amp;gt;list delete to tplg_elem_free()&lt;br /&gt;
: topology: implement snd_tplg_decode&lt;br /&gt;
: topology: fix the wrong memory access (object realloc)&lt;br /&gt;
: topology: fix the ops parser (accept integer/hexa values)&lt;br /&gt;
: topology: fix the TPLG_DEBUG compilation&lt;br /&gt;
: topology: implement shorter hexa uuid 00:00 parser&lt;br /&gt;
: topology: fix the unitialized tuples&lt;br /&gt;
: topology: dapm - fix the SNDERR() - Undefined&lt;br /&gt;
: topology: cleanup the SNDERR() calls&lt;br /&gt;
: topology: add snd_tplg_version() function&lt;br /&gt;
: topology: add snd_tplg_create() with flags&lt;br /&gt;
: topology: add snd_tplg_save()&lt;br /&gt;
: topology: add parser to the tplg_table&lt;br /&gt;
: topology: move the topology element table from builder to elem&lt;br /&gt;
: topology: add snd_tplg_load() remove snd_tplg_build_bin_file()&lt;br /&gt;
: topology: parser - recode tplg_parse_config()&lt;br /&gt;
: topology: add binary output from the builder&lt;br /&gt;
: topology: convert builder to use the mallocated memory&lt;br /&gt;
: topology: add tplg_get_unsigned() function&lt;br /&gt;
: topology: fix tplg_get_integer() - handle errno == ERANGE&lt;br /&gt;
: topology: use snd_config_get_bool() instead own implementation&lt;br /&gt;
: topology: avoid to use the atoi() directly when expected&lt;br /&gt;
: Fix alsa/sound/*.h for external programs&lt;br /&gt;
: topology: more coding fixes&lt;br /&gt;
: topology: dapm - merge identical index blocks like for other elems&lt;br /&gt;
: topology: dapm - coding fixes&lt;br /&gt;
: topology: use list_insert() macro in tplg_elem_insert()&lt;br /&gt;
: topology: make vebose output more nice&lt;br /&gt;
: topology: merge write_block to tplg_write_data&lt;br /&gt;
: topology: use size_t for calc_block_size()&lt;br /&gt;
: topology: use an array describing blocks for the main build loop&lt;br /&gt;
: topology: file position and size cleanups&lt;br /&gt;
: topology: remove vendor_fd/name from snd_tplg structure - not used&lt;br /&gt;
===Use Case Manager API===&lt;br /&gt;
: ucm: parser - add error message to verb_dev_list_add()&lt;br /&gt;
: ucm: fill missing device entries (conflicting / supported)&lt;br /&gt;
: ucm: implement RenameDevice and RemoveDevice verb management&lt;br /&gt;
: ucm: the ucm2/ subdirectory is driver name based&lt;br /&gt;
: ucm: parser - use correct filename in parser_master_file()&lt;br /&gt;
: ucm: parser - cosmetic fixes in the comments&lt;br /&gt;
: ucm: remove MAX_FILE definition and use correct PATH_MAX&lt;br /&gt;
: ucm: split conf_file_name and conf_dir_name&lt;br /&gt;
: ucm: fix the configuration directory (longname) for ucm2&lt;br /&gt;
: ucm: setup conf_format after getting ALSA_CONFIG_UCM_VAR successfully&lt;br /&gt;
: ucm: docs - remove MixerCopy values, add Priority for verb, improve priority docs&lt;br /&gt;
: ucm: docs - add note about the sequences and device split&lt;br /&gt;
: ucm: docs - change the Mic description to simple Microphone Device&lt;br /&gt;
: ucm: docs - remove DigitalMic, it does not have sense&lt;br /&gt;
: ucm: docs - add Mic/DigitalMic and multiple devices comments&lt;br /&gt;
: src/ucm/main.c: fix build without mixer&lt;br /&gt;
: ucm: Do not fail to parse configs on cards with an empty CardComponents lists&lt;br /&gt;
: ucm: docs - add JackCTL, rearrange JackControl and JackDev&lt;br /&gt;
: use-case: docs - add PlaybackMixerCopy and CaptureMixerCopy&lt;br /&gt;
: ucm: docs - allow spaces in device names for JackHWMute&lt;br /&gt;
: ucm: add _identifiers list&lt;br /&gt;
: ucm: return always at least NULL if no list is available in snd_use_case_get_list()&lt;br /&gt;
: ucm: Use strncmp to avoid access-out-of-boundary&lt;br /&gt;
===Configuration===&lt;br /&gt;
: Quote strings containing [ or ] when saving an alsa config&lt;br /&gt;
: topology: add snd_tplg_save()&lt;br /&gt;
: alsa-lib: fix the array parser (unique compound keys)&lt;br /&gt;
===Documentation===&lt;br /&gt;
: README.md: add build status badge&lt;br /&gt;
===Kernel Headers===&lt;br /&gt;
: uapi: Sync with 5.6 kernel ABI&lt;br /&gt;
: uapi: Move typedefs from uapi to sound/*&lt;br /&gt;
: type_compat: Add missing __s64 and __u64 definitions for non-Linux&lt;br /&gt;
: Fix alsa/sound/*.h for external programs&lt;br /&gt;
===Utils===&lt;br /&gt;
: alsa.m4: another fix to not link all binaries with -latopology&lt;br /&gt;
: alsa.m4: another try to fix the libatopology detection&lt;br /&gt;
==alsa-ucm-conf==&lt;br /&gt;
===Core===&lt;br /&gt;
: github: create validate workflow&lt;br /&gt;
===Configuration===&lt;br /&gt;
: broadwell-rt286: more conformance and other fixes&lt;br /&gt;
: ucm2: treewide - remove Playback and Capture channels=2 assignments&lt;br /&gt;
: sof-hda-dsp: corrections and fixes&lt;br /&gt;
: bytcht-es8316: corrections and fixes&lt;br /&gt;
: bytcr-rt5640: corrections and fixes&lt;br /&gt;
: kblrt5660: corrections and fixes&lt;br /&gt;
: PandaBoardES: corrections and fixes&lt;br /&gt;
: PandaBoard: corrections and fixes&lt;br /&gt;
: SDP4430: corrections and fixes&lt;br /&gt;
: PAZ00: corrections and fixes&lt;br /&gt;
: GoogleNyan: corrections and fixes&lt;br /&gt;
: chtrt5645: corrections and fixes&lt;br /&gt;
: SDP4430: corrections and fixes&lt;br /&gt;
: VEYRON-I2S: corrections and fixes&lt;br /&gt;
: GoogleNyan: comment CaptureControl, what is this?&lt;br /&gt;
: broadwell-rt286: add correct prefix to Priority field names&lt;br /&gt;
: sof-hda-dsp: fix typo (PlaybackMixerMaster -&amp;amp;gt; PlaybackMasterElem)&lt;br /&gt;
: SDP4430: corrections and fixes&lt;br /&gt;
: skylake-rt286: fixes and corrections&lt;br /&gt;
: chtnau8824: fixes and corrections&lt;br /&gt;
: cht-bsw-rt5672: fixes and corrections&lt;br /&gt;
: HDA-Intel/HiFi-dual: fixes and corrections&lt;br /&gt;
: Dell-WD15-Dock: cleaups and corrections&lt;br /&gt;
: DB820c: cleanups and corrections&lt;br /&gt;
: DB410c: cleanups and corrections&lt;br /&gt;
: DAISY-I2S: added back PCM devices&lt;br /&gt;
: bytcht-es8316: cleanups and corrections&lt;br /&gt;
: bytcht-cx2072x: cleanups and corrections&lt;br /&gt;
: bytcr-rt5651: cleanups and corrections&lt;br /&gt;
: bytcr-rt5640: cleanups and corrections&lt;br /&gt;
: broxton-rt298: corrections, cleanups&lt;br /&gt;
: broadwell-rt286: add support for hardware volume, conformance fixes&lt;br /&gt;
: ucm2: fix the verb path in chtrt5645/chtrt5645-dmic2.conf&lt;br /&gt;
: bytcht-es8316: Fix missing including of HeadPhones.conf after ucm2 conversion&lt;br /&gt;
: sof-hda-dsp: Use more strict names according latest use-case.h&lt;br /&gt;
: sof-hda-dsp: Fix the Dmic0 CaptureMixerElem for v1.4.1 firmware&lt;br /&gt;
===Description===&lt;br /&gt;
: README.md: add build status badge&lt;br /&gt;
: README: remove topologies note&lt;br /&gt;
=Changelog between 1.1.8 and 1.2.2 releases=&lt;br /&gt;
==tinycompress==&lt;br /&gt;
===Core===&lt;br /&gt;
: Release v1.2.2&lt;br /&gt;
: fcplay: initial addition&lt;br /&gt;
: tinycompress: Add pc file&lt;br /&gt;
===/Makefile.am===&lt;br /&gt;
: tinycompress: Add pc file&lt;br /&gt;
===/src/utils-lgpl/Makefile.am===&lt;br /&gt;
: fcplay: initial addition&lt;br /&gt;
===Header files===&lt;br /&gt;
: sound: update header for FLAC&lt;br /&gt;
===Utilities===&lt;br /&gt;
: fcplay: initial addition&lt;br /&gt;
===pkg-config===&lt;br /&gt;
: tinycompress: Add pc file&lt;br /&gt;
=Changelog between 1.2.1 and 1.2.2 releases=&lt;br /&gt;
==alsa-utils==&lt;br /&gt;
===Core===&lt;br /&gt;
: Release v1.2.2&lt;br /&gt;
: configure: fix the inverted libatopology check&lt;br /&gt;
: github workflow: try to fix the empty version&lt;br /&gt;
: github build.yml: try to fix the tag fetch issue (private working dirs)&lt;br /&gt;
: README.md: add build status badge&lt;br /&gt;
: github: create test workflow for fedora and ubuntu&lt;br /&gt;
: configure: fix new libatopology check&lt;br /&gt;
: configure: Fix linking of alsatplg with the older libs&lt;br /&gt;
===ALSA Control (alsactl)===&lt;br /&gt;
: Use %lli for long long in printf&lt;br /&gt;
: Use __func__ instead of __FUNCTION__&lt;br /&gt;
: alsactl: fix --sched-idle (set it really to SCHED_IDLE)&lt;br /&gt;
: alsactl: sysfs - add /sys/kernel/uevent_seqnum check to init&lt;br /&gt;
: treewide: Fix printf formats&lt;br /&gt;
===ALSA RawMidi Utility (amidi)===&lt;br /&gt;
: Avoid empty initializer list&lt;br /&gt;
: treewide: sys/poll to poll&lt;br /&gt;
===Audio Transfer utility===&lt;br /&gt;
: Avoid pointer arithmetic on `void *`&lt;br /&gt;
: treewide: Fix wrong formats on 32-bit&lt;br /&gt;
===alsa-info.sh===&lt;br /&gt;
: alsa-info.sh: Warn after actual upload failure; do not ping server&lt;br /&gt;
: alsa-info.sh: Perform test for wget earlier&lt;br /&gt;
: alsa-info.sh: Condense nested commands for formatting upload result&lt;br /&gt;
: alsa-info.sh: Condense nested commands for file upload&lt;br /&gt;
: alsa-info.sh: Remove progress spinner during upload without dialog&lt;br /&gt;
: alsa-info.sh: Replace gauge with infobox for upload dialog&lt;br /&gt;
: alsa-info.sh: Exit script after writing information to stdout&lt;br /&gt;
: alsa-info.sh: Use existing function to print ALSA configuration files&lt;br /&gt;
: alsa-info.sh: Simplify iteration over cards when calling amixer&lt;br /&gt;
: alsa-info.sh: Read from /proc/modules and sort the result&lt;br /&gt;
: alsa-info.sh: Consolidate PCI device output&lt;br /&gt;
===alsaloop===&lt;br /&gt;
: treewide: Fix printf formats&lt;br /&gt;
===alsamixer===&lt;br /&gt;
: Avoid empty initializer list&lt;br /&gt;
===alsatplg (topology)===&lt;br /&gt;
: alsatplg: add documentation for -z,--dapm-nosort (-h)&lt;br /&gt;
: alsatplg: add decode command&lt;br /&gt;
: alsatplg: add -V,--version option&lt;br /&gt;
: alsatplg: rewrite to use the new libatopology functions&lt;br /&gt;
: alsatplg: fix another small leak in normalize_config()&lt;br /&gt;
: alsatplg: add -s,--sort and fix memory leaks&lt;br /&gt;
: alsatplg: add -n,--normalize option&lt;br /&gt;
===alsaucm===&lt;br /&gt;
: alsaucm: add usecase.h to noinst_HEADERS for packaging&lt;br /&gt;
: alsaucm: dump - fix the prefixed &amp;quot;&lt;br /&gt;
: alsaucm: add json dump command&lt;br /&gt;
: alsaucm: add text dump command&lt;br /&gt;
: alsaucm: use the first sound card (use case name 'hw:CARDNO') as default&lt;br /&gt;
===amixer===&lt;br /&gt;
: Use %lli for long long in printf&lt;br /&gt;
: treewide: Fix printf formats&lt;br /&gt;
: treewide: sys/poll to poll&lt;br /&gt;
===aplay/arecord===&lt;br /&gt;
: Avoid pointer arithmetic on `void *`&lt;br /&gt;
: Use __func__ instead of __FUNCTION__&lt;br /&gt;
: aplay: Limit VUMeter progress bar to 100 for negative as well&lt;br /&gt;
: aplay: Adjust buffer sizes to fix snprintf warnings&lt;br /&gt;
: treewide: Fix printf formats&lt;br /&gt;
: treewide: sys/poll to poll&lt;br /&gt;
===aplaymidi/arecordmidi===&lt;br /&gt;
: Avoid empty initializer list&lt;br /&gt;
: treewide: sys/poll to poll&lt;br /&gt;
===aseqdump===&lt;br /&gt;
: Avoid empty initializer list&lt;br /&gt;
===bat (basic audio tester)===&lt;br /&gt;
: Avoid pointer arithmetic on `void *`&lt;br /&gt;
==alsa-plugins==&lt;br /&gt;
===Core===&lt;br /&gt;
: Release v1.2.2&lt;br /&gt;
: Update the attributes.m4 macro file from xine&lt;br /&gt;
===Automatic upmix / downmix plugins===&lt;br /&gt;
: upmix: generalize format, code cleanup&lt;br /&gt;
=Changelog between 1.1.7 and 1.2.2 releases=&lt;br /&gt;
==alsa-tools==&lt;br /&gt;
===Core===&lt;br /&gt;
: Release v1.2.2&lt;br /&gt;
===hdspmixer===&lt;br /&gt;
: hdspmixer: Use __u32 and __u64 for RMS array types&lt;/div&gt;</summary>
		<author><name>Perex</name></author>
	</entry>
</feed>