BASS_ATTRIB_SCANINFO attribute

The scanned info of a channel.

BASS_ChannelSetAttributeEx(
    DWORD handle,
    BASS_ATTRIB_SCANINFO,
    void *scaninfo,
    DWORD size
);

Parameters

handleThe channel handle.
scaninfoThe scanned info.
sizeThe size of the scanned info.

Remarks

This attribute is the information that is scanned from a file when the BASS_STREAM_PRESCAN flag is used in a BASS_StreamCreateFile call or when the BASS_POS_SCAN flag is used with BASS_ChannelSetPosition. It is supported on MP3/MP2/MP1 files and chained OGG files. It may be supported by add-ons too; see the documentation.

The structure of the scanned info may change in future versions, so if the data is stored, be prepared for BASS_ChannelSetAttributeEx to fail when trying to apply it; the file can be scanned again if that happens.

Example

Transfer scanned info from one stream to another stream of the same file.
DWORD size = BASS_ChannelGetAttributeEx(stream1, BASS_ATTRIB_SCANINFO, NULL, 0); // get the size
void *scaninfo = malloc(size); // allocate a buffer for the data
BASS_ChannelGetAttributeEx(stream1, BASS_ATTRIB_SCANINFO, scaninfo, size); // get the data
BASS_ChannelSetAttributeEx(stream2, BASS_ATTRIB_SCANINFO, scaninfo, size); // apply it to the other stream
free(scaninfo);

See also

BASS_ChannelGetAttributeEx, BASS_ChannelSetAttributeEx