Hi,
Glad to hear that :)
The underflow messages tell that mic clock rate < speaker clock rate.
However, it normally does not happen that frequent (+/- 5 times per
second). If it possible, please run the snd_test in folder samples,
and see the clock drift result.
Sometime I got that when CPU load is high (in Symbian using Speex +
log level 5) so the sound device may get disturbed by producing clock
drift as above, as long as the voice is not breaking it is fine. If
you get the voice breaking try to reduce the log level or generally
optimize the performance as described in
https://trac.pjsip.org/repos/wiki/FAQ#cpu
Regards,
nanang
On Mon, Sep 8, 2008 at 4:14 PM, Sebastian Groosman
Sebastian.Groosman@indicia.nl wrote:
Hi Nanang,
Thanks a lot for your input!!
I've handled the items and the sound is crystal clear now J.
There is only one thing I see in the logs… a massive amount of underflow
errors.
Any suggestions on that?
Greets,
Sebastian
11:02:34.000 strm002F4254 JB shrinking 1 frame(s), size=11
11:02:34.000 Master/sound Underflow, buf_cnt=0, will generate 1 frame
11:02:34.000 strm002F4254 JB shrinking 1 frame(s), size=12
11:02:34.000 strm002F4254 jb updated(1), prefetch=9, size=14
11:02:34.000 Master/sound Underflow, buf_cnt=0, will generate 1 frame
11:02:35.000 Master/sound Underflow, buf_cnt=0, will generate 1 frame
11:02:35.000 strm002F4254 JB shrinking 1 frame(s), size=11
11:02:35.000 Master/sound Underflow, buf_cnt=0, will generate 1 frame
11:02:35.000 strm002F4254 JB shrinking 1 frame(s), size=10
11:02:35.000 Master/sound Underflow, buf_cnt=0, will generate 1 frame
11:02:35.000 Master/sound Underflow, buf_cnt=0, will generate 1 frame
11:02:35.000 Master/sound Underflow, buf_cnt=0, will generate 1 frame
11:02:35.000 strm002F4254 JB shrinking 1 frame(s), size=11
11:02:36.000 strm002F4254 JB shrinking 1 frame(s), size=10
11:02:36.000 Master/sound Underflow, buf_cnt=0, will generate 1 frame
11:02:36.000 Master/sound Underflow, buf_cnt=0, will generate 1 frame
11:02:36.000 Master/sound Underflow, buf_cnt=0, will generate 1 frame
11:02:36.000 strm002F4254 JB shrinking 1 frame(s), size=11
11:02:36.000 strm002F4254 jb updated(2), prefetch=12, size=13
11:02:37.000 Master/sound Underflow, buf_cnt=0, will generate 1 frame
11:02:37.000 Master/sound Underflow, buf_cnt=0, will generate 1 frame
11:02:37.000 Master/sound Underflow, buf_cnt=0, will generate 1 frame
11:02:37.000 Master/sound Underflow, buf_cnt=0, will generate 1 frame
11:02:37.000 Master/sound Underflow, buf_cnt=0, will generate 1 frame
11:02:37.000 Master/sound Underflow, buf_cnt=0, will generate 1 frame
11:02:38.000 strm002F4254 JB shrinking 1 frame(s), size=14
11:02:38.000 Master/sound Underflow, buf_cnt=0, will generate 1 frame
11:02:38.000 Master/sound Underflow, buf_cnt=0, will generate 1 frame
11:02:38.000 strm002F4254 JB shrinking 1 frame(s), size=13
11:02:38.000 Master/sound Underflow, buf_cnt=0, will generate 1 frame
11:02:38.000 Master/sound Underflow, buf_cnt=0, will generate 1 frame
11:02:38.000 Master/sound Underflow, buf_cnt=0, will generate 1 frame
11:02:39.000 strm002F4254 JB shrinking 1 frame(s), size=14
11:02:39.000 Master/sound Underflow, buf_cnt=0, will generate 1 frame
11:02:39.000 Master/sound Underflow, buf_cnt=0, will generate 1 frame
11:02:39.000 Master/sound Underflow, buf_cnt=0, will generate 1 frame
11:02:39.000 strm002F4254 JB shrinking 1 frame(s), size=13
11:02:40.000 Master/sound Underflow, buf_cnt=0, will generate 1 frame
11:02:40.000 strm002F4254 JB shrinking 1 frame(s), size=14
11:02:40.000 Master/sound Underflow, buf_cnt=0, will generate 1 frame
11:02:40.000 Master/sound Underflow, buf_cnt=0, will generate 1 frame
11:02:40.000 strm002F4254 JB shrinking 1 frame(s), size=13
11:02:40.000 Master/sound Underflow, buf_cnt=0, will generate 1 frame
11:02:40.000 Master/sound Underflow, buf_cnt=0, will generate 1 frame
11:02:41.000 Master/sound Underflow, buf_cnt=0, will generate 1 frame
11:02:41.000 strm002F4254 JB shrinking 1 frame(s), size=14
11:02:41.000 Master/sound Underflow, buf_cnt=0, will generate 1 frame
11:02:41.000 strm002F4254 JB shrinking 1 frame(s), size=13
11:02:41.000 Master/sound Underflow, buf_cnt=0, will generate 1 frame
11:02:41.000 Master/sound Underflow, buf_cnt=0, will generate 1 frame
11:02:42.000 strm002F4254 JB shrinking 1 frame(s), size=14
11:02:42.000 Master/sound Underflow, buf_cnt=0, will generate 1 frame
11:02:42.000 Master/sound Underflow, buf_cnt=0, will generate 1 frame
11:02:42.000 strm002F4254 JB shrinking 1 frame(s), size=13
11:02:42.000 Master/sound Underflow, buf_cnt=0, will generate 1 frame
11:02:42.000 Master/sound Underflow, buf_cnt=0, will generate 1 frame
11:02:42.000 strm002F4254 JB shrinking 1 frame(s), size=14
11:02:42.000 strm002F4254 jb updated(1), prefetch=10, size=16
11:02:42.000 Master/sound Underflow, buf_cnt=0, will generate 1 frame
11:02:42.000 Master/sound Underflow, buf_cnt=0, will generate 1 frame
From: pjsip-bounces@lists.pjsip.org [mailto:pjsip-bounces@lists.pjsip.org]
On Behalf Of Nanang Izzuddin
Sent: Friday, September 05, 2008 6:06 PM
To: pjsip list
Subject: Re: [pjsip] G729
Hi,
Please try with the following setting first:
frm_per_pkt = 1
VAD disabled
make sure everything ok with this setting, then move on with frm_per_pkt =
2, if everything ok then deal with VAD enabled.
Some notes about the code:
in encode(), it seems you ignore the first byte output of VoiceAge G729
encoder. If that first byte contains frame type info, it shouldn't be
ignored, especially when VAD is enabled, since the encoder may return SID
(silence frame) or DTX (discontinuous transmission) or speech frame. If you
treat SID and DTX frame as speech frame, decoder may fail or produce noise.
silence detector is unnecessary since G729 already has built-in VAD.
in encode(), the pcm_in += 2*SAMPLES_PER_FRAME, shouldn't it be just
pcm_in += SAMPLES_PER_FRAME?
in decode(), it doesn't seem that SID frame is handled very well: if
(input->size < L_PACKED_G729A) return PJMEDIA_CODEC_EFRMTOOSHORT;
Again, if the first byte actually specifies the frame type, instead of
returning non-PJ_SUCCESS it should be decoded normally (e.g: with first
byte/frame type = SID)
Regards,
nanang
On Fri, Sep 5, 2008 at 7:30 PM, Sebastian Groosman
Sebastian.Groosman@indicia.nl wrote:
Hi,
I've had the problem that no sound was heard at all with the VoiceAge
G729 libs.
It appeared that for the decoding part I needed a local buffer and
prepend it with a "2".
For the encoding the output buffer and size were the problem.
Both these problems are mostly solved now. (I've included the files)
The only problem I have left, is that the encoded sound sounds metallic.
I followed most of the rules concerning CPU load on windows mobile
(see post on "how to reduce CPU load and improve voice quality on mobile
device FR" and http://trac.pjsip.org/repos/wiki/FAQ#cpu)
Now my G711 and other codes' sound quality is a lot better but the
encoded sound is still metallic.
Any suggestions?
Sebastian
-----Original Message-----
From: pjsip-bounces@lists.pjsip.org
[mailto:pjsip-bounces@lists.pjsip.org] On Behalf Of Nanang Izzuddin
Sent: Wednesday, September 03, 2008 4:15 PM
To: pjsip list
Subject: Re: [pjsip] G729
Hi,
Could you specify more detail about the problem?
Regards,
nanang
On 03/09/2008, Sebastian Groosman Sebastian.Groosman@indicia.nl wrote:
Hi,
I'm trying to get VoiceAge g729 working on a windows mobile
smartphone,
without success...
Since Intel IPP has no libraries for that platform, I'm using the
VoiceAge
libraries for this platform.
Has anybody figured out how to get this working?
I've included my files... maybe I'm just missing something here.
Thanks in advance,
Sebastian
From: pjsip-bounces@lists.pjsip.org
[mailto:pjsip-bounces@lists.pjsip.org] On Behalf Of Archie
Rosenblum
Sent: Friday, August 15, 2008 1:18 AM
To: pjsip list
Subject: Re: [pjsip] G729
Thank you for the heads-up, Benny. This product really is terrific.
From: pjsip-bounces@lists.pjsip.org
[mailto:pjsip-bounces@lists.pjsip.org] On Behalf Of Benny
Prijono
Sent: Thursday, August 14, 2008 6:03 PM
To: pjsip list
Subject: Re: [pjsip] G729
On Thu, Aug 14, 2008 at 10:23 PM, Archie Rosenblum archie@bbsti.com
wrote:
Hi Everyone,
By any chance has anyone successfully implemented G729 using the
VoiceAge or
Intel's IPP libraries (or others) for win32? I just can't figure it
out. I
am willing to pay for a correct working header/source and
instructions.
It's just beyond my ability.
We're currently integrating Intel IPP codecs for the next release.
It's in
the roadmap (http://trac.pjsip.org/repos/roadmap).
Cheers
Benny
Visit our blog: http://blog.pjsip.org
pjsip mailing list
pjsip@lists.pjsip.org
http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org
Visit our blog: http://blog.pjsip.org
pjsip mailing list
pjsip@lists.pjsip.org
http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org
Visit our blog: http://blog.pjsip.org
pjsip mailing list
pjsip@lists.pjsip.org
http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org
Visit our blog: http://blog.pjsip.org
pjsip mailing list
pjsip@lists.pjsip.org
http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org
--
Regards,
nanang