  <?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=Detailed_changes_v1.1.4_v1.1.4.1</id>
	<title>Detailed changes v1.1.4 v1.1.4.1 - 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=Detailed_changes_v1.1.4_v1.1.4.1"/>
	<link rel="alternate" type="text/html" href="https://www.alsa-project.org/main/index.php?title=Detailed_changes_v1.1.4_v1.1.4.1&amp;action=history"/>
	<updated>2026-04-20T10:45:51Z</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=Detailed_changes_v1.1.4_v1.1.4.1&amp;diff=7226&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=Detailed_changes_v1.1.4_v1.1.4.1&amp;diff=7226&amp;oldid=prev"/>
		<updated>2017-06-01T06:30:33Z</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 06:30, 1 June 2017&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=Detailed_changes_v1.1.4_v1.1.4.1&amp;diff=7225&amp;oldid=prev</id>
		<title>Perex at 06:30, 1 June 2017</title>
		<link rel="alternate" type="text/html" href="https://www.alsa-project.org/main/index.php?title=Detailed_changes_v1.1.4_v1.1.4.1&amp;diff=7225&amp;oldid=prev"/>
		<updated>2017-06-01T06:30:33Z</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 changelog between 1.1.4 and 1.1.4.1 releases=&lt;br /&gt;
=Changelog between 1.1.4 and 1.1.4.1 releases=&lt;br /&gt;
==alsa-lib==&lt;br /&gt;
===Core===&lt;br /&gt;
: - Release v1.1.4.1&lt;br /&gt;
:   &lt;br /&gt;
: - conf: Check the availability of PTHREAD_MUTEX_RECURSIVE&lt;br /&gt;
:   &lt;br /&gt;
:   Check the availability of PTHREAD_MUTEX_RECURSIVE in configure script&lt;br /&gt;
:   and use it only when possible.  A fairly old version of glibc still&lt;br /&gt;
:   seems working, but just to be sure.&lt;br /&gt;
:   &lt;br /&gt;
===PCM API===&lt;br /&gt;
: - pcm: dmix: Fix the inconsistent PCM state&lt;br /&gt;
:   &lt;br /&gt;
:   The commit 38a2d2eda880 (&amp;quot;pcm: dmix: Do not discard slave reported&lt;br /&gt;
:   delay in...&amp;quot;) changed the handling in snd_pcm_dmix_status() for taking&lt;br /&gt;
:   the actual delay from the slave PCM status.  Along with it, the commit&lt;br /&gt;
:   removed the line to update its own state altogether, as it had been&lt;br /&gt;
:   done originally in the dshare patch (commit faf53c197cab &amp;quot;pcm_dshare:&lt;br /&gt;
:   Do not discard slave reported delay...&amp;quot;), supposing that the slave PCM&lt;br /&gt;
:   keeps this same state.  However, for dmix/dshare, the PCM state may&lt;br /&gt;
:   differ from the slave, thus these changes resulted in the inconsistent&lt;br /&gt;
:   PCM state.&lt;br /&gt;
:   &lt;br /&gt;
:   For dshare, the issue was already addressed by commit ad6957c61867&lt;br /&gt;
:   (&amp;quot;plugin:dshare: wrong state reporting&amp;quot;), while the fix for dmix was&lt;br /&gt;
:   forgotten until now.&lt;br /&gt;
:   &lt;br /&gt;
:   This patch restores the code to set the proper dmix PCM state again&lt;br /&gt;
:   like in the previous versions.&lt;br /&gt;
:   &lt;br /&gt;
:   Fixes: 38a2d2eda880 (&amp;quot;pcm: dmix: Do not discard slave reported delay in...&amp;quot;)&lt;br /&gt;
:   Reported-by: Cheng Sun &amp;amp;lt;chengsun9@gmail.com&amp;amp;gt;&lt;br /&gt;
: - pcm: dshare: Call snd_pcm_dshare_state() directly&lt;br /&gt;
:   &lt;br /&gt;
:   ... otherwise it may be a deadlock if recursive lock isn't available.&lt;br /&gt;
:   &lt;br /&gt;
: - pcm: dmix: Workaround for binary incompatibility&lt;br /&gt;
:   &lt;br /&gt;
:   The commit 1a9bd0f04481 (&amp;quot;pcm: direct: Fix for sync issue on xrun&lt;br /&gt;
:   recover&amp;quot;) introduced a new field &amp;quot;recoveries&amp;quot; in&lt;br /&gt;
:   snd_pcm_direct_share_t.  Unfortunately this caused two issues:&lt;br /&gt;
:   &lt;br /&gt;
:   - It changed the size of the struct which is used as the magic key&lt;br /&gt;
:   - The struct size differs between 32bit and 64bit due to alignment&lt;br /&gt;
:   &lt;br /&gt;
:   The former brought the incompatibility with the older alsa-lib,&lt;br /&gt;
:   e.g. when you run an app with an older alsa-lib via LD_PRELOAD, it&lt;br /&gt;
:   doesn't work any longer.&lt;br /&gt;
:   &lt;br /&gt;
:   The latter is more serious, it disallows running 32bit apps dmix with&lt;br /&gt;
:   64bit together.&lt;br /&gt;
:   &lt;br /&gt;
:   As a workaround, put recoveries field to the unused field&lt;br /&gt;
:   &amp;quot;s.xfer_align&amp;quot;, so that the struct is in an old form.  This makes the&lt;br /&gt;
:   dmix again binary-compatible with 1.1.3 and older versions, and also&lt;br /&gt;
:   fix the incompatibility between 32/64 bits.&lt;br /&gt;
:   &lt;br /&gt;
:   This is a one-time workaround, and we may need to reconsider more&lt;br /&gt;
:   about a breakage in future...&lt;br /&gt;
:   &lt;br /&gt;
:   Fixes: 1a9bd0f04481 (&amp;quot;pcm: direct: Fix for sync issue on xrun recover&amp;quot;)&lt;br /&gt;
:   Reported-and-tested-by: Cheng Sun &amp;amp;lt;chengsun9@gmail.com&amp;amp;gt;&lt;br /&gt;
: - conf: Check the availability of PTHREAD_MUTEX_RECURSIVE&lt;br /&gt;
:   &lt;br /&gt;
:   Check the availability of PTHREAD_MUTEX_RECURSIVE in configure script&lt;br /&gt;
:   and use it only when possible.  A fairly old version of glibc still&lt;br /&gt;
:   seems working, but just to be sure.&lt;br /&gt;
:   &lt;br /&gt;
: - build: Define __USE_UNIX98 for old glibc&lt;br /&gt;
:   &lt;br /&gt;
:   Otherwise PTHREAD_MUTEX_RECURSIVE isn't defined and we get an error&lt;br /&gt;
:   with old glibc.&lt;br /&gt;
:   &lt;br /&gt;
===Configuration===&lt;br /&gt;
: - conf: Check the availability of PTHREAD_MUTEX_RECURSIVE&lt;br /&gt;
:   &lt;br /&gt;
:   Check the availability of PTHREAD_MUTEX_RECURSIVE in configure script&lt;br /&gt;
:   and use it only when possible.  A fairly old version of glibc still&lt;br /&gt;
:   seems working, but just to be sure.&lt;br /&gt;
:   &lt;br /&gt;
===Test/Example code===&lt;br /&gt;
: - test: add a test for list operation to user-defined element sets&lt;br /&gt;
:   &lt;br /&gt;
:   Current implementation of test for user-defined element doesn't perform&lt;br /&gt;
:   list operation. This commit adds easy test for the operation.&lt;br /&gt;
:&lt;/div&gt;</summary>
		<author><name>Perex</name></author>
	</entry>
</feed>