HLFX.Ru Forum
Показать все 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)


Отправлено Дядя Миша 11-09-2016 в 13:54:

Ремонт 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'


Отправлено Дядя Миша 13-09-2016 в 14:35:

Вот в кои-то веки попросил помощи нематериальной. Ну и где толпы желающих? Вам интереснее обсуждать кого резали собаки Сталина, а как до дела доходит - тишина.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено FiEctro 13-09-2016 в 15:10:

Дядя Миша
Они заняты сортировкой delta.lst

__________________
У котёнка мокрый нос и гладенькая шерсть, у него забавный хвост и быстрых лапок шесть. Две задних, две средних и две передних лапы, такая многоножка получилася у папы.
Он ученый — папа мой — зверушек изучает, гуляет по помойкам, ловит крыс и чаек. Две крысы белокрылые и чайки две унылые покрытые пупырчатою кожей лягушат без пёрышек тоскуют и ускакать спешат.
А ещё есть муравей большой размером с гуся он пугает всех зверей, и я его боюся, когда он ковыляет на лапках на своих.
И в двери ударяет, и начинает стих: Я — муравей, воды налей! Не меньше ведра, напиться мне пора!


Отправлено Ku2zoff 13-09-2016 в 15:19:

Дядя Миша а ты 200 тысяч доната заслал?
Значит, никто не понимает в этом сраном и убогом MP3. Ну ты подожди, лет через пять кто-нибудь починит, как и DSP, и предиктинг, и сетевую часть. Москва не сразу строилась.

Добавлено 13-09-2016 в 22:13:

Скрытый текст:
Этот текст скрытый. Вы должны оставить хотя бы одно сообщение в теме, чтобы его увидеть.


Добавлено 13-09-2016 в 22:19:

К слову, об MP3. Вот ты пишешь, что в других форматах, в частности в OGG, с навигацией лучше. Возьми и выкинь MP3, и забудь как страшный сон. Используй OGG, фанаты свободного ПО одобрят. Не обязательно делать это в Xash3D, сделай в XashNT. Я так понимаю, ты в этом движке стараешься избавиться от вещей, на которые распространяются копирайты Valve.


Отправлено Дядя Миша 13-09-2016 в 15:23:

У меня теперь если будут просить сорцы паранои - я их буду в этот пост тыкать, никому не нужно и не интересно.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено XaeroX 13-09-2016 в 15:58:

Дядя Миша ну ты же 200 тысяч не заслал, чему удивляешься?

__________________

xaerox on Vivino


Отправлено Дядя Миша 13-09-2016 в 16:09:

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'


Отправлено mittorn 13-09-2016 в 16:29:

Поставил в roadmap к 0.19 на "посмотреть, что там" Может, можно прикрутить другую либу, которая может корректно seek'ать по mp3.


Отправлено KiQ 13-09-2016 в 16:30:

Дядя Миша ну вообще говоря, для корректной навигации все более менее продвинутые звуковые движки разжимают входной формат на pcm и далее работают с ним) Я бы занялся, но в работе со звуком в Си не особо шарю

__________________
-Brain is dead-


Отправлено Дядя Миша 13-09-2016 в 17:21:

Цитата:
mittorn писал:
Может, можно прикрутить другую либу, которая может корректно seek'ать по mp3.

Да эта тоже корректно сикает, гм. Просто вылетает иногда от такого сиканья.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено XaeroX 13-09-2016 в 18:31:

Дядя Миша ну я тебе это как бета-тестер жаловался, да.

__________________

xaerox on Vivino


Отправлено ~ X ~ 14-09-2016 в 07:29:

200000 aside, как насчёт просто прикрутить вместо староговёного МеРЗкого плеера ffdshow? И тогда будут ОГГ, ФЛАК, ТТА - намного круче того же огороженного быдлоФМОДа, о котором даже сами разрабы забыли.

__________________
Минутка полезного:
Бесплатный UT-подобный Half-Life mod.
Бесплатный редактор для 32-битных текстур. Без дотнета.
Бесплатный IDE для любых компиляторов и ЯП.
Бесплатная Windows-подобная ОС.
Проверка грамматики русского языка.
Чат по hl[fx]: [email protected]


Отправлено Дядя Миша 14-09-2016 в 13:20:

~ 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'


Отправлено ~ X ~ 14-09-2016 в 14:08:

Дядя Миша почему нельзя-то? в фмоде тоже есть ОГГ - но поддержке МРЗ это никак не мешает.

