It seems like the STREAMPROC_PUSH/DUMMY/DEVICE constants don't get bridged to Swift, perhaps because they're pointers. I'm not sure if there's a better way to handle it, but one solution is to add a wrapper function in the bridging header with an intptr_t "proc" parameter and change the constants accordingly, like this:
#include "bass.h"
// Special STREAMPROCs
#define STREAMPROC_DUMMY (intptr_t)0 // "dummy" stream
#define STREAMPROC_PUSH (intptr_t)-1 // push stream
#define STREAMPROC_DEVICE (intptr_t)-2 // device mix stream
#define STREAMPROC_DEVICE_3D (intptr_t)-3 // device 3D mix stream
static inline HSTREAM BASS_StreamCreateSpecial(DWORD freq, DWORD chans, DWORD flags, intptr_t proc)
{
return BASS_StreamCreate(freq, chans, flags, (STREAMPROC*)proc, 0);
}
And then use BASS_StreamCreateSpecial instead of BASS_StreamCreate.