BASS_WMA_StreamCreateFileAuth

Creates a sample stream from a WMA file or URL, optionally with a username and password to authenticate.

HSTREAM BASS_WMA_StreamCreateFileAuth(
    BOOL mem,
    void *file,
    QWORD offset,
    QWORD length,
    DWORD flags,
    char *user,
    char *pass
);

Parameters

memTRUE = stream the file from memory, 2 = stream from an IStream object.
fileFilename or URL (mem = FALSE) or a memory location (mem = TRUE), or a pointer to an IStream object (mem = 2).
offsetUnused... set to 0.
lengthData length (only used if mem = TRUE).
flagsA combination of these flags.
BASS_SAMPLE_FLOATUse 32-bit floating-point sample data. See Floating-point channels for info.
BASS_SAMPLE_3DEnable 3D functionality. The stream must be mono. The SPEAKER flags cannot be used together with this flag.
BASS_SAMPLE_LOOPLoop the file. This flag can be toggled at any time using BASS_ChannelFlags.
BASS_STREAM_AUTOFREEAutomatically free the stream when playback ends.
BASS_STREAM_DECODEDecode the sample data, without playing it. Use BASS_ChannelGetData to retrieve decoded sample data. The BASS_SAMPLE_3D, BASS_STREAM_AUTOFREE and SPEAKER flags cannot be used together with this flag.
BASS_SPEAKER_xxxSpeaker assignment flags. These flags have no effect when the stream is more than stereo.
BASS_ASYNCFILERead the file asynchronously. When enabled, the file is read and buffered in parallel with the decoding, to reduce the chances of the decoder being affected by I/O delays. This can be particularly useful with slow storage media and/or low latency output. The size of the file buffer is determined by the BASS_CONFIG_ASYNCFILE_BUFFER config option. This flag only applies when the BASS_CONFIG_WMA_BASSFILE config option is enabled, and is ignored when streaming from memory (mem = TRUE).
BASS_UNICODEfile, user and pass are in UTF-16 form. Otherwise they are ANSI.
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 stream's handle is returned, else 0 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_INITBASS_Init has not been successfully called.
BASS_ERROR_NOTAVAILThe BASS_STREAM_AUTOFREE flag cannot be combined with the BASS_STREAM_DECODE flag.
BASS_ERROR_ILLPARAMOne or more of the parameters are invalid.
BASS_ERROR_PROTOCOLThe protocol in file is not supported.
BASS_ERROR_TIMEOUTThe server did not respond to the request within the timeout period, as set with the BASS_CONFIG_NET_TIMEOUT config option.
BASS_ERROR_FILEOPENThe file could not be opened.
BASS_ERROR_FILEFORMThe file's format is not recognised/supported.
BASS_ERROR_NOTAUDIOThe file does not contain audio, or it also contains video and videos are disabled.
BASS_ERROR_CODECThe file uses a codec that is not available/supported.
BASS_ERROR_FORMATThe sample format is not supported.
BASS_ERROR_SPEAKERThe specified SPEAKER flags are invalid.
BASS_ERROR_MEMThere is insufficient memory.
BASS_ERROR_NO3DCould not initialize 3D support.
BASS_ERROR_WMA_DENIEDAccess was denied. Check the user and pass.
BASS_ERROR_WMA_LICENSEThe WMA file cannot be played because it is protected.
BASS_ERROR_UNKNOWNSome other mystery problem!

Remarks

This function is identical to BASS_WMA_StreamCreateFile, but with the additional authentication options.

See also

BASS_WMA_StreamCreateFile