| BASS_ENCODE_NOHEAD | Do not send any headers to the encoder. If this flag is used then the sample format must be passed to the encoder some other way, eg. via the command-line.
|
| BASS_ENCODE_AIFF | Send an AIFF header to the encoder instead of a WAVE header. This flag is ignored if the BASS_ENCODE_NOHEAD flag is used.
|
| BASS_ENCODE_RF64 | Send an RF64 header to the encoder instead of a standard RIFF header, allowing more than 4GB of sample data. This flag is ignored if the BASS_ENCODE_NOHEAD or BASS_ENCODE_AIFF flags are used.
|
| BASS_ENCODE_WFEXT | Send the sample format information to the encoder in WAVEFORMATEXTENSIBLE form instead of WAVEFORMATEX form. This flag is ignored if the BASS_ENCODE_NOHEAD or BASS_ENCODE_AIFF flags are used.
|
| BASS_ENCODE_BIGEND | Send big-endian sample data to the encoder, else little-endian. This flag is ignored unless the BASS_ENCODE_NOHEAD flag is used.
|
BASS_ENCODE_FP_8BIT, BASS_ENCODE_FP_16BIT, BASS_ENCODE_FP_24BIT, BASS_ENCODE_FP_32BIT | Convert floating-point sample data to 8/16/24/32 bit integer. If the encoder does not support 32-bit floating-point sample data, one of these flags can be used to have the sample data converted to integer before it is fed to the encoder. These flags are ignored if the channel is not floating-point and the BASS_CONFIG_FLOATDSP option is not enabled.
|
| BASS_ENCODE_FP_AUTO | Convert floating-point sample data back to the channel's format (8/16 bit integer) if the data is only floating-point due to the BASS_CONFIG_FLOATDSP option being enabled.
|
| BASS_ENCODE_DITHER | Apply dither (TPDF) when converting floating-point sample data to integer
|
| BASS_ENCODE_QUEUE | Queue data to feed the encoder asynchronously. This prevents the data source (DSP system or BASS_Encode_Write call) getting blocked by the encoder, but if data is queued more quickly than the encoder can process it then that could result in lost data.
|
| BASS_ENCODE_QUEUE_WAIT | This is the same as BASS_ENCODE_QUEUE except that it will wait for space in the queue rather than drop data (so the data source may get blocked).
|
| BASS_ENCODE_LIMIT | Limit the encoding rate to real-time speed, by introducing a delay when the rate is too high. With BASS 2.4.6 or above, this flag is ignored when the encoder is fed in a playback buffer update cycle (including BASS_Update and BASS_ChannelUpdate calls), to avoid possibly causing playback buffer underruns. Except for in those instances, this flag is applied automatically when the encoder is feeding a Shoutcast or Icecast server.
|
| BASS_ENCODE_CAST_NOLIMIT | Don't limit the encoding rate to real-time speed when feeding a Shoutcast or Icecast server. This flag overrides the BASS_ENCODE_LIMIT flag.
|
| BASS_ENCODE_PAUSE | Start the encoder in a paused state.
|
| BASS_ENCODE_AUTOFREE | Automatically free the encoder when the source channel is freed. If it has queued data, the encoder will be freed asynchronously once that has been processed.
|
| BASS_ENCODE_TERMINATE | Terminate the encoder's process immediately when stopping. This overrides the BASS_CONFIG_ENCODE_TERMINATE setting. If the encoder is writing a file, it may result in an incomplete file.
|
| BASS_UNICODE | cmdline is in UTF-16 form. Otherwise it is ANSI on Windows and UTF-8 on other platforms.
|