detect audio spec changes
This commit is contained in:
parent
ef1860cad8
commit
4bb2e8857d
|
@ -27,6 +27,12 @@ void taSDLProcess(void* inst, unsigned char* buf, int nframes) {
|
|||
}
|
||||
|
||||
void TAAudioSDL::onProcess(unsigned char* buf, int nframes) {
|
||||
if (memcmp(&arCopy,&ar,sizeof(SDL_AudioSpec))!=0) {
|
||||
logE("AUDIO SPEC HAS CHANGED!!!");
|
||||
#ifdef _WIN32
|
||||
MessageBox(NULL,"AUDIO SPEC HAS CHANGED!!!","Furnace",MB_OK|MB_ICONERROR);
|
||||
#endif
|
||||
}
|
||||
if (audioProcCallback!=NULL) {
|
||||
if (midiIn!=NULL) midiIn->gather();
|
||||
audioProcCallback(audioProcCallbackUser,inBufs,outBufs,desc.inChans,desc.outChans,desc.bufsize);
|
||||
|
@ -135,6 +141,8 @@ bool TAAudioSDL::init(TAAudioDesc& request, TAAudioDesc& response) {
|
|||
return false;
|
||||
}
|
||||
|
||||
memcpy(&arCopy,&ar,sizeof(SDL_AudioSpec));
|
||||
|
||||
const char* backendName=SDL_GetCurrentAudioDriver();
|
||||
|
||||
desc.deviceName=request.deviceName;
|
||||
|
|
|
@ -22,6 +22,7 @@
|
|||
|
||||
class TAAudioSDL: public TAAudio {
|
||||
SDL_AudioSpec ac, ar;
|
||||
SDL_AudioSpec arCopy;
|
||||
SDL_AudioDeviceID ai;
|
||||
bool audioSysStarted;
|
||||
|
||||
|
|
Loading…
Reference in a new issue