[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