Encoder options

## Encoder options

Speech quality and bandwidth usage depend on the used Speex encoder. As Speex is a lossy code, the quality value controls the balance between voice quality and network traffic. Valid quality values range from 0 to 10, default is 7. The encoding quality can be configured for each channel using the `CHANNEL_CODEC_QUALITY` property. The currently used channel codec, codec quality and estimated average used bitrate (without overhead) can be queried with `ts3client_getEncodeConfigValue`.

| Note
Encoder options are tied to a capture device, so querying the values only makes sense after a device has been opened.

All strings passed from the Client Lib are encoded in UTF-8 format.

`unsigned int ts3client_getEncodeConfigValue(` | serverConnectionHandlerID, |
| ident, |
| result`)`; |

`uint64 serverConnectionHandlerID`;
`const char* ident`;
`char** result`;

- `serverConnectionHandlerID`

  Server connection handler ID

- `ident`

  String containing the queried encoder option. Available values are “name”, “quality” and “bitrate”.

- `result`

  Address of a variable that receives the result string. Unless an error occured, the result string must be released using `ts3client_freeMemory`.

Returns `ERROR_ok` on success, otherwise an error code as defined in `public_errors.h`. If an error has occured, the result string is uninitialized and must not be released.

To adjust the channel codec quality to a value of 5, you would call:

    ts3client_setChannelVariableAsInt(scHandlerID, channelID, CHANNEL_CODEC_QUALITY, 5);

See the chapter about channel information for details about how to set channel variables.

To query information about the current channel quality, do:

    char *name, *quality, *bitrate;
    ts3client_getEncodeConfigValue(scHandlerID, "name", &name);
    ts3client_getEncodeConfigValue(scHandlerID, "quality", &quality);
    ts3client_getEncodeConfigValue(scHandlerID, "bitrate", &bitrate);

    printf("Name = %s, quality = %s, bitrate = %s\n", name, quality, bitrate);

    ts3client_freeMemory(name);
    ts3client_freeMemory(quality);
    ts3client_freeMemory(bitrate);

Sound codecs |  | Preprocessor options