__________________
Минутка полезного:
Бесплатный UT-подобный Half-Life mod.
Бесплатный редактор для 32-битных текстур. Без дотнета.
Бесплатный IDE для любых компиляторов и ЯП.
Бесплатная Windows-подобная ОС.
Проверка грамматики русского языка.
Чат по hl[fx]: [email protected]


Отправлено Дядя Миша 14-09-2016 в 17:59:

~ 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'


Отправлено mittorn 15-09-2016 в 03:30:

Дядя Миша
Я хотел предложить её прикрутить. Использовал всегда для музыки в mplayer - проблем не было (во всяком случае начиная с 2010). И проц меньше чем mpg123 жрала (быстрее только ffmpeg работал). Может, снова попробовать? Новые версии наверно булькать не будут.


Отправлено Дядя Миша 15-09-2016 в 05:55:

Попробуй, если она не сильно жирная.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено ~ X ~ 15-09-2016 в 06:12:

Цитата:
mittorn писал:
ffmpeg

так его бы и запилил. Вот только под вендой будет много хвостов. А под линями оно и так у всех стоит.

__________________
Минутка полезного:
Бесплатный UT-подобный Half-Life mod.
Бесплатный редактор для 32-битных текстур. Без дотнета.
Бесплатный IDE для любых компиляторов и ЯП.
Бесплатная Windows-подобная ОС.
Проверка грамматики русского языка.
Чат по hl[fx]: [email protected]


Отправлено mittorn 15-09-2016 в 07:58:

~ X ~ у него апи тяжелый. a1batross хотел для ави прикрутить, таки не сделал синхронизацию.


Отправлено XaeroX 15-09-2016 в 10:53:

Вот не пойму, зачем вам мп3, если есть огг?

__________________

xaerox on Vivino


Отправлено Дядя Миша 15-09-2016 в 13:36:

Цитата:
XaeroX писал:
Вот не пойму, зачем вам мп3, если есть огг?

Сам говорит - домой вернулся, а сам в Gib-ралтаре!
Так уж исторически сложилось что саундтреки к халфе идут в mp3.
И плеер нужен именно такой. Я не буду заниматься этой порнографией "перекодируйте треки в ogg и положите в папку media".
Уже есть mp3 надо починить. А в NT только OGG.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено XaeroX 15-09-2016 в 14:16:

Дядя Миша я не говорил, что вернулся - я говорил, что улетел из Греции, и это чистая правда! да скоро домой уже, волатилу делать пора.
А в чём проблема встроить в ксаш конвертор? Ему по крайней мере сикать не надо.

__________________

xaerox on Vivino


Отправлено Дядя Миша 15-09-2016 в 17:12:

XaeroX у нас в советское время не могли наладить выпуск магнитомягких лент для кассетных магнитофонов, поэтому в каждую балалайку даже четвертого класса устанавливали износостойкую сендастовую головку - немыслимую роскошь для забугорных аппаратов.
Вот твоё предложение - оно из той же серии.

__________________
My Projects: download page

F.A.Q по XashNT
Блог разработчика в телеграме

Цитата:

C:\DOCUME~1\C4C5~1\LOCALS~1\Temp\a33328if(72) : see declaration of 'size_t'


Отправлено KiQ 15-09-2016 в 19:46:

Дядя Миша ну эт... я ж говорю, неважно какой входной формат. Внутри движка разжимаем до pcm и всё.
XaeroX а фотоотчеты будут?

__________________
-Brain is dead-


Отправлено nekonomicon 15-09-2016 в 20:20:

Дядя Миша а lame как по качеству?

mittorn интересно проще ли для avi будет Xvid прикрутить?


Отправлено mittorn 17-09-2016 в 05:53:

nekonomicon наверно проще. Только в нём ли существующие ави?


Отправлено nekonomicon 17-09-2016 в 10:11:

mittorn для DivX/Xvid сойдет, для h.264 наверно нет.


Отправлено mittorn 17-09-2016 в 17:29:

nekonomicon винда времён тех модов тоже не умела h264. Однако тогда куча кодеков была, которые сейчас мало кто помнит


Отправлено XaeroX 17-09-2016 в 21:45:

KiQ если народу интересно, то, конечно, будут.

__________________

xaerox on Vivino


Отправлено ComradeAndrew 18-09-2016 в 05:44:

XaeroX интресно!


Отправлено Ph03n1x 11-12-2016 в 19:21:

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