The BASS_DATA_AVAILABLE option tells how much data is buffered for playback (or recording) but decoding channels don't have a buffer, so it doesn't apply to them. If you want to know how much data a file stream has left then you could subtract the current position (BASS_ChannelGetPosition) from the length (BASS_ChannelGetLength). But note that the length value may just be an estimate, so also be prepared for less/more data being available.