mp3 plugin и русские теги CP1251

  • Может кто-то решил проблему с нормальным отображением русских тегов в mp3 plugin? При воспроизведении файлов с тегами в кодировке CP1251 в VDR на экране вместо названий получаю квадраты. VDR 1.6.0, mp3-plugin 0.10.1. Даже не знаю в каком направлении это решать...

  • Я решил данную проблему следующим образом.
    Для начала пришлось избавиться от тэгов в кодировке CP1251.
    Для этого я перезаписал тэги в кодировку ID3v2.4 UTF-8 под виндами с помощью программы Mp3tag.
    Далее подкорректировал в исходниках mp3-плагина функцию ParseStr, которая прописана в файле decoder-mp3.c :
    // id3_latin1_t *latin1=id3_ucs4_latin1duplicate(ucs4);
    // if(!latin1) return;
    //
    // data=strdup((char *)latin1);
    // free(latin1);
    id3_utf8_t *utf8=id3_ucs4_utf8duplicate(ucs4);
    if(!utf8) return;


    data=strdup((char *)utf8);
    free(utf8);
    После компиляции сего творчества получил результат:
    Перекодированные теги нормально отображаются как под VDRом, так и в Winamp под виндами.
    Удачи


  • Пожалуйста зарегистрируйся для просмотра данной ссылки на страницу.



    это всего один из немногих способов решения проблемы, погуглив - найдешь еще скрипты на эту тему.


    вот тут еще подборка с ЛОРа на эту же тему
    Пожалуйста зарегистрируйся для просмотра данной ссылки на страницу.

  • Спасибо за подсказки.
    После перекодировки тегов в UTF-8 в принципе все работает.
    Но проблема в том, что уже есть куча дисков с тегами CP1251, котрые вовсе не радует переписывать с новыми тегами :( Хотелось бы VDR к пониманию CP1251 приучить...
    По ссылке Goga777 попытался прикрутить патч для libid3tag от RUSXMMS.
    Как я понял там ставится библиотека для автоматического распознавания кодировки LibRCD и LibRCC для перекодирования на лету. Ну и патчить надо libid3tag, чтобы он это все дело использовал. Этот патч во вложении. Он для gentoo похоже :(
    В принципе libid3tag после него собирается, хотя ругается на что-то там типа automake, но vdr-mp3-plugin с такой патченой библиотекой работать не хочет.
    Пишет
    vdr: /usr/local/lib/libid3tag.so.0: undefined symbol: id3_frametype_obsolete
    Может есть какие-нибудь мысли, как это дело заставить работать?
    Вот бы VDR любую подсунутую ему кодировку понимал...