BASS WMA

BASS_WMA_EncodeOpenPublishMulti


Initializes WMA encoding to a publishing point on a Windows Media server, using multiple bitrates.

HWMENCODE BASS_WMA_EncodeOpenPublishMulti(
    DWORD freq,
    DWORD chans,
    DWORD flags,
    DWORD *bitrates,
    char *url,
    char *user,
    char *pass
);

Parameters

freqThe sample rate, or a BASS channel handle if the BASS_WMA_ENCODE_SOURCE flag is specified.
chansThe number of channels. More than stereo requires WMA Pro or PCM.
flagsA combination of these flags.
BASS_SAMPLE_8BITS8-bit sample data. If neither this or the BASS_SAMPLE_FLOAT flags are specified, then 16-bit data is expected.
BASS_SAMPLE_FLOAT32-bit floating-point sample data.
BASS_WMA_ENCODE_SOURCEUse the BASS channel with the handle in freq as the encoder's source. The chans parameter is ignored, as are the BASS_SAMPLE_8BITS and BASS_SAMPLE_FLOAT flags. If the BASSenc add-on is loaded, then the BASS_CONFIG_ENCODE_PRIORITY setting is used to determine where in the channel's DSP chain the encoding is performed, otherwise priority -1000 is used.
BASS_WMA_ENCODE_STANDARDUse standard WMA encoding. If neither this or the BASS_WMA_ENCODE_PRO flag (nor the BASS_WMA_ENCODE_PCM flag) is specified, then either WMA codec could be used, depending on which supports the requested sample format and bitrate.
BASS_WMA_ENCODE_PROUse WMA Pro encoding.
BASS_WMA_ENCODE_PCMWrite uncompressed PCM data in an ASF container. The bitrates content is ignored except that it should be non-0.
BASS_WMA_ENCODE_24BITEncode in 24-bit, else 16-bit. 24-bit encoding requires WMA Pro or PCM.
BASS_WMA_ENCODE_SCRIPTEnable the specification of tags mid-stream (after encoding has begun).
BASS_UNICODEurl, user and pass are Unicode (UTF-16).
bitratesArray of encoding bitrates to use, terminated with a 0.
urlURL of the publishing point on the Windows Media server.
userUsername to use in connecting to the server... if either this or pass is NULL, then no username/password is sent to the server.
passPassword to use in connecting to the server.

Return value

If successful, the new encoder's handle is returned, else FALSE is returned. Use BASS_ErrorGetCode to get the error code.

Error codes

BASS_ERROR_WMAThe Windows Media modules (v9 or above) are not installed.
BASS_ERROR_NOTAVAILNo codec could be found to support the requested sample format and bitrate.
BASS_ERROR_FILEOPENCould not connect to the server.
BASS_ERROR_WMA_DENIEDAccess was denied. Check the user and pass.
BASS_ERROR_WMA_PUBINITThe server connection was not initialized properly. This can happen when connecting to the same server multiple times in quick succession. Try again after waiting a couple of seconds.
BASS_ERROR_UNKNOWNSome other mystery problem!

Remarks

This function is identical to BASS_WMA_EncodeOpenPublish, but with the additional ability to specify multiple bitrates.

When encoding/broadcasting in multiple bitrates, the user will automatically get the best available bitrate for their bandwidth.

See also

BASS_WMA_EncodeOpenPublish