<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
<html lang="en">
<head>
<meta content="text/html; charset=US-ASCII" http-equiv="Content-Type">
<title>
GitLab
</title>
<style>img {
max-width: 100%; height: auto;
}
</style>
</head>
<body>
<div class="content">
<h3>
PulseAudio Marge Bot pushed to branch master
at <a href="https://gitlab.freedesktop.org/pulseaudio/pulseaudio">PulseAudio / pulseaudio</a>
</h3>
<h4>
Commits:
</h4>
<ul>
<li>
<strong><a href="https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/commit/015028d7e33ebc5c0fb84877296a9a5aefa603c3">015028d7</a></strong>
<div>
<span>by Georg Chini</span>
<i>at 2021-03-25T02:29:42+00:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">alsa-sink: Do not increase watermark when requested to rewind 0 bytes
Since commit cb91d7a1 the watermark is increased when there is nothing to rewind.
This is also done in the case when there was actually no rewind requested at all,
so the watermark is increased needlessly.
This patch fixes the issue by skipping the rewind if none is requested.
Part-of: <https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/merge_requests/530>
</pre>
</li>
</ul>
<h4>1 changed file:</h4>
<ul>
<li class="file-stats">
<a href="#b14579bff79260723b2b3e03f2ef1886578218f4">
src/modules/alsa/alsa-sink.c
</a>
</li>
</ul>
<h4>Changes:</h4>
<li id="b14579bff79260723b2b3e03f2ef1886578218f4">
<a href="https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/commit/015028d7e33ebc5c0fb84877296a9a5aefa603c3#b14579bff79260723b2b3e03f2ef1886578218f4"><strong>src/modules/alsa/alsa-sink.c</strong></a>
<hr>
<table class="code white" style="font-family: monospace; font-size: 90%;" bgcolor="#fff" width="100%" cellpadding="0" cellspacing="0">
<tr class="line_holder match" id="" style="line-height: 1.6;">
<td class="diff-line-num unfold js-unfold old_line" data-linenumber="1825" style="width: 35px; color: rgba(0,0,0,0.3); border-right-width: 1px; border-right-color: #f0f0f0; border-right-style: solid; padding: 0 5px;" align="right" bgcolor="#fafafa">...</td>
<td class="diff-line-num unfold js-unfold new_line" data-linenumber="1825" style="width: 35px; color: rgba(0,0,0,0.3); border-right-width: 1px; border-right-color: #f0f0f0; border-right-style: solid; padding: 0 5px;" align="right" bgcolor="#fafafa">...</td>
<td class="line_content match " style="padding-left: 0.5em; padding-right: 0.5em; color: rgba(0,0,0,0.3);" bgcolor="#fafafa">@@ -1825,6 +1825,9 @@ static int process_rewind(struct userdata *u) {</td>
</tr>
<tr class="line_holder" id="" style="line-height: 1.6;">
<td class="old_line diff-line-num" data-linenumber="1825" style="width: 35px; color: rgba(0,0,0,0.3); border-right-width: 1px; border-right-color: #f0f0f0; border-right-style: solid; padding: 0 5px;" align="right" bgcolor="#fafafa">
1825
</td>
<td class="new_line diff-line-num" data-linenumber="1825" style="width: 35px; color: rgba(0,0,0,0.3); border-right-width: 1px; border-right-color: #f0f0f0; border-right-style: solid; padding: 0 5px;" align="right" bgcolor="#fafafa">
1825
</td>
<td class="line_content" style="padding-left: 0.5em; padding-right: 0.5em;">
<pre style="margin: 0;"> <span id="LC1825" class="line" lang="c"></span>
</pre>
</td>
</tr>
<tr class="line_holder" id="" style="line-height: 1.6;">
<td class="old_line diff-line-num" data-linenumber="1826" style="width: 35px; color: rgba(0,0,0,0.3); border-right-width: 1px; border-right-color: #f0f0f0; border-right-style: solid; padding: 0 5px;" align="right" bgcolor="#fafafa">
1826
</td>
<td class="new_line diff-line-num" data-linenumber="1826" style="width: 35px; color: rgba(0,0,0,0.3); border-right-width: 1px; border-right-color: #f0f0f0; border-right-style: solid; padding: 0 5px;" align="right" bgcolor="#fafafa">
1826
</td>
<td class="line_content" style="padding-left: 0.5em; padding-right: 0.5em;">
<pre style="margin: 0;"> <span id="LC1826" class="line" lang="c"> <span class="n" style="color: #333;">pa_log_debug</span><span class="p">(</span><span class="s" style="color: #d14;">"Requested to rewind %lu bytes."</span><span class="p">,</span> <span class="p">(</span><span class="kt" style="color: #458; font-weight: 600;">unsigned</span> <span class="kt" style="color: #458; font-weight: 600;">long</span><span class="p">)</span> <span class="n" style="color: #333;">rewind_nbytes</span><span class="p">);</span></span>
</pre>
</td>
</tr>
<tr class="line_holder" id="" style="line-height: 1.6;">
<td class="old_line diff-line-num" data-linenumber="1827" style="width: 35px; color: rgba(0,0,0,0.3); border-right-width: 1px; border-right-color: #f0f0f0; border-right-style: solid; padding: 0 5px;" align="right" bgcolor="#fafafa">
1827
</td>
<td class="new_line diff-line-num" data-linenumber="1827" style="width: 35px; color: rgba(0,0,0,0.3); border-right-width: 1px; border-right-color: #f0f0f0; border-right-style: solid; padding: 0 5px;" align="right" bgcolor="#fafafa">
1827
</td>
<td class="line_content" style="padding-left: 0.5em; padding-right: 0.5em;">
<pre style="margin: 0;"> <span id="LC1827" class="line" lang="c"></span>
</pre>
</td>
</tr>
<tr class="line_holder new" id="" style="line-height: 1.6;">
<td class="old_line diff-line-num new" data-linenumber="1828" style="width: 35px; color: rgba(0,0,0,0.3); border-right-width: 1px; border-right-color: #c7f0d2; border-right-style: solid; padding: 0 5px;" align="right" bgcolor="#ddfbe6">
</td>
<td class="new_line diff-line-num new" data-linenumber="1828" style="width: 35px; color: rgba(0,0,0,0.3); border-right-width: 1px; border-right-color: #c7f0d2; border-right-style: solid; padding: 0 5px;" align="right" bgcolor="#ddfbe6">
1828
</td>
<td class="line_content new" style="padding-left: 0.5em; padding-right: 0.5em;" bgcolor="#ecfdf0">
<pre style="margin: 0;">+<span id="LC1828" class="line" lang="c"> <span class="k" style="font-weight: 600;">if</span> <span class="p">(</span><span class="n" style="color: #333;">rewind_nbytes</span> <span class="o" style="font-weight: 600;">==</span> <span class="mi" style="color: #099;">0</span><span class="p">)</span></span>
</pre>
</td>
</tr>
<tr class="line_holder new" id="" style="line-height: 1.6;">
<td class="old_line diff-line-num new" data-linenumber="1828" style="width: 35px; color: rgba(0,0,0,0.3); border-right-width: 1px; border-right-color: #c7f0d2; border-right-style: solid; padding: 0 5px;" align="right" bgcolor="#ddfbe6">
</td>
<td class="new_line diff-line-num new" data-linenumber="1829" style="width: 35px; color: rgba(0,0,0,0.3); border-right-width: 1px; border-right-color: #c7f0d2; border-right-style: solid; padding: 0 5px;" align="right" bgcolor="#ddfbe6">
1829
</td>
<td class="line_content new" style="padding-left: 0.5em; padding-right: 0.5em;" bgcolor="#ecfdf0">
<pre style="margin: 0;">+<span id="LC1829" class="line" lang="c"> <span class="k" style="font-weight: 600;">goto</span> <span class="n" style="color: #333;">rewind_done</span><span class="p">;</span></span>
</pre>
</td>
</tr>
<tr class="line_holder new" id="" style="line-height: 1.6;">
<td class="old_line diff-line-num new" data-linenumber="1828" style="width: 35px; color: rgba(0,0,0,0.3); border-right-width: 1px; border-right-color: #c7f0d2; border-right-style: solid; padding: 0 5px;" align="right" bgcolor="#ddfbe6">
</td>
<td class="new_line diff-line-num new" data-linenumber="1830" style="width: 35px; color: rgba(0,0,0,0.3); border-right-width: 1px; border-right-color: #c7f0d2; border-right-style: solid; padding: 0 5px;" align="right" bgcolor="#ddfbe6">
1830
</td>
<td class="line_content new" style="padding-left: 0.5em; padding-right: 0.5em;" bgcolor="#ecfdf0">
<pre style="margin: 0;">+<span id="LC1830" class="line" lang="c"></span>
</pre>
</td>
</tr>
<tr class="line_holder" id="" style="line-height: 1.6;">
<td class="old_line diff-line-num" data-linenumber="1828" style="width: 35px; color: rgba(0,0,0,0.3); border-right-width: 1px; border-right-color: #f0f0f0; border-right-style: solid; padding: 0 5px;" align="right" bgcolor="#fafafa">
1828
</td>
<td class="new_line diff-line-num" data-linenumber="1831" style="width: 35px; color: rgba(0,0,0,0.3); border-right-width: 1px; border-right-color: #f0f0f0; border-right-style: solid; padding: 0 5px;" align="right" bgcolor="#fafafa">
1831
</td>
<td class="line_content" style="padding-left: 0.5em; padding-right: 0.5em;">
<pre style="margin: 0;"> <span id="LC1831" class="line" lang="c"> <span class="k" style="font-weight: 600;">if</span> <span class="p">(</span><span class="n" style="color: #333;">PA_UNLIKELY</span><span class="p">((</span><span class="n" style="color: #333;">unused</span> <span class="o" style="font-weight: 600;">=</span> <span class="n" style="color: #333;">pa_alsa_safe_avail</span><span class="p">(</span><span class="n" style="color: #333;">u</span><span class="o" style="font-weight: 600;">-></span><span class="n" style="color: #333;">pcm_handle</span><span class="p">,</span> <span class="n" style="color: #333;">u</span><span class="o" style="font-weight: 600;">-></span><span class="n" style="color: #333;">hwbuf_size</span><span class="p">,</span> <span class="o" style="font-weight: 600;">&</span><span class="n" style="color: #333;">u</span><span class="o" style="font-weight: 600;">-></span><span class="n" style="color: #333;">sink</span><span class="o" style="font-weight: 600;">-></span><span class="n" style="color: #333;">sample_spec</span><span class="p">))</span> <span class="o" style="font-weight: 600;"><</span> <span class="mi" style="color: #099;">0</span><span class="p">))</span> <span class="p">{</span></span>
</pre>
</td>
</tr>
<tr class="line_holder" id="" style="line-height: 1.6;">
<td class="old_line diff-line-num" data-linenumber="1829" style="width: 35px; color: rgba(0,0,0,0.3); border-right-width: 1px; border-right-color: #f0f0f0; border-right-style: solid; padding: 0 5px;" align="right" bgcolor="#fafafa">
1829
</td>
<td class="new_line diff-line-num" data-linenumber="1832" style="width: 35px; color: rgba(0,0,0,0.3); border-right-width: 1px; border-right-color: #f0f0f0; border-right-style: solid; padding: 0 5px;" align="right" bgcolor="#fafafa">
1832
</td>
<td class="line_content" style="padding-left: 0.5em; padding-right: 0.5em;">
<pre style="margin: 0;"> <span id="LC1832" class="line" lang="c"> <span class="k" style="font-weight: 600;">if</span> <span class="p">((</span><span class="n" style="color: #333;">err</span> <span class="o" style="font-weight: 600;">=</span> <span class="n" style="color: #333;">try_recover</span><span class="p">(</span><span class="n" style="color: #333;">u</span><span class="p">,</span> <span class="s" style="color: #d14;">"snd_pcm_avail"</span><span class="p">,</span> <span class="p">(</span><span class="kt" style="color: #458; font-weight: 600;">int</span><span class="p">)</span> <span class="n" style="color: #333;">unused</span><span class="p">))</span> <span class="o" style="font-weight: 600;"><</span> <span class="mi" style="color: #099;">0</span><span class="p">)</span> <span class="p">{</span></span>
</pre>
</td>
</tr>
<tr class="line_holder" id="" style="line-height: 1.6;">
<td class="old_line diff-line-num" data-linenumber="1830" style="width: 35px; color: rgba(0,0,0,0.3); border-right-width: 1px; border-right-color: #f0f0f0; border-right-style: solid; padding: 0 5px;" align="right" bgcolor="#fafafa">
1830
</td>
<td class="new_line diff-line-num" data-linenumber="1833" style="width: 35px; color: rgba(0,0,0,0.3); border-right-width: 1px; border-right-color: #f0f0f0; border-right-style: solid; padding: 0 5px;" align="right" bgcolor="#fafafa">
1833
</td>
<td class="line_content" style="padding-left: 0.5em; padding-right: 0.5em;">
<pre style="margin: 0;"> <span id="LC1833" class="line" lang="c"> <span class="n" style="color: #333;">pa_log_warn</span><span class="p">(</span><span class="s" style="color: #d14;">"Trying to recover from underrun failed during rewind"</span><span class="p">);</span></span>
</pre>
</td>
</tr>
</table>
<br>
</li>
</div>
<div class="footer" style="margin-top: 10px;">
<p style="font-size: small; color: #666;">
—
<br>
<a href="https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/commit/015028d7e33ebc5c0fb84877296a9a5aefa603c3">View it on GitLab</a>.
<br>
You're receiving this email because of your account on gitlab.freedesktop.org.
If you'd like to receive fewer emails, you can
adjust your notification settings.
<script type="application/ld+json">{"@context":"http://schema.org","@type":"EmailMessage","action":{"@type":"ViewAction","name":"View Commit","url":"https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/commit/015028d7e33ebc5c0fb84877296a9a5aefa603c3"}}</script>
</p>
</div>
</body>
</html>