Форум администраторов игровых серверов

Форум администраторов игровых серверов (https://forum.zone-game.info/TT.php)
-   Программирование / Programming (https://forum.zone-game.info/forumdisplay.php?f=98)
-   -   uFMOD падает (https://forum.zone-game.info/showthread.php?t=17121)

n3k0nation 13.12.2011 05:21

uFMOD падает
 
Немного предыстории:
Понадобилось мне в одном сишном приложении проигрывать xm/mod-файлы, немного погуглив я нашел замечательную библиотеку uFMOD, но все оказалось не так красочно, как я думал.

Добавил заголовочник, неявно подключил библиотеку, все замечательно скомпилировалось, запускаю дебаг и мой поток пропадает после прыжка в uFMOD_PlaySong. Что с ним происходит там - непонятно, но назад он уже не возвращается. Если насильно начать шатдаунить приложение, то через некоторое время оно просто падает.
Попробовал скомпилировать пример работы с библиотекой, все работает и открывается, даже проигрывает. Посмотрел код, конфигурацию линковщика: в принципе почти одно и тоже, за исключением одного момента - в примере, самой библиотеки нет, для работы там стоит заглушка в виде obj-файла т.н. реализации хедера, ну и плюс прилинковывание функций вава из winmm для obj.

So... Перед тем, как уйти в прострацию, звук все таки появляется, на миллисекунды, которые близки к одной секунде, т.е. библиотека все таки нормально открывает xm-файл и даже читает из него.

Сижу и гадаю сейчас в чем может быть проблема, ибо в гугле вообще даже ничего похожего нет, кроме темы по C#, но там совершенно другая суть проблемы.

Среда и компилятор: VS2008
Версия uFMOD: 1.25.2(a)
Язык: Си

P.S: только сейчас догадался проверить GetLastError, но это уже завтра и скорее всего ни к чему не приведет, ибо библиотека полностью на АСМе и кроссплатформенная.

Добавлено через 14 минут
Забыл добавить, что использую winmm вывод звука uFMOD :)

Добавлено через 9 часов 14 минут
Решил еще раз пробежаться дебагером и узнал, что при одновременной работе uFMOD и стандартной сишной функции system идет именно такой эффект, как я описывал. Магия, не иначе... Если убрать вызов system, то в принципе ничего не меняется, разве, что поток не виснет: звука по прежнему нет и при шатдауне у нас капитальный висяк. Копаем дальше :)

Добавлено через 12 часов 9 минут
К сожалению черная магия победила меня, сменил библиотеку на miniFMOD ;)


Текущее время: 04:21. Часовой пояс GMT +3.

Powered by vBulletin® Version 3.8.6
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot