Re: [gnome-cyr] Re: [gnome-cyr] Патч к esound на подключение к arts аудиосерверу
- From: Igor Mokrushin <igor avtomir ru>
- To: gnome-cyr gnome org
- Subject: Re: [gnome-cyr] Re: [gnome-cyr] =?koi8-r?b?8MHU3iDLIGVzb3VuZCDOwSDQz8TLzMDexc7JxSDLIGFydHM=?==?koi8-r?b?IMHVxMnP08XS18XS1Q==?=
- Date: Mon, 13 May 2002 15:51:38 +0400
11 Май 2002 11:56, Vlad Harchev написал:
> On Wed, 8 May 2002, Igor Mokrushin wrote:
>
> Привет всем!
>
> > Hi All!
> >
> > Сделал патч к esound версии 0.2.26, что бы он мог подключаться
> > к arts аудиосерверу, просто возникла необходимость использовать
> > esd в среде KDE из-за ряда программ и тем самым не подключаться
> > на прямую к /dev/dsp. Патч позволяет esd детектить, запущен ли artsd
> > или нет, если не запущен, то использует OSS или ALSA, т.е. как обычно.
> > После установки патча надо сделать ./autoconf, что бы перебилдить
> > ./confugure. По умолчанию в configure стоит ключ --with-arts, который
> > ищет наличие arts в системе.
> > P.S. Я смог проверить эту реализацию в связке OSS+aRts, ALSA у
> > меня нет, так что пробуйте у кого есть. Проверял так же на запись,
> > esdrec'ом, вроде бы проблем небыло при воспроизведении esdcat'ом.
> > Есть правда одна неприятность, это сегфаулт при выходе esd,
> > впринципе, это виновата функция arts_init(), и похоже привязка
> > этого глюка идет к glibc-2.2.5. Вообщем пробуйте, и сообщайте...
>
> Прежде всего большое спасибо за патч!
>
> У меня такие мысли насчет патча: если есть желание продвинуть его в
> дистрибьютивы, то нужно убрать динамическую линковку с либой arts. Иначе
> из-за появляющихся зависимостей на KDE вряд ли кто из дистрибьюторов пойдет
> на включение этого патча.
Начнем с того, что сам arts не завязан на KDE и может вообще быть отдельным
приложением. Под KDE там используется только управление, которое идет
как отдельная часть, поэтому линковаться и завязываться на сам KDE,
по идее, ничего не должно, тем более что arts утилиты есть и под gnome.
Однако в моем случае, да, arts идет как составная часть KDE.
> Чтобы это сделать, надо загрузить библиотеку с arts динамически и если
> получилось, взять указатели на используемые из нее ф-ии, и вызывать потом
> все эти ф-ии по указателям. Так как esd не использует glib придется
> использовать dlopen/dlsym/dlclose (они вроде есть на всех юниксах, кроме
> HPUX).
Ну arts тоже не использует QT или GLIB при своей работе, т.е. как в аналогии
сравнении с esd, но мысль интересная, я уже сделал такой патч, что бы
не завязываться на libartsc.so.0 с использованием dlopen/dlsym/dlclose, т.е.
это действительно будет удобно для дистрибутивов, если собран бинарик с
поддержкой arts, но сам arts не установлен(отказались устанавливать KDE к
примеру и соответсвенно сам arts).
> Наверно было бы еще полезно переместить кусок, вставляемый в
> esd_audio_open, в одну ф-ию, и вызывать ее из всех тех мест.
Это уже реализовал
> Насчет сегфолта при выходе: рекомендую попробовать звать _exit() явно -
> возможно тогда сегфолта не произойдет. Это может прокатить. А может послать
> sigterm или даже sigkill самому себе.
Эта проблема решилась сама сабой, в RH-7.3, проблема была, как я и подозревал,
в их сборке glibc-2.2.5 из rawhide, то что сейчас есть в RH-7.3, работает как
надо и сегфолта больше не возникает.
P.S. Патч почти закончен, остается тщательная проверка, как закончу, так
сразу пошлю новый...
> Best regards,
> -Vlad
>
>
> _______________________________________________
> gnome-cyr mailing list
> gnome-cyr gnome org
> http://mail.gnome.org/mailman/listinfo/gnome-cyr
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]