HLFX.Ru Forum Страницы (3): [1] 2 3 »
Показать все 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'


Временная зона GMT. Текущее время 23:13. Страницы (3): [1] 2 3 »
Показать все 31 сообщений этой темы на одной странице

На основе vBulletin версии 2.3.0
Авторское право © Jelsoft Enterprises Limited 2000 - 2002.
Дизайн и программирование: Crystice Softworks © 2005 - 2024