ошибка waveOutClose
Привет!
Я пишу dll библиотеку для работы со звуком. Для этого использую
библиотеку winmm.lib. Возникла проблема, с закрытием устройства.
Если я открываю waveOutOpen() и закрываю устройство в вызовах
моей dll, то все хорошо. Но если я закрываю устройство
в DllMain на DLL_PROCESS_DETACH, то waveOutClose ругается
MMSYSERR_NOTENABLED. Не зависимо от того где устройство было открыто,
в отдельном вызове или при DLL_PROCESS_ATTACH. Что бы это значило?
// псевдокод
HWAVEOUT mm_device;
DllMain()
{
switch(reason)
{
case DLL_PROCESS_ATTACH:
res = waveOutOpen(&mm_device, 0, &pcm, 0, 0, CALLBACK_NULL);
// res == MMSYSERR_NOERROR
break;
case DLL_PROCESS_DETACH:
res = waveOutClose(mm_device);
// res == MMSYSERR_NOTENABLED
break;
}
}
Подобная история возникает с msacm32.lib. Если я открываю поток для
декомпрессии mp3 формата в pcm, используя фраунгоферовский кодак,
идущий с winXP по дефолту (up to 56kbp/s), то при вызове acmStreamClose
в DLL_PROCESS_DETACH у меня возникает исключение где то внутри кодака:
First-chance exception in SaudioTester.exe (L3CODECA.ACM): 0xC0000005: Access
Violation.
Помогите разобраться.
Компилятор - 6я студия. Все под WinXP SP1.
С пожеланием доброго времени суток,
Олень Элмо
Номер выпуска : 3195
Возраст листа : 257 (дней)
Количество подписчиков : 416
Адрес в архиве : http://subscribe.ru/archive/comp.soft.prog.prog/msg/162491
Получить правила : mailto:comp.soft.prog.prog-rules@subscribe.ru
Формат "дайджест" : mailto:comp.soft.prog.prog-digest@subscribe.ru
Формат "каждое письмо" : mailto:comp.soft.prog.prog-normal@subscribe.ru
Формат "читать с веба" : mailto:comp.soft.prog.prog-webonly@subscribe.ru
-*Информационный канал Subscribe.Ru
Написать в лист: mailto:comp.soft.prog.prog-list@subscribe.ru
Отписаться: mailto:comp.soft.prog.prog--unsub@subscribe.ru
http://subscribe.ru/ mailto:ask@subscribe.ru
Здравствуйте !
...
Может, перед waveOutClose вызывать waveOutReset ?
Может, поможет.
--
С уважением, Вахтуров Виктор.
Информационный сайт для программистов http://SoftMaker.com.ru
Номер выпуска : 3213
Возраст листа : 259 (дней)
Количество подписчиков : 414
Адрес в архиве : http://subscribe.ru/archive/comp.soft.prog.prog/msg/164383
Получить правила : mailto:comp.soft.prog.prog-rules@subscribe.ru
Формат "дайджест" : mailto:comp.soft.prog.prog-digest@subscribe.ru
Формат "каждое письмо" : mailto:comp.soft.prog.prog-normal@subscribe.ru
Формат "читать с веба" : mailto:comp.soft.prog.prog-webonly@subscribe.ru
-*Информационный канал Subscribe.Ru
Написать в лист: mailto:comp.soft.prog.prog-list@subscribe.ru
Отписаться: mailto:comp.soft.prog.prog--unsub@subscribe.ru
http://subscribe.ru/ mailto:ask@subscribe.ru