linphone-users
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Linphone-users] Speex and 1015 in an ARM platform


From: Eduardo Bezerra
Subject: Re: [Linphone-users] Speex and 1015 in an ARM platform
Date: Tue, 13 Sep 2005 11:41:17 -0400

Hi Marcel,


   If I force mediastreamer/alsasound.c to use 2 channels the result will
be:
1. on the board I will listen a stream with 2x of the orginal frequency (too 
fast, just like an ant speeking :)
2. on the other sip client I will listen an stream with 1/2 of the
original frequency
(too slow, just like a moster speaking :)

   If do that you will need to duplicate the incoming stream before
playing it and
send half of the input stream (mic).

   I'm executing the test* programs that come with linphone. Specificaly, the 
test_speex program has a curious comportament. It depends on the libspeex
that you have installed. I realized that the encodec/decodec functions of
speex are delaying the sync process on my ARM board.

  I tried:
# ./test_speex

  and got:

MediaStreamer-Message: Found /dev/dsp.
MediaStreamer-Message: ms_filter_add_link: OssRead,0 -> SpeexEncoder,0
MediaStreamer-Message: ms_filter_add_link: SpeexEncoder,0 -> SpeexDecoder,0
MediaStreamer-Message: ms_filter_add_link: SpeexDecoder,0 -> OssWrite,0
MediaStreamer-Message: Opening sound card [/dev/dsp (Open Sound
System)] in captt
ure mode with stereo=0,rate=16000,bits=16

(process:1176): MediaStreamer-WARNING **: dsp block size set to 8192.
MediaStreamer-Message: dsp blocksize is 8192.
MediaStreamer-Message: Speex encoder setup: freq=16000
MediaStreamer-Message: Setting speex output bitrate less or equal than 30000

(process:1176): MediaStreamer-WARNING **: Can't guess processor
features: settinn
g speex encoder to its lowest complexity.
MediaStreamer-Message: Speex decoder setup: freq=16000
MediaStreamer-Message: Opening sound card [/dev/dsp (Open Sound
System)] in playy
back mode with stereo=0,rate=16000,bits=16

(process:1178): MediaStreamer-WARNING **: Must catchup 9753 miliseconds.

(process:1178): MediaStreamer-WARNING **: Must catchup 30957 miliseconds.

(process:1178): MediaStreamer-WARNING **: Must catchup 41548 miliseconds.

(process:1178): MediaStreamer-WARNING **: Must catchup 62688 miliseconds.

(process:1178): MediaStreamer-WARNING **: Must catchup 83301 miliseconds.

(process:1178): MediaStreamer-WARNING **: Must catchup 93816 miliseconds.

(process:1178): MediaStreamer-WARNING **: Must catchup 114912 miliseconds.

(process:1178): MediaStreamer-WARNING **: Must catchup 125447 miliseconds.

(process:1178): MediaStreamer-WARNING **: Must catchup 146547 miliseconds.

(process:1178): MediaStreamer-WARNING **: Must catchup 167687 miliseconds.

(process:1178): MediaStreamer-WARNING **: Must catchup 178220 miliseconds.

(process:1178): MediaStreamer-WARNING **: Must catchup 199913 miliseconds.

(process:1178): MediaStreamer-WARNING **: Must catchup 210212 miliseconds.
stoping sync...
MediaStreamer-Message: Mediastreamer processing thread is exiting.
MediaStreamer-Message: Closing reading channel of soundcard.
MediaStreamer-Message: Closing writing channel of soundcard.
unlinking filters...
destroying filters...

   Unfortunaly, I couldn't hear anything. The speex version was 1.1.7. I just
had added some configure options and the result changed (--enable-fixed-point 
--enable-arm5e-asm):


MediaStreamer-Message: ms_filter_add_link: OssRead,0 -> SpeexEncoder,0
MediaStreamer-Message: ms_filter_add_link: SpeexEncoder,0 -> SpeexDecoder,0
MediaStreamer-Message: ms_filter_add_link: SpeexDecoder,0 -> OssWrite,0
MedIaStreamer-Message: Opening sound card [/dev/dsp (Open Sound
System)] in captt
ure mode with stereo=0,rate=16000,bits=16

(process:1200): MediaStreamer-WARNING **: dsp block size set to 8192.
MediaStreamer-Message: dsp blocksize is 8192.
MediaStreamer-Message: Speex encoder setup: freq=16000
MediaStreamer-Message: Setting speex output bitrate less or equal than 30000

(process:1200): MediaStreamer-WARNING **: Can't guess processor
features: settinn
g speex encoder to its lowest complexity.
MediaStreamer-Message: Speex decoder setup: freq=16000
MediaStreamer-Message: Opening sound card [/dev/dsp (Open Sound
System)] in playy
back mode with stereo=0,rate=16000,bits=16
(process:1202): MediaStreamer-WARNING **: Must catchup 70 miliseconds.

(process:1202): MediaStreamer-WARNING **: Must catchup 232 miliseconds.

(process:1202): MediaStreamer-WARNING **: Must catchup 307 miliseconds.

(process:1202): MediaStreamer-WARNING **: Must catchup 474 miliseconds.

(process:1202): MediaStreamer-WARNING **: Must catchup 636 miliseconds.

(process:1202): MediaStreamer-WARNING **: Must catchup 711 miliseconds.

(process:1202): MediaStreamer-WARNING **: Must catchup 874 miliseconds.

(process:1202): MediaStreamer-WARNING **: Must catchup 949 miliseconds.

(process:1202): MediaStreamer-WARNING **: Must catchup 1116 miliseconds.

(process:1202): MediaStreamer-WARNING **: Must catchup 1297 miliseconds.

(process:1202): MediaStreamer-WARNING **: Must catchup 1372 miliseconds.
(process:1202): MediaStreamer-WARNING **: Must catchup 1535 miliseconds.

(process:1202): MediaStreamer-WARNING **: Must catchup 1609 miliseconds.

(process:1202): MediaStreamer-WARNING **: Must catchup 1773 miliseconds.

(process:1202): MediaStreamer-WARNING **: Must catchup 1936 miliseconds.

(process:1202): MediaStreamer-WARNING **: Must catchup 2010 miliseconds.

(process:1202): MediaStreamer-WARNING **: Must catchup 2177 miliseconds.

(process:1202): MediaStreamer-WARNING **: Must catchup 2253 miliseconds.

(process:1202): MediaStreamer-WARNING **: Must catchup 2417 miliseconds.

(process:1202): MediaStreamer-WARNING **: Must catchup 2582 miliseconds.

(process:1202): MediaStreamer-WARNING **: Must catchup 2656 miliseconds.

(process:1202): MediaStreamer-WARNING **: Must catchup 2819 miliseconds.
(process:1202): MediaStreamer-WARNING **: Must catchup 2895 miliseconds.

(process:1202): MediaStreamer-WARNING **: Must catchup 3059 miliseconds.

(process:1202): MediaStreamer-WARNING **: Must catchup 3227 miliseconds.

(process:1202): MediaStreamer-WARNING **: Must catchup 3302 miliseconds.

(process:1202): MediaStreamer-WARNING **: Must catchup 3467 miliseconds.

(process:1202): MediaStreamer-WARNING **: Must catchup 3543 miliseconds.

(process:1202): MediaStreamer-WARNING **: Must catchup 3705 miliseconds.

(process:1202): MediaStreamer-WARNING **: Must catchup 3870 miliseconds.

(process:1202): MediaStreamer-WARNING **: Must catchup 3945 miliseconds.

(process:1202): MediaStreamer-WARNING **: Must catchup 4108 miliseconds.

(process:1202): MediaStreamer-WARNING **: Must catchup 4185 miliseconds.

(process:1202): MediaStreamer-WARNING **: Must catchup 4350 miliseconds.
stoping sync...
MediaStreamer-Message: Mediastreamer processing thread is exiting.
MediaStreamer-Message: Closing reading channel of soundcard.
MediaStreamer-Message: Closing writing channel of soundcard.
unlinking filters...
destroying filters...



   Ok, the delay has been decreased, but I still couldn't hear anything. 
So, I tried updating my libspeex library to the 1.1.10 version (last unstable).
The result was better: the delay outputed in the sync process was next to 
the last output above, but sometimes I could hear some peace of my voice.
Does anyone know how to solve this? I think that improving the codecs/decodecs
functions can help... But, what does mean the "Can't guess processor features"
above warnning?


2005/9/12, Marcel Karras <address@hidden>:
> On Mon, 12 Sep 2005 11:11:56 -0400
> Eduardo Bezerra <address@hidden> wrote:
> 
> > Hi all,
> >
> >
> >   I ported linphone 1.0.1 to an ARM platform. It is working. But I
> > have some problems.
> > I can use only PCMU, PCMA and GSM codecs. If I use Speex (16K/8K) or 1015 
> > codecs
> > I can't hear anything neither in my ARM platform nor in the other SIP 
> > client.
> > Does anyone know how I can solve this problem?
> 
> I have exactly the same problem with my AU1100 MIPS board! (see the
> thread "Alsa makes no noise")
> You can try setting the channel variable in mediastreamer/alsasound.c
> manually to 2. Then you'll probably hear something though it will be
> very strange. Try to log the output of /proc/asound/card0/pcm0p/sub0/*
> while doing a call. I assume you'll get contineous XRUNs like I got.
> 
> If someone could arrange it to look at these facts I'd appreciate that
> much.
> 
> Regards
> - Marcel Karras
> 
> --
> ------------------------------------------------------------------------
> Contact: address@hidden   address@hidden
> http://www.freebits.de      http://www.tu-chemnitz.de
> Unix, Linux && OpenSource   Student of Chemnitz University of Technology
> ------------------------------------------------------------------------
> 
> 
> 


-- 
Eduardo Bezerra Valentin
Bacharelado em Ciência da Computação - DCC - UFAM
Laboratório de VoIP - GRSD - UFAM




reply via email to

[Prev in Thread] Current Thread [Next in Thread]