void kXAudioEngine::free_all() { debug("kXAudioEngine[%p]::free_all() - %s\n",this,is_running?"[still running!]":""); if(is_running) stopAudioEngine(); // free buffers setNumSampleFramesPerBuffer(0); for(int i=0;i<n_channels;i++) { if(out_streams[i]) { out_streams[i]->setSampleBuffer (NULL, 0); out_streams[i]->release(); out_streams[i]=NULL; } if(in_streams[i]) { in_streams[i]->setSampleBuffer (NULL, 0); in_streams[i]->release(); in_streams[i]=NULL; } if(hw) { freeAudioStream(i,kIOAudioStreamDirectionInput); freeAudioStream(i,kIOAudioStreamDirectionOutput); } } if(hw) { if((hw->initialized&KX_ENGINE_INITED) && !(hw->initialized&KX_DEVICE_INITED)) { debug("kXAudioEngine[%p]::free_all() - close iKX interface\n",this); kx_close(&hw); hw=0; } else { debug("kXAudioEngine[%p]::free_all() - dereference iKX interface\n",this); hw->initialized&=(~KX_ENGINE_INITED); hw=NULL; } } else debug("kXAudioEngine[%p]::free_all() - iKX interface already closed\n",this); }
int BIKPlayer::EndAudio() { freeAudioStream(s_stream); av_freep((void **) &s_bands); if (header.audioflag&BINK_AUD_USEDCT) ff_dct_end(&s_trans.dct); else ff_rdft_end(&s_trans.rdft); return 0; }