<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <meta content="text/html;charset=UTF-8" http-equiv="Content-Type">
  <title></title>
</head>
<body bgcolor="#ffffff" text="#000000">
Hi Gregory, hi Jean-Marc,<br>
<br>
I found the cause of the problem. The bug is in the llcon softare, not
in the CELT library.<br>
<br>
In case of a network error, I do not only call the CELT decoder with
data=NULL but sometimes with an all zero data vector (caused by a bug
in my socket buffer implementation).<br>
<br>
Thank you for your support,<br>
Best Regards,<br>
Volker<br>
<br>
<br>
<pre wrap="">&gt;When I use CELT in the llcon software, I noticed that in the case of a 
&gt;network trouble, I get a constant tone back from the CELT decoder (audio 
&gt;is not muted after some audio frames as I would expect). What I do in 
&gt;case of network trouble is that I use a NULL pointer instead of putting 
&gt;actual coded data to the decoder to force the "error resilience" in the 
&gt;decoder.
&gt;
&gt;I wonder if I am doing something wrong using the CELT library or if this 
&gt;is a bug.</pre>
<br>
Gregory Maxwell schrieb:
<blockquote
 cite="mid:e692861c0908202214x36dbd9dey195e0a6c0725fff5@mail.gmail.com"
 type="cite">
  <pre wrap="">On Fri, Aug 21, 2009 at 1:12 AM, Gregory Maxwell<a class="moz-txt-link-rfc2396E" href="mailto:gmaxwell@gmail.com">&lt;gmaxwell@gmail.com&gt;</a> wrote:
  </pre>
  <blockquote type="cite">
    <pre wrap="">On Fri, Aug 21, 2009 at 1:07 AM, Volker<a class="moz-txt-link-rfc2396E" href="mailto:v.fischer@nt.tu-darmstadt.de">&lt;v.fischer@nt.tu-darmstadt.de&gt;</a> wrote:
    </pre>
    <blockquote type="cite">
      <pre wrap="">Gregory Maxwell schrieb:
      </pre>
      <blockquote type="cite">
        <pre wrap="">Hm? If you call celt_decode with a null pointer in place of the data
it should fade out the audio after consecutive losses.

The relevant code is around line 1286 in celt.c:
  for (i=0;i&lt;C*N;i++)
     freq[i] = ADD32(EPSILON, MULT16_32_Q15(QCONST16(.9f,15),freq[i]));

        </pre>
      </blockquote>
      <pre wrap="">If I interpret your code correctly, you use an exponential decay for the
fade out. In previous software projects I did something similar and got
strange effects when I applied a multiplication to very small floating point
values. I guess the same happens here, too. You should introduce a bound for
the floating point values. If the signal is below the bound, set the
floating point value to zero and the problems should disapear (I guess ;-)
).
      </pre>
    </blockquote>
    <pre wrap="">The addition of EPSILON prevents the creation of denormals and is more
efficient than the compare and branch required for zeroizing.
    </pre>
  </blockquote>
  <pre wrap=""><!---->
This makes me think however.. are you applying any gain control the
the output which might be making a quiet tone loud?</pre>
</blockquote>
</body>
</html>