<p>Pau Espin Pedrol has uploaded this change for <strong>review</strong>.</p><p><a href="https://gerrit.osmocom.org/10073">View Change</a></p><pre style="font-family: monospace,monospace; white-space: pre-wrap;">libosmocodec: FR err concealment: Fix too many silent frames generated<br><br>As stated in its own documentation, reduce_xmaxcr_all() should only<br>return true when ALL XMAXC fields return true. However, previous<br>implementation returned true when at least one of them returned true.<br><br>As a result, if any of the sections is silent (for instance because one<br>of the bursts was lost), the whole frame is silenced, returning a zeroed buffer.<br><br>Related: OS#2700<br>Fixes: 40def49ac4b8babbd1b17c232137ce50a428706b ("libosmocodec: implement ECU (Error Concealment Unit) for FR")<br>Change-Id: I1624b7c6574f53d0593a61645d4fdc5d56cabe96<br>---<br>M src/codec/ecu_fr.c<br>1 file changed, 5 insertions(+), 9 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;">git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/73/10073/1</pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/src/codec/ecu_fr.c b/src/codec/ecu_fr.c</span><br><span>index d4ea741..784a5b8 100644</span><br><span>--- a/src/codec/ecu_fr.c</span><br><span>+++ b/src/codec/ecu_fr.c</span><br><span>@@ -64,16 +64,12 @@</span><br><span>  */</span><br><span> static bool reduce_xmaxcr_all(struct bitvec *frame_bitvec)</span><br><span> {</span><br><span style="color: hsl(0, 100%, 40%);">-     bool silent = false;</span><br><span style="color: hsl(120, 100%, 40%);">+  bool silent = true;</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">- if (reduce_xmaxcr(frame_bitvec, GSM610_RTP_XMAXC00))</span><br><span style="color: hsl(0, 100%, 40%);">-            silent = true;</span><br><span style="color: hsl(0, 100%, 40%);">-  if (reduce_xmaxcr(frame_bitvec, GSM610_RTP_XMAXC10))</span><br><span style="color: hsl(0, 100%, 40%);">-            silent = true;</span><br><span style="color: hsl(0, 100%, 40%);">-  if (reduce_xmaxcr(frame_bitvec, GSM610_RTP_XMAXC20))</span><br><span style="color: hsl(0, 100%, 40%);">-            silent = true;</span><br><span style="color: hsl(0, 100%, 40%);">-  if (reduce_xmaxcr(frame_bitvec, GSM610_RTP_XMAXC30))</span><br><span style="color: hsl(0, 100%, 40%);">-            silent = true;</span><br><span style="color: hsl(120, 100%, 40%);">+        silent &= reduce_xmaxcr(frame_bitvec, GSM610_RTP_XMAXC00);</span><br><span style="color: hsl(120, 100%, 40%);">+        silent &= reduce_xmaxcr(frame_bitvec, GSM610_RTP_XMAXC10);</span><br><span style="color: hsl(120, 100%, 40%);">+        silent &= reduce_xmaxcr(frame_bitvec, GSM610_RTP_XMAXC20);</span><br><span style="color: hsl(120, 100%, 40%);">+        silent &= reduce_xmaxcr(frame_bitvec, GSM610_RTP_XMAXC30);</span><br><span> </span><br><span>   return silent;</span><br><span> }</span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.osmocom.org/10073">change 10073</a>. To unsubscribe, or for help writing mail filters, visit <a href="https://gerrit.osmocom.org/settings">settings</a>.</p><div itemscope itemtype="http://schema.org/EmailMessage"><div itemscope itemprop="action" itemtype="http://schema.org/ViewAction"><link itemprop="url" href="https://gerrit.osmocom.org/10073"/><meta itemprop="name" content="View Change"/></div></div>

<div style="display:none"> Gerrit-Project: libosmocore </div>
<div style="display:none"> Gerrit-Branch: master </div>
<div style="display:none"> Gerrit-MessageType: newchange </div>
<div style="display:none"> Gerrit-Change-Id: I1624b7c6574f53d0593a61645d4fdc5d56cabe96 </div>
<div style="display:none"> Gerrit-Change-Number: 10073 </div>
<div style="display:none"> Gerrit-PatchSet: 1 </div>
<div style="display:none"> Gerrit-Owner: Pau Espin Pedrol <pespin@sysmocom.de> </div>