Sets the read offset of a drive.

    DWORD drive,
    int offset


driveThe drive... 0 = the first drive.
offsetThe offset, in samples (bytes/4).

Return value

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

Error codes

BASS_ERROR_DEVICEdrive is invalid.


This function can be used to compensate for the fact that most drives will read audio data from CDs at a slight offset from where they ideally should. Different drive models will have differing offsets, a list of which can be found at

When a negative offset is used, reading the beginning of the first track will require accessing the lead-in, and when a positive offset is used, reading the end of the last track will require accessing the lead-out. The drive may not support that (overreading), in which case those parts will be replaced with silence.

Changes do not affect an existing CD stream, unless BASS_CD_StreamSetTrack is called (and any sub-channel/C2 reading is using a CDDATAPROC).