You could access this page securely.

API documentation for libmpg123, libout123, and libsyn123

Note: This API doc is automatically generated from the current development version that you can get via Subversion or as a daily snapshot from There may be differences (additions) compared to the latest stable release. See NEWS.libmpg123, NEWS.libout123, NEWS.libsyn123, and the overall NEWS file on libmpg123 versions and important changes between them.
Let me emphasize that the policy for the lib*123 family is to always stay backwards compatible -- only additions are planned (and it's not yet planned to change the plans;-).
mpg123 decoder selection


MPG123_EXPORT const char ** mpg123_decoders (void)
MPG123_EXPORT const char ** mpg123_supported_decoders (void)
MPG123_EXPORT int mpg123_decoder (mpg123_handle *mh, const char *decoder_name)
MPG123_EXPORT const char * mpg123_current_decoder (mpg123_handle *mh)

Detailed Description

Functions to list and select the available decoders. Perhaps the most prominent feature of mpg123: You have several (optimized) decoders to choose from (on x86 and PPC (MacOS) systems, that is).

Function Documentation

◆ mpg123_decoders()

MPG123_EXPORT const char** mpg123_decoders ( void  )

Get available decoder list.

NULL-terminated array of generally available decoder names (plain 8bit ASCII)

◆ mpg123_supported_decoders()

MPG123_EXPORT const char** mpg123_supported_decoders ( void  )

Get supported decoder list.

This possibly writes to static storage in the library, so avoid calling concurrently, please.

NULL-terminated array of the decoders supported by the CPU (plain 8bit ASCII)

◆ mpg123_decoder()

MPG123_EXPORT int mpg123_decoder ( mpg123_handle mh,
const char *  decoder_name 

Set the active decoder.

decoder_namename of decoder
MPG123_OK on success

◆ mpg123_current_decoder()

MPG123_EXPORT const char* mpg123_current_decoder ( mpg123_handle mh)

Get the currently active decoder name. The active decoder engine can vary depening on output constraints, mostly non-resampling, integer output is accelerated via 3DNow & Co. but for other modes a fallback engine kicks in. Note that this can return a decoder that is only active in the hidden and not available as decoder choice from the outside.

The decoder name or NULL on error.
Hopefully valid HTML! Valid CSS!