Плохие ID3 теги при передаче mp3 на другое устройство

Вы не можете #include два заголовка с одинаковым путем, но вы можете установить один вне обычных путей и заменить его при компиляции с помощью соответствующий переключатель (для gcc, -I ). Я думаю, вы уже это понимаете, поэтому не нужно слишком много думать, чтобы осознать это, если вы поместите более одного asm / fcntl.h в обычные подключаемые каталоги, только один из них будет применить в любом случае .

Однако я не думаю, что вам есть о чем беспокоиться. Начнем с некоторых ваших комментариев:

Те функции в программе пользовательского пространства, которые используют новые механизмы ядра, могут быть отключены.

Это хорошо. Если вам нужно #define NEWVALUE 666 для компиляции , и это включает в себя функцию, которая будет работать только с более новым ядром, и вы можете поймать или отключить ее использование в противном случае, тогда секции, которые действительно применяют NEWVALUE , никогда не будут вызваны. Помните, это не значит, что нет заголовка, определяющего это доступным, когда старое ядро ​​работает - даже если бы он был, это не имело бы значения, поскольку настоящая проблема во время выполнения заключается в том, что вы фактически вызвали несуществующую часть ядро ABI . Вам не нужны никакие заголовки только для того, чтобы запустить исполняемый файл, поэтому возврат к старому ядру не имеет значения.

Возможно, я параноик, но ...

Да и нет.Если это система, в которой разные люди произвольно меняют местами разные заголовки ядра, чтобы использовать новые функции при компиляции вещей, которые будут оставлены и запущены позже с использованием более старого ядра, то паранойя - уместная реакция, лол. Однако, вероятно, не так много всего попадает в эту категорию.

Дистрибутивы заменяют заголовки ядра при каждом обновлении, но список вещей, которые пользователь должен заменить одновременно, обычно кажется не таким длинным (если он вообще существует). Я полагаю, что это отчасти потому, что поддерживать обратную совместимость в этом контексте довольно просто, но я думаю, что это также потому, что вещи в этом контексте не меняются кардинально с течением времени.

Полагаю, я мог бы сохранить старые заголовки и переустановить их.

Вы можете сделать это или при необходимости заменить их из соответствующего источника ( make headers_install ); если это ядро ​​дистрибутива, и вы беспокоитесь, что они могут быть исправлены, в дистрибутиве должен быть пакет с исходным кодом для него.

1
20.09.2018, 20:17
1 ответ

AFAIK mp3info записывает только теги ID3v1. Вы можете проверить это с помощью чего-нибудь вроде eyeD3 (инструмент, написанный на питоне): eyeD3 -1 file.mp3 (для проверки ID3v1) и eyeD3 -2 file.mp3 (для проверки IDv2, который считывается последними плеерами).

Вы также можете использовать eyeD3 для записи тегов v1 или v2.

Например, вы можете редактировать теги v2 с помощью:

eyeD3 -2 -a "The Artist" -A "Album Name" -t "Title of the song" /tmp/song.mp3
1
27.01.2020, 23:50

Теги

Похожие вопросы