BASS_WMA_EncodeOpenNetwork
Initializes WMA encoding to the network.
HWMENCODE BASS_WMA_EncodeOpenNetwork( DWORD freq, DWORD chans, DWORD flags, DWORD bitrate, DWORD port, DWORD clients );
Parameters
freq | The sample rate, or a BASS channel handle if the BASS_WMA_ENCODE_SOURCE flag is specified. | ||||||||||||||||
chans | The number of channels. More than stereo requires WMA Pro or PCM. | ||||||||||||||||
flags | A combination of these flags.
| ||||||||||||||||
bitrate | The encoding bitrate. | ||||||||||||||||
port | The port number for clients to connect to... 0 = let the system choose a port. | ||||||||||||||||
clients | The maximum number of clients (up to 50) that can be connected. |
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_WMA | The Windows Media modules (v9 or above) are not installed. |
BASS_ERROR_ILLPARAM | clients is invalid. |
BASS_ERROR_NOTAVAIL | No codec could be found to support the requested sample format and bitrate. |
BASS_ERROR_UNKNOWN | Some other mystery problem! |
Remarks
If you chose to let the system select a port, you can retrieve the port number using BASS_WMA_EncodeGetPort.The WMA codec expects 16-bit or 24-bit sample data depending on the BASS_WMA_ENCODE_24BIT flag, but BASSWMA will accept 8-bit, 16-bit or floating-point data, and convert it to the appropriate format. Use BASS_WMA_EncodeGetRates to retrieve a list of the encoding bitrates available for a specific sample format. VBR encoding is not recommended for network encoding.
Use BASS_WMA_EncodeSetTag to set tags, BASS_WMA_EncodeWrite to encode sample data, and BASS_WMA_EncodeClose to finish encoding and close the network port.
The BASS_WMA_ENCODE_QUEUE flag is not necessary with this function as the data is always queued and fed to the encoder asynchronously.
Example
Initialize encoding 44100hz 16-bit stereo sample data at 128kb/s, using a system-chosen port, and allowing up to 5 clients.HWMENCODE encoder=BASS_WMA_EncodeOpenNetwork(44100, 2, 0, 128000, 0, 5);