Bug 19681 - Не играет некоторые mp3-файлы
Summary: Не играет некоторые mp3-файлы
Status: CLOSED FIXED
Alias: None
Product: Sisyphus
Classification: Development
Component: cmus (show other bugs)
Version: unstable
Hardware: all Linux
: P5 enhancement
Assignee: Evgenii Terechkov
QA Contact: qa-sisyphus
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-04-19 14:52 MSD by Evgenii Terechkov
Modified: 2009-07-18 18:41 MSD (History)
1 user (show)

See Also:


Attachments
Problematic mp3 file (cutoff) (10.00 KB, audio/mpeg)
2009-04-19 14:52 MSD, Evgenii Terechkov
no flags Details
Полный проблемный файл (1.04 MB, audio/mpeg)
2009-04-20 17:06 MSD, Evgenii Terechkov
no flags Details
Полный проблемный файл без вырезания тегов (1.04 MB, audio/mpeg)
2009-04-21 03:37 MSD, Evgenii Terechkov
no flags Details
Broken xing vbr toc recognition patch (798 bytes, patch)
2009-04-25 11:28 MSD, Evgenii Terechkov
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Evgenii Terechkov 2009-04-19 14:52:52 MSD
Created attachment 3469 [details]
Problematic mp3 file (cutoff)

Некоторые mp3-файлы нельзя добавить в плейлист/библиотеку и проиграть из файлового браузера с сообщением об ошибке:

Error: Couldn't get file information for /home/evg/xaa.mp3

Файл, на котором 100% воспроизводится, прикладываю.
Comment 1 Eugene Vlasov 2009-04-20 16:08:49 MSD
$ file xaa.mp3   
xaa.mp3: data

У этого файла отсутствует нормальный заголовок mp3-файла. Не уверен, что буду писать в апстрим о поддержке такого рода "сломанных" файлов, тем более что апстрим сейчас скорее мёрв (а те, кто еще живы - работают над cmus-unofficial, в основном там исправления ошибок). Можете написать на cmus-devel@lists.sourceforge.net самостоятельно. В любом случае, этот баг - enhacement.
Comment 2 Evgenii Terechkov 2009-04-20 17:02:03 MSD
Как видно из названия, это файл получен из оригинального mp3 с помощью программы "split", просто для экономии трафика. Мне нетрудно привести любой из проблемных файлов целиком (1-5Mb).Нужно?

Лично я не считаю, что баг о невозможности играть заявленный тип файлов, в то время все остальные установленные плееры файл играют без проблем, это Enhancement. Но спорить не буду.
Comment 3 Evgenii Terechkov 2009-04-20 17:06:29 MSD
Created attachment 3470 [details]
Полный проблемный файл

Приложу на всякий случай.
Comment 4 Eugene Vlasov 2009-04-20 20:56:09 MSD
Проблема тут не в том, что не поддерживается "заявленный тип файлов", а в том, что конкретно у этого файла нарушена структура - отсутствует стандартный заголовок mp3-файла. И то, что какой-то другой плеер может такие файлы воспроизводить тут не показатель - значит, поддержка файлов с нарушенной структурой была запрограммирована в таком плеере специально, или была использована библиотека, которая это умеет (а libmad, который используется в cmus, вероятно, нет).
В общем, patches are welcome.
Comment 5 Evgenii Terechkov 2009-04-21 03:37:58 MSD
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 с ним слинкованный также играет файлы без проблем (и теги показывает, и с вырезанными тегами играет). Не думаю, что дело в нём.
Comment 6 Eugene Vlasov 2009-04-24 01:19:11 MSD
Я понял в чем проблема, у этого файла присутствует Xing-header и этот Xing-header содержит явную чепуху вместо реальных данных. Проблема cmus (и некоторых других программ) в том, что они верят тому, что там написано и пытаются вычислить параметры файла исходя из этого заголовка. Если забить нолями первый фрейм файла (который начинается с FF FB, содержит "Xing" и заканчивается перед следующим FF FB) - cmus воспроизведет его без проблем.

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

Кстати, вот здесь:
http://empeg-hijack.sourceforge.net/mp3tool.html
лежит небольшая утилитка, которая позволяет такие заголовки исправлять, она работает, проверено.
Comment 7 Evgenii Terechkov 2009-04-24 03:18:51 MSD
Спасибо за информацию. Тоже попробую посмотреть. Возможно, будет патч.
Comment 8 Evgenii Terechkov 2009-04-25 11:28:43 MSD
Created attachment 3483 [details]
Broken xing vbr toc recognition patch

У меня работает с этим патчем.
Comment 9 Evgenii Terechkov 2009-05-22 05:23:00 MSD
ping
Comment 10 Eugene Vlasov 2009-05-23 10:36:55 MSD
Прошу прощения, был сильно занят, не было времени внимательно посмотреть. Думаю, на следующей неделе будет свободное время, приложу патч в сизифовскую сборку.
Comment 11 Eugene Vlasov 2009-06-02 12:37:25 MSD
Приложил патч в git, но пока не проверял (оригинальный cmus остался у меня на одном компьютере, но на нем я только завтра смогу поэкспериментировать). В cmus-unofficial тоже без проблем приложился и вроде даже всё работает.
Comment 12 Evgenii Terechkov 2009-07-18 18:40:56 MSD
2.2.0-alt4 работает, проверено.
Comment 13 Evgenii Terechkov 2009-07-18 18:41:30 MSD
Спасибо!