Frees a channel, including any sync/DSP/FX it has.
BOOL BASS_ChannelFree(
DWORD handle
);
| handle | The channel handle... a HCHANNEL, HMUSIC, HSTREAM, or HRECORD. |
| BASS_ERROR_HANDLE | handle is not valid. |
| BASS_ERROR_FREEING | The channel is already being freed. |
| BASS_ERROR_NOTAVAIL | Device streams (STREAMPROC_DEVICE) cannot be freed. |
Channel freeing may be blocked by BASS_ChannelLock and BASS_ChannelRef. When that happens, the channel will be immediately stopped (if playing) and invalidated, but only freed when eventually unblocked by those functions; other function calls on it will fail with a BASS_ERROR_FREEING error. If the channel is locked to the current thread or its reference count is not 0, then the channel will be freed asynchronously (in another thread) once unblocked. The channel will also be freed asynchronously if this function is called from within a callback function where it would otherwise cause a crash.