Bug 3378 - xmms-cdread is stumpling while playing some CD's
Summary: xmms-cdread is stumpling while playing some CD's
Status: CLOSED WONTFIX
Alias: None
Product: Sisyphus
Classification: Development
Component: xmms-in-cdread (show other bugs)
Version: unstable
Hardware: all Linux
: P2 enhancement
Assignee: Michael Shigorin
QA Contact: qa-sisyphus
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2003-12-16 16:34 MSK by Yury Aliaev
Modified: 2008-02-15 22:22 MSK (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Yury Aliaev 2003-12-16 16:34:00 MSK
В некотором месте некоего диска начинает дико затыкаться (несколько десятых
долей секунды звук идёт, затем прерывается на несколько секунд). Если тот же
диск играть обычным способом через декодер самого привода (с помощью cdplay), то
всё проходит нормально.



Steps to Reproduce:
1. Попробовать обкатать плагин на наибольшем количестве приводов и дисков
 разной степени заезженности, параллельно смотря, как такие диски проигрываются
самим приводом.
Comment 1 Michael Shigorin 2004-01-07 18:57:31 MSK
Хех.  0.14a, собранный с патчем насчет xmms-1.2.8, просто взрывается на
нескольких ровных местах.  Реже, если в плейлисте _только_ CD, очень быстро
(порой на старте) -- если еще что-то и ~/.xmms/config ненулёвый.

Чинить его надо :-(
Comment 2 Mikhail Zabaluev 2004-01-07 19:26:03 MSK
Какого-нибудь аналогичного плагина на cdparanoia точно нету?
Comment 3 Mikhail Zabaluev 2004-01-16 01:15:33 MSK
Я точно не буду этим заниматься в ближайшее время.
Comment 4 Michael Shigorin 2004-01-19 18:44:53 MSK
Тёзка, а ведь шикарная мысль!

Что смешно, google://xmms+cdparanoia говорит, что есть.  Пойду смотреть :-)
Comment 5 inger@altlinux.org 2004-05-05 17:49:07 MSD
нет такого пакета 
 
Comment 6 Michael Shigorin 2004-05-05 17:52:59 MSD
есть такй пакет :(
Comment 7 Yury Aliaev 2004-05-12 22:05:34 MSD
Мне удалось малость копануть код xmms-in-cdparanoia (который глючит абсолютно
также: тот же диск, то же место...), и я выяснил, что плагин (и именно, похоже,
библиотечная функция из libcdparanoia) пытается считать сектор "до победного
конца", не смотя на то, что отпущенное для него время давно истекло. При этом
даже намёк на предварительную буферизацию отсутствует -- что прочитали, то тут
же и играем. В связи с чем предлагаю:
1) относиться к багу скорее как к feature request'у;
2) ввести чтение с упреждением и буферизацией, чтобы иметь про запас некий
прочитанный фрагмент;
3) организовать таймаут на функцию, читающую сектор диска, и при его истечении
непрочитавшийся фрагмент просто забивать чем-то вроде линейного спада/нарастания
(чтобы уж совсем по ушам не било).

P.S. Вероятно, имеет смысл описанные пожелания передать в upstream как для
xmms-in-cdread, так и для xmms-in-cdparanoia.
Comment 8 Konstantin A Lepikhov (L.A. Kostis) 2004-05-12 22:14:38 MSD
Все это конечно хорошо, если бы у developer'ов cdread и in-cdparanoia был к
этому интерес :(
Comment 9 Michael Shigorin 2004-06-04 18:03:29 MSD
В соответствии с комментарием #7 меняю на enhancement и объявляю конкурс на
почетный фикс.

Зафиксившему -- в зависимости от потраченного времени с меня пиво или (по
отдельной договоренности) возможна денежная компенсация.
Comment 10 Michael Shigorin 2005-10-12 11:41:23 MSD
похоже, таймаут :(  то ли по CDDA, то ли по xmms...
Comment 11 Michael Shigorin 2008-02-15 22:22:13 MSK
По -readcd.
Comment 12 Michael Shigorin 2008-02-15 22:22:28 MSK
В качестве workaround рекомендую использовать grip, а по результатам его
деятельности -- уже xmms :)