Summary: | xmms-cdread is stumpling while playing some CD's | ||
---|---|---|---|
Product: | Sisyphus | Reporter: | Yury Aliaev <mutab0r> |
Component: | xmms-in-cdread | Assignee: | Michael Shigorin <mike> |
Status: | CLOSED WONTFIX | QA Contact: | qa-sisyphus |
Severity: | enhancement | ||
Priority: | P2 | ||
Version: | unstable | ||
Hardware: | all | ||
OS: | Linux |
Description
Yury Aliaev
2003-12-16 16:34:00 MSK
Хех. 0.14a, собранный с патчем насчет xmms-1.2.8, просто взрывается на нескольких ровных местах. Реже, если в плейлисте _только_ CD, очень быстро (порой на старте) -- если еще что-то и ~/.xmms/config ненулёвый. Чинить его надо :-( Какого-нибудь аналогичного плагина на cdparanoia точно нету? Я точно не буду этим заниматься в ближайшее время. Тёзка, а ведь шикарная мысль! Что смешно, google://xmms+cdparanoia говорит, что есть. Пойду смотреть :-) нет такого пакета есть такй пакет :( Мне удалось малость копануть код xmms-in-cdparanoia (который глючит абсолютно также: тот же диск, то же место...), и я выяснил, что плагин (и именно, похоже, библиотечная функция из libcdparanoia) пытается считать сектор "до победного конца", не смотя на то, что отпущенное для него время давно истекло. При этом даже намёк на предварительную буферизацию отсутствует -- что прочитали, то тут же и играем. В связи с чем предлагаю: 1) относиться к багу скорее как к feature request'у; 2) ввести чтение с упреждением и буферизацией, чтобы иметь про запас некий прочитанный фрагмент; 3) организовать таймаут на функцию, читающую сектор диска, и при его истечении непрочитавшийся фрагмент просто забивать чем-то вроде линейного спада/нарастания (чтобы уж совсем по ушам не било). P.S. Вероятно, имеет смысл описанные пожелания передать в upstream как для xmms-in-cdread, так и для xmms-in-cdparanoia. Все это конечно хорошо, если бы у developer'ов cdread и in-cdparanoia был к этому интерес :( В соответствии с комментарием #7 меняю на enhancement и объявляю конкурс на почетный фикс. Зафиксившему -- в зависимости от потраченного времени с меня пиво или (по отдельной договоренности) возможна денежная компенсация. похоже, таймаут :( то ли по CDDA, то ли по xmms... По -readcd. В качестве workaround рекомендую использовать grip, а по результатам его деятельности -- уже xmms :) |