Created attachment 3469 [details] Problematic mp3 file (cutoff) Некоторые mp3-файлы нельзя добавить в плейлист/библиотеку и проиграть из файлового браузера с сообщением об ошибке: Error: Couldn't get file information for /home/evg/xaa.mp3 Файл, на котором 100% воспроизводится, прикладываю.
$ file xaa.mp3 xaa.mp3: data У этого файла отсутствует нормальный заголовок mp3-файла. Не уверен, что буду писать в апстрим о поддержке такого рода "сломанных" файлов, тем более что апстрим сейчас скорее мёрв (а те, кто еще живы - работают над cmus-unofficial, в основном там исправления ошибок). Можете написать на cmus-devel@lists.sourceforge.net самостоятельно. В любом случае, этот баг - enhacement.
Как видно из названия, это файл получен из оригинального mp3 с помощью программы "split", просто для экономии трафика. Мне нетрудно привести любой из проблемных файлов целиком (1-5Mb).Нужно? Лично я не считаю, что баг о невозможности играть заявленный тип файлов, в то время все остальные установленные плееры файл играют без проблем, это Enhancement. Но спорить не буду.
Created attachment 3470 [details] Полный проблемный файл Приложу на всякий случай.
Проблема тут не в том, что не поддерживается "заявленный тип файлов", а в том, что конкретно у этого файла нарушена структура - отсутствует стандартный заголовок mp3-файла. И то, что какой-то другой плеер может такие файлы воспроизводить тут не показатель - значит, поддержка файлов с нарушенной структурой была запрограммирована в таком плеере специально, или была использована библиотека, которая это умеет (а libmad, который используется в cmus, вероятно, нет). В общем, patches are welcome.
Created attachment 3471 [details] Полный проблемный файл без вырезания тегов Да, я упустил что после обрезания тегов файл переходит в разряд data. Но у него вроде бы есть какой-то вменяемый заголовок, если не вычищать теги: evg@evg ~ $ file test2.mp3 test2.mp3: Audio file with ID3 version 2.3.0 tag, MP3 encoding libmad такие файлы как раз умеет, т.к. mpg321 с ним слинкованный также играет файлы без проблем (и теги показывает, и с вырезанными тегами играет). Не думаю, что дело в нём.
Я понял в чем проблема, у этого файла присутствует Xing-header и этот Xing-header содержит явную чепуху вместо реальных данных. Проблема cmus (и некоторых других программ) в том, что они верят тому, что там написано и пытаются вычислить параметры файла исходя из этого заголовка. Если забить нолями первый фрейм файла (который начинается с FF FB, содержит "Xing" и заканчивается перед следующим FF FB) - cmus воспроизведет его без проблем. Видимо, можно поправить код cmus, чтобы такие неверные заголовки игнорировались, посмотрю, как будет время. Кстати, вот здесь: http://empeg-hijack.sourceforge.net/mp3tool.html лежит небольшая утилитка, которая позволяет такие заголовки исправлять, она работает, проверено.
Спасибо за информацию. Тоже попробую посмотреть. Возможно, будет патч.
Created attachment 3483 [details] Broken xing vbr toc recognition patch У меня работает с этим патчем.
ping
Прошу прощения, был сильно занят, не было времени внимательно посмотреть. Думаю, на следующей неделе будет свободное время, приложу патч в сизифовскую сборку.
Приложил патч в git, но пока не проверял (оригинальный cmus остался у меня на одном компьютере, но на нем я только завтра смогу поэкспериментировать). В cmus-unofficial тоже без проблем приложился и вроде даже всё работает.
2.2.0-alt4 работает, проверено.
Спасибо!