[CELT-dev] llcon software using CELT

Volker v.fischer at nt.tu-darmstadt.de
Thu Aug 20 22:01:15 PDT 2009


Gregory Maxwell schrieb:
> On Thu, Aug 20, 2009 at 3:32 PM, Volker<v.fischer at nt.tu-darmstadt.de> wrote:
>   
>> When I use CELT in the llcon software, I noticed that in the case of a
>> network trouble, I get a constant tone back from the CELT decoder (audio
>> is not muted after some audio frames as I would expect). What I do in
>> case of network trouble is that I use a NULL pointer instead of putting
>> actual coded data to the decoder to force the "error resilience" in the
>> decoder.
>>     
>
> 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<C*N;i++)
>       freq[i] = ADD32(EPSILON, MULT16_32_Q15(QCONST16(.9f,15),freq[i]));
>
>
> Are you, by chance, also calling it with a null pointer in place of
> the output buffer?
>
>
> I'll give llcon a try and see if I can reproduce 
This is the code I use in the llcon client for calling the CELT decoder:

        // CELT decoding
        if ( bReceiveDataOk )
        {
            celt_decode ( CeltDecoder,
                          &vecbyNetwData[0],
                          iCeltNumCodedBytes,
                          &vecsAudioSndCrdMono[i * 
SYSTEM_FRAME_SIZE_SAMPLES] );
        }
        else
        {
            // lost packet
            celt_decode ( CeltDecoder,
                          NULL,
                          iCeltNumCodedBytes,
                          &vecsAudioSndCrdMono[i * 
SYSTEM_FRAME_SIZE_SAMPLES] );
        }

It's in the file client.cpp where bReceiveDataOk is false for lost 
network packets, iCeltNumCodedBytes is usually 24 at a frame size of 128 
samples and vecsAudioSndCrdMono is a vector class for the audio output.

You can try it out by starting your own server, then start the client, 
connect and shut down the server. Just type:

cd llcon-[version]/linux
./llcon -s &
./llcon
- start client to connect to local host
- close the server window (this will shut down the server)

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.xiph.org/pipermail/opus/attachments/20090821/4b07bf44/attachment-0002.htm 


More information about the celt-dev mailing list