Перейти к содержанию

Самопальный плагин и щелчки. (ALSA+XMMS)


Рекомендуемые сообщения

Здравствуйте!

По причине того, что стандартный ALSA-plugin для XMMS у меня работать не хочет, пришлось наваять свой "плагинчик" на основе

Null XMMS plugin.

Суть такая:

char cmdline[255];

FILE *playpipe;

...

sprintf(&cmdline[0],

"aplay -Dplug:subdup -r %d -f S16_LE -c %d -t raw",

rate,nch);

playpipe=popen(&cmdline[0],"w")

...

// это вызывается для каждого куска потока размером в length

fwrite(ptr,length,1,playpipe);

written += length;

...

pclose(playpipe);

Вышестоящие строки распиханы в соответствующие функции (init,write,close) базового плагина, который сам по себе ничего не делает.

aplay - стандартная утилита из ALSA для проигрывания не сжатого звука.

subdup - route-плагин для ALSA, дублирующий стерео на 6 каналов

ПРОБЛЕМА вот:

Иногда во время проигрывания появляются мерзкие щелчки.

Щёлкает каждые секунд 10.

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

Кто-нибудь знает, где грабли?

Является ли pipe - защищённым каналом, куда не может попасть всякий мусор?

Ссылка на комментарий
Поделиться на другие сайты

Присоединяйтесь к обсуждению

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

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
×
×
  • Создать...