LinuxForum.Fans
Тема

Linphone ALSA no soundcard

Автор: godor2008 59 сообщений 14192 просмотров
#241567

Скрипт конфигурации сейчас такой:

text
#!/bin/bash

export PATH=/opt/arm-2011.09/bin:$PATH export HOSTTPL=arm-none-linux-gnueabi export PREFIX=/usr export SOURCEDIR=$HOME/linphone export INSTALLDIR=$SOURCEDIR/install export COMPDIR=$SOURCEDIR/install$PREFIX

sudo apt-get install intltool

cd $SOURCEDIR/ncurses-5.9 ./configure --prefix=$PREFIX --with-shared --with-gnu-ld --host=$HOSTTPL make make install DESTDIR=$INSTALLDIR

cd $SOURCEDIR/readline-6.2 ./configure --prefix=$PREFIX --host=$HOSTTPL make make install DESTDIR=$INSTALLDIR

cd $SOURCEDIR/libosip2-3.5.0 ./configure --prefix=$PREFIX --with-gnu-ld --host=$HOSTTPL make make install DESTDIR=$INSTALLDIR

cd $SOURCEDIR/libogg-1.3.0 ./configure --prefix=$PREFIX --with-gnu-ld --host=$HOSTTPL make make install DESTDIR=$INSTALLDIR

rm $COMPDIR/lib/*.la

cd $SOURCEDIR/libeXosip2-3.5.0 ./configure --prefix=$PREFIX --host=$HOSTTPL --with-gnu-ld OSIP_CFLAGS="-I$COMPDIR/include" OSIP_LIBS="-L$COMPDIR/lib -losip2 -losipparser2" make make install DESTDIR=$INSTALLDIR

rm $COMPDIR/lib/*.la

cd $SOURCEDIR/speex-1.2rc1 ./configure --prefix=$PREFIX --host=$HOSTTPL --enable-arm-asm --with-gnu-ld --enable-fixed-point --with-ogg="$COMPDIR" --disable-float-api make make install DESTDIR=$INSTALLDIR

rm $COMPDIR/lib/*.la

cd $SOURCEDIR/libvorbis-1.3.2 ./configure --prefix=$PREFIX --with-gnu-ld --target=$HOSTTPL OGG_CFLAGS="-I$COMPDIR/include" OGG_LIBS="-L$COMPDIR/lib/libogg.a" make make install DESTDIR=$INSTALLDIR

rm $COMPDIR/lib/*.la

cd $SOURCEDIR/alsa-lib-1.0.25 ./configure --prefix=$PREFIX --host=$HOSTTPL --enable-static=no --enable-shared=yes make make install DESTDIR=$INSTALLDIR

rm $COMPDIR/lib/*.la

cd $SOURCEDIR/linphone-3.5.2

./configure --prefix=$PREFIX --host=$HOSTTPL --with-gnu-ld --disable-static --disable-glib --enable-gtk_ui=no --disable-sdl --disable-x11 --disable-libv4l2 --with-readline=$COMPDIR SPEEX_CFLAGS="-I$COMPDIR/include" SPEEX_LIBS="-L$COMPDIR/lib -lspeex" SWSCALE_CFLAGS="-I$COMPDIR/include" SWSCALE_LIBS="-L$COMPDIR/lib -lswscale" --enable-alsa --disable-video --disable-ffmpeg --disable-strict --disable-tests --enable-fixed-point SPEEXDSP_CFLAGS="-I$COMPDIR/include" SPEEXDSP_LIBS="-L$COMPDIR/lib -lspeexdsp" LDFLAGS="-L$COMPDIR/lib" CFLAGS="-I$COMPDIR/include" --with-osip=$COMPDIR

#vi $SOURCEDIR/linphone-3.5.2/coreapi/Makefile #Find the LIBS variable and change it as: #LIBS = /home/sasha/linphone/install/usr/lib/libosip2.a /home/sasha/linphone/install/usr/lib/libspeex.a /home/sasha/linphone/install/usr/lib/libvorbis.a /home/sasha/linphone/install/usr/lib/libvorbisenc.a /home/sasha/linphone/install/usr/lib/libspeexdsp.a /home/sasha/linphone/install/usr/lib/libogg.a -lasound

#cd $SOURCEDIR/linphone-3.5.2/coreapi/help/Makefile #Find the LIBS variable and change it as: #LIBS = /home/sasha/linphone/install/usr/lib/libeXosip2.a /home/sasha/linphone/install/usr/lib/libspeex.a /home/sasha/linphone/install/usr/lib/libvorbisenc.a /home/sasha/linphone/install/usr/lib/libosipparser2.a /home/sasha/linphone/install/usr/lib/libosip2.a /home/sasha/linphone/install/usr/lib/libvorbis.a /home/sasha/linphone/install/usr/lib/libspeexdsp.a /home/sasha/linphone/install/usr/lib/libogg.a -lasound

#cd $SOURCEDIR/linphone-3.5.2/console/Makefile #Find the LIBS variable and change it as: #LIBS = -leXosip2 -losip2 /home/sasha/linphone/install/usr/lib/libvorbisenc.a -lspeexdsp -logg -losipparser2 -lasound

#And find linphonecsh_LDADD variable and change it as: #linphonecsh_LDADD = $(ORTP_LIBS) -L/home/sasha/linphone/install/usr/lib

#make #make install DESTDIR=$INSTALLDIR

У меня сейчас сомнения насчет указания имен библиотек. Если укажу -lasound, то эта библиотека будет искаться в /usr/lib. Если я указываю -l/home/sasha/linphone/install/usr/lib/asound то получаю ошибку

#241571
"godor2008" написал:
Если я указываю -l/home/sasha/linphone/install/usr/lib/asound то получаю ошибку

если с путём указывать, то надо и с префиксами и с суффиксами... libasound.so.версия

"godor2008" написал:
Если укажу -lasound, то эта библиотека будет искаться в /usr/lib

если вы про /usr/lib/ хоста, то не должна - архитектура там не та...

ЗЫ: по идее вместо такой кучи правок со статическими либами должно быть достаточно добавить -Bstatic перед флагами линковки (или чего-то подобного... точно не помню)

#241620

А каким образом стянуть альсу с кита? Достаточно ли скопировать libasound.so оттуда в свою папку компиляции

#241777
"godor2008" написал:
А каким образом стянуть альсу с кита? Достаточно ли скопировать libasound.so оттуда в свою папку компиляции

да, должно быть достаточно скопировать её в одну из папок, указанных в "-L" ключах

#241880

Проблема...
На ките libasound.so.2 - это ссылка.

А при копировании ее через tftp получаю обычный файл

#241884
godor2008 написал:
На ките libasound.so.2 - это ссылка.

А при копировании ее через tftp получаю обычный файл

не суть... но если есть желание можно скопировать файл и самому создать ссылку...

#241904

Но это ведь ссылка на чтото - библиотеку

#241907
"godor2008" написал:
Но это ведь ссылка на чтото - библиотеку

ну а после копирования вы и должны получить библиотеку... нет?

#241912

На ките libasound.so.2 занимает 18 Кб
После копирования на хост машину - 768 Кб

#241930
"godor2008" написал:
На ките libasound.so.2 занимает 18 Кб

может просто 18 байт? так это количество символов в "libasound.so.2.0.0" =)
посмотрите размер файла на который она ссылается...

#242016

Точно :) Посмотрел на что ссылается файл

Я даунгрейдил Linphone до версии 3,4,3.

Скомпилил его под x86. При его запуске получаю такиеже ошибки как и на ARM, только на х86 он взонит и слышно звук в обе стороны. На x86 работает как надо.

#242026

При запуске Linphone с ключом "-d" (debug) звонке с ARM на тестовый номер получаю кучу таких сообщений:

text
ortp-warning-Receiving packet with unknown payload type 112.

На x86 таких проблем нет.

#242032

По поводу libasound.2 и libasound.2.0.0

Я заменил на ARM эти два файла теми, которые скомпилил их исходников на x86. Воспроизведение звука в mplayer осталось нормальным. Значит драйвера рабочие(

#242041

Сервер у меня стоит в VirtualBox - Yate.

Звонки с других телефонов нормально маршрутизируются

#242054

О чудо!!!!
Помимо всего - была еще проблема и в севере.

Я запустил сервер в Yate в Windows и оно заработало!!!

Видимо у Linphonec на ARM проблема с серваком Yate в Linux

#242106

Теперь можно ведь удалить из linphone/lib файлы статических библиотек lib*.a без вреда для приложения?

#242141
"godor2008" написал:
Теперь можно ведь удалить из linphone/lib файлы статических библиотек lib*.a без вреда для приложения?

да...

"godor2008" написал:
Видимо у Linphonec на ARM проблема с серваком Yate в Linux

я бы не стал однозначно грешить... но тут уже можно запустить вайршарк и смотреть на уровне пакетов, чем они отличаются...

#242284

Новая проблема. В качестве сервера Yate используется FreeBSD на i386. К нему через свитч подключается комп и дев. борда. Звонки с ПК на ARM проходят нормально. При звонке с ARM на ПК, отсутствует звук и появляются ошибки:

text
linphonec> Media streams established with <sip:222@192.168.20.137> for call 2.
ortp-error-snd_pcm_avail_update: Broken pipe
ortp-error-*** alsa_can_read fixup, trying to recover
ALSA lib pcm.c:7316:(snd_pcm_recover) overrun occurred
^CTerminating...

Когда же в качестве сервера я использую ноутбук с Windows XP и Yate, то звонки нормально проходят в обе стороны. Надо копать в сторону сервера(

#242313

Что еще более странно:
При отключении на ARM в Linphone кодеков speex, и использовании только кодеков PCMA и PCMU звонки через сервер FreeBSD проходят нормально.
Возможно это связано с тем что на FreeBSD стоит Yate 1.x, а на Windows XP - Yate 3.3

Войдите или зарегистрируйтесь, чтобы ответить.