![]() |
Показать все 31 сообщений этой темы на одной странице |
HLFX.Ru Forum (https://hlfx.ru/forum/index.php)
- Xash3D (https://hlfx.ru/forum/forumdisplay.php?forumid=14)
-- Ремонт MP3-плеера. Есть желающие заняться? (https://hlfx.ru/forum/showthread.php?threadid=4856)
Ремонт MP3-плеера. Есть желающие заняться?
Я знаю, движок на досуге ковыряет довольно много человек, но в основном - чисто для себя. Помощи я обычно ни у кого не прошу, а мне её оказывают, то это в основном помощи по ковырянию в декомпиле халфы, с целью сравнить алгоритмы, ну или целиком восстановить код, как в случае с DSP. Но здесь - особый случай. В ксаше есть одно весьма проблемное место - это mp3 плеер. Он прекрасно работает и жуёт почти все mp3-файлы, если треки запускать с начала. Но в том-то и дело, что музыка в ксаше тоже сохраняет свою позицию, начиная играть с этого места при загрузке сейва. И тут уже начинаются серъезные проблемы.
Проблемы эти имеют две причины:
1. в MPEG1 Layer III информация задана фреймами-кадрами, как в видео-файле. Для музыки подобное хранение нежелательно, хотя и допустимо.
Из-за этого нормальная навигация по треку невозможна. Заветные флажки FSTREAM_MPEGACCURATE в том же fmod просто распаковывают целый участок файла в wav и делают навигацию уже внутри несжатого потока. Без этого флажка возможно прыгать только на начало ближайшего фрейма, а это в зависимости от битрейта интервал 0.1 - 4 секунды. А может даже и больше, для каких-нибудь 64 kbps, где минута звука занимает 60 килобайт. Т.е. сам формат для навигации плохо годится. В том же OGG таких проблем нет и близко (зато есть проблема по навигации в Theora, но это уже совсем другая история).
2. Сама библиотека mpg123 старенькая от 2004-го года и может иметь какие-то проблемы.
Я сделал приблизительную навигацию, по типу того же FSTREAM_MPEGACCURATE, когда мы сперва находим фрейм, потом флушим его до конкретной временной точки и начинаем с нее играть.
И всё равно в большинстве случаев звук начинается либо с треска, либо с булькания, а в худшем случае - с вылета всего движка.
Я бы с удовольствием это отремонтировал, но я в этом ровным счётом ничего не понимаю. Всё, что я смог сделал, это увеличить размер буффера кадра и вылеты стали вроде как немного реже. Раньше я полагал, что есть связь между ID3v2-тэгами и вылетами, считал что вылетают только короткие файлы, меньше двух секунд длинной, но время развеяло эти приятные заблуждения. Совсем недавно камрад Ксерокс поймал вылет на саунд-треках хипнотика. Которые я сам лично кодировал по всем канонам. Я не знаю что с этим делать.
Надеюсь на вашу помощь. Можете попробовать поискать более другую библиотеку mp3 (хотя и эта прекрасно играет), можете попробовать починить управление этой, можете попробовать разобраться в проблеме, на какой недопустимой позиции происходит вылет.
В любом случае буду рад принять любую помощь по дебагу mp3-плеера с пожизненным занесением в кредитсы ествествено
Тема на CSM
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Вот в кои-то веки попросил помощи нематериальной. Ну и где толпы желающих? Вам интереснее обсуждать кого резали собаки Сталина, а как до дела доходит - тишина.
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Дядя Миша
Они заняты сортировкой delta.lst
__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!
Дядя Миша а ты 200 тысяч доната заслал?
Значит, никто не понимает в этом сраном и убогом MP3. Ну ты подожди, лет через пять кто-нибудь починит, как и DSP, и предиктинг, и сетевую часть. Москва не сразу строилась.
Добавлено 13-09-2016 в 22:13:
У меня теперь если будут просить сорцы паранои - я их буду в этот пост тыкать, никому не нужно и не интересно.
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Дядя Миша ну ты же 200 тысяч не заслал, чему удивляешься?
__________________
XaeroX так это же вы переживаете что сохранение mp3 портит сейвы, а не я. Это по большому счёту вам надо. Мне-то что? У меня в XashNT этой проблемы нет.
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Поставил в roadmap к 0.19 на "посмотреть, что там" Может, можно прикрутить другую либу, которая может корректно seek'ать по mp3.
Дядя Миша ну вообще говоря, для корректной навигации все более менее продвинутые звуковые движки разжимают входной формат на pcm и далее работают с ним) Я бы занялся, но в работе со звуком в Си не особо шарю
__________________
-Brain is dead-
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Дядя Миша ну я тебе это как бета-тестер жаловался, да.
__________________
200000 aside, как насчёт просто прикрутить вместо староговёного МеРЗкого плеера ffdshow? И тогда будут ОГГ, ФЛАК, ТТА - намного круче того же огороженного быдлоФМОДа, о котором даже сами разрабы забыли.
__________________
Минутка полезного:
Бесплатный UT-подобный Half-Life mod.
Бесплатный редактор для 32-битных текстур. Без дотнета.
Бесплатный IDE для любых компиляторов и ЯП.
Бесплатная Windows-подобная ОС.
Проверка грамматики русского языка.
Чат по hl[fx]: [email protected]
~ X ~ вот в XashNT я первы делом прикрутил OGG.
А здесь нельзя - совмеsteamость, как ты выражаешься.
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Дядя Миша почему нельзя-то? в фмоде тоже есть ОГГ - но поддержке МРЗ это никак не мешает.
__________________
Минутка полезного:
Бесплатный UT-подобный Half-Life mod.
Бесплатный редактор для 32-битных текстур. Без дотнета.
Бесплатный IDE для любых компиляторов и ЯП.
Бесплатная Windows-подобная ОС.
Проверка грамматики русского языка.
Чат по hl[fx]: [email protected]
~ X ~ у меня там mp3-либа. Она умеет только mp3. fmod я точно нехочу, он будет конфликтовать с теми, которые цепляются к модам.
Раньше у меня была более другая либа для mp3, libmad называлась.
Она булькала на переменном битрейте и хрипела на 48 кгц.
Но вроде бы не вылетала. Можно попробовать взять более свежую версию mpg123.
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Дядя Миша
Я хотел предложить её прикрутить. Использовал всегда для музыки в mplayer - проблем не было (во всяком случае начиная с 2010). И проц меньше чем mpg123 жрала (быстрее только ffmpeg работал). Может, снова попробовать? Новые версии наверно булькать не будут.
Попробуй, если она не сильно жирная.
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
__________________
Минутка полезного:
Бесплатный UT-подобный Half-Life mod.
Бесплатный редактор для 32-битных текстур. Без дотнета.
Бесплатный IDE для любых компиляторов и ЯП.
Бесплатная Windows-подобная ОС.
Проверка грамматики русского языка.
Чат по hl[fx]: [email protected]
~ X ~ у него апи тяжелый. a1batross хотел для ави прикрутить, таки не сделал синхронизацию.
Вот не пойму, зачем вам мп3, если есть огг?
__________________
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Дядя Миша я не говорил, что вернулся - я говорил, что улетел из Греции, и это чистая правда! да скоро домой уже, волатилу делать пора.
А в чём проблема встроить в ксаш конвертор? Ему по крайней мере сикать не надо.
__________________
XaeroX у нас в советское время не могли наладить выпуск магнитомягких лент для кассетных магнитофонов, поэтому в каждую балалайку даже четвертого класса устанавливали износостойкую сендастовую головку - немыслимую роскошь для забугорных аппаратов.
Вот твоё предложение - оно из той же серии.
__________________
My Projects: download page
F.A.Q по XashNT
Блог разработчика в телеграме
C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'
Дядя Миша ну эт... я ж говорю, неважно какой входной формат. Внутри движка разжимаем до pcm и всё.
XaeroX а фотоотчеты будут?
__________________
-Brain is dead-
Дядя Миша а lame как по качеству?
mittorn интересно проще ли для avi будет Xvid прикрутить?
nekonomicon наверно проще. Только в нём ли существующие ави?
mittorn для DivX/Xvid сойдет, для h.264 наверно нет.
nekonomicon винда времён тех модов тоже не умела h264. Однако тогда куча кодеков была, которые сейчас мало кто помнит
KiQ если народу интересно, то, конечно, будут.
__________________
XaeroX интресно!
http://www.gamedev.ru/code/forum/?id=31652
Оно?
Временная зона GMT. Текущее время 23:07. | Показать все 31 сообщений этой темы на одной странице |
На основе vBulletin версии 2.3.0
Авторское право © Jelsoft Enterprises Limited 2000 - 2002.
Дизайн и программирование: Crystice Softworks © 2005 - 2024