Community
cancel
Showing results for 
Search instead for 
Did you mean: 
Beginner
35 Views

problems decoding G711U with sample application

Hi Forum,

i have some problems decoding a G711U rtpdump-File with the ipp umc_speech_rtp_codec sample. Maybe anyone can explaine me the fault.

If i run the app, the jitterbuffer returns SJB_LOST and UMC_ERR_NOT_ENOUGH_DATA in the middle of the file (file size is 11,8MB). But if i watch the File binary i can't see "abnormal" bits. I mean the packets are all the same size and at the position where the error occur the sequence number and also the timestamp runs continuously. (there is some packetloss later in the file, but i think that is not the problem).

Does anybody know where this is explained or can explaine when the SJB_LOST error occur? Maybe i made a mistake.

Thank you.

regards Otto

0 Kudos
5 Replies
New Contributor II
35 Views

Hello Otto,

Will you be so kind to provide some test case input file thruattachment? I will take a look.

Specifically for jitter buffer, in short, SBJ_LOST suppose to indicate"not-arrival" ofthe next packet overtimespecified for jitter buffer.

thanks,

Vyacheslav, IPP speech codecs

0 Kudos
Beginner
35 Views

Hello Vyacheslav,

thanks for your reply. I found a file (a smaller one) where the same error occur and with no "real" speech. So i can give it to you. In that file are just dial-tones, but i think the payload doesn't really matter.

I would be much obliged if you can explain me this problem. I just want to decode all packets and not a few.

thanks for your work and time.

best regards

Otto

0 Kudos
New Contributor II
35 Views

Hi Otto,

many thanks to You for providing the data whichhelp us to find and fix a bugcausing that erroneous behaviour ofthe umc_speech_rtp_codec IPP sample.

The bug wil be fixed inthe next IPP sample release.

In the meantime, you maybe willing to patch the sample code by yourself.Please, usethe following hint:

1) add new local variable into timedplayer.cpp procedure TimedPlayer::Play:

Ipp32u isFirstPacketFlag = 1;

2) replace the following three linesin TimedPlayer::Play procedure

1 if(m_pRTPPck->GetMarked()) {

2 timpStampOffset = m_pRTPPck->GetTimeStamp();

3 }

with the following four new lines:

1 if(isFirstPacketFlag) {

2 timpStampOffset = m_pRTPPck->GetTimeStamp();

3 isFirstPacketFlag = 0;

4 }

Thank you forusing IPP!

With best regards,

Vyacheslav, IPP speech codecs

0 Kudos
Beginner
35 Views

Hi Vyacheslav,

thank you very much for your answer. But i have to say that i changed exactly this before i wrote my question. (I fixed it with one difference. I use the existing numFramesToProcess variable and set the timpStampOffset if the variable = 0. At the end, it is the same.)
The error is realy confusing. I tested it several times and the resulting wav has never the same size. Sometimes the app decodes 1774 frames and sometimes 6280 or a value between them.

I don't really understand that. Do you have any ideas? In my mind, there is something with the timestamp and the Jitterbuffer.

Thank you again, i just want to understand it...

regards Otto
0 Kudos
Beginner
35 Views

Hello at all,

i want to inquire whether somebody has an idea about my problem. It is still present.
I would be glad to have your explanation.

best regards
Otto
0 Kudos