BASS_StreamFree

Frees a sample stream's resources, including any sync/DSP/FX it has.

BOOL BASS_StreamFree(
    HSTREAM handle
);

Parameters

handleThe stream handle.

Return value

If successful, TRUE is returned, else FALSE is returned. Use BASS_ErrorGetCode to get the error code.

Error codes

BASS_ERROR_HANDLEhandle is not valid.
BASS_ERROR_FREEINGThe stream is already being freed.
BASS_ERROR_NOTAVAILDevice streams (STREAMPROC_DEVICE) cannot be freed.

Remarks

Stream freeing may be blocked by BASS_ChannelLock and BASS_ChannelRef. When that happens, the stream 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 stream is locked to the current thread or its reference count is not 0, then the stream will be freed asynchronously (in another thread) once unblocked. The stream will also be freed asynchronously if this function is called from within a callback function where it would otherwise cause a crash.

See also

BASS_ChannelFree, BASS_ChannelRef