BASS_ChannelSetPosition with pos=0 will rewind a file stream, but from its name, it sounds like the "mix" variable may be a mixer handle? If so, you would need to rewind the mixer's source(s) too, as they will still be at the end. The BASS_ChannelSetPosition call on the mixer will reset the mixer's state, but then it will immediately end (assuming BASS_MIXER_END is enabled) due to its source(s) being at the end.