Starts a new bitstream in an Ogg Vorbis encoder's output.

BOOL BASS_Encode_OGG_NewStream(
    DWORD handle,
    char *options,
    DWORD flags


handleThe encoder handle.
optionsThe new bitstream's options. The same options as with BASS_Encode_OGG_Start and BASS_Encode_OGG_StartFile are available here.
flagsA combination of these flags.
BASS_ENCODE_OGG_RESETReset all settings to defaults before processing the new options, else start with the encoder's current settings. Metadata/tag settings are always reset.
BASS_UNICODEoptions is in UTF-16 form. Otherwise it should be UTF-8.

Return value

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

Error codes

BASS_ERROR_HANDLEhandle is not valid.
BASS_ERROR_ILLPARAMoptions contains an invalid setting.
BASS_ERROR_FILEOPENA "--picture" option file could not be opened.
BASS_ERROR_FILEFORMA "--picture" option file has an invalid format. It needs to be JPEG, PNG, or GIF.
BASS_ERROR_MEMThere is insufficient memory.
BASS_ERROR_UNKNOWNSome other mystery problem!


This function ends the encoder's current bitstream and starts a new one with the specified settings. This is mainly useful for metadata changes when streaming, eg. with BASS_Encode_ServerInit. Starting a new bitstream involves writing new headers, which can be quite large (usually around 4KB), so new bitstreams should not be used too frequently to avoid excessive overhead.

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).

See also