BASS_Encode_OGG_Start
Sets up an Ogg Vorbis encoder on a channel.
HENCODE BASS_Encode_OGG_Start(
DWORD handle,
char *options,
DWORD flags,
ENCODEPROC *proc,
void *user
);
Parameters
| handle | The channel handle... a HSTREAM, HMUSIC, or HRECORD. | ||||||||||||
| options | Encoder options... NULL = use defaults. The following OGGENC style options are supported: -b / --bitrate, -m / --min-bitrate, -M / --max-bitrate, -q / --quality, -s / --serial, -t / --title, -a / --artist, -G / --genre, -d / --date, -l / --album, -N / --tracknum, -c / --comment. Anything else that is included will be ignored. See the OGGENC documentation for details on the aforementioned options and defaults. | ||||||||||||
| flags | A combination of these flags.
| ||||||||||||
| proc | Optional callback function to receive the encoded data... NULL = no callback. | ||||||||||||
| user | User instance data to pass to the callback function. |
Return value
The encoder handle is returned if the encoder is successfully started, else 0 is returned. Use BASS_ErrorGetCode to get the error code.Error codes
| BASS_ERROR_HANDLE | handle is not valid. |
| BASS_ERROR_FORMAT | The channel's sample format is not supported by the encoder. |
| BASS_ERROR_NOTAVAIL | This function is not available on platforms/architectures without an FPU. |
| BASS_ERROR_UNKNOWN | Some other mystery problem! |
Remarks
BASS_Encode_StartUser is used internally to apply the encoder to the source channel, so the remarks in its documentation also apply to this function.Tags/comments should be in UTF-8 form. This function will take care of that when the BASS_UNICODE flag is used, but otherwise you will need to make sure that any tags included in options are UTF-8 (not ISO-8859-1/etc).
Platform-specific
Ogg Vorbis encoding involves extensive floating-point operations, so it is not supported on platforms/architectures that do not have an FPU, eg. older ARM platforms/architectures.See also
BASS_Encode_OGG_StartFileBASS_Encode_CastInit, BASS_Encode_IsActive, BASS_Encode_ServerInit, BASS_Encode_SetNotify, BASS_Encode_SetPaused, BASS_Encode_Stop, BASS_Encode_Write, ENCODEPROC callback, BASS_CONFIG_ENCODE_PRIORITY