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 <[EMAIL PROTECTED]>: > On Mon, 12 Sep 2005 11:11:56 -0400 > Eduardo Bezerra <[EMAIL PROTECTED]> 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: [EMAIL PROTECTED] [EMAIL PROTECTED] > 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 _______________________________________________ Linphone-users mailing list [email protected] http://lists.nongnu.org/mailman/listinfo/linphone-users
