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;-).
out123.h File Reference
#include <stddef.h>
#include <fmt123.h>
Include dependency graph for out123.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.


#define OUT123_API_VERSION   2
#define MPG123_EXPORT
#define out123_param_int(ao, code, value)   out123_param((ao), (code), (value), 0., NULL)
#define out123_param_float(ao, code, value)   out123_param((ao), (code), 0, (value), NULL)
#define out123_param_string(ao, code, value)   out123_param((ao), (code), 0, 0., (value))
#define out123_getparam_int(ao, code, value)   out123_getparam((ao), (code), (value), NULL, NULL)
#define out123_getparam_float(ao, code, value)   out123_getparam((ao), (code), NULL, (value), NULL)
#define out123_getparam_string(ao, code, value)   out123_getparam((ao), (code), NULL, NULL, (value))


typedef struct out123_struct out123_handle


enum  out123_parms {
enum  out123_flags {
  OUT123_LINE_OUT = 0x04, OUT123_QUIET = 0x08,
  OUT123_KEEP_PLAYING = 0x10, OUT123_MUTE = 0x20
enum  out123_propflags { OUT123_PROP_LIVE = 0x01, OUT123_PROP_PERSISTENT = 0x02 }
enum  out123_error {
  OUT123_ERR = -1, OUT123_OK = 0,


MPG123_EXPORT out123_handleout123_new (void)
MPG123_EXPORT void out123_del (out123_handle *ao)
MPG123_EXPORT void out123_free (void *ptr)
MPG123_EXPORT const char * out123_strerror (out123_handle *ao)
MPG123_EXPORT int out123_errcode (out123_handle *ao)
MPG123_EXPORT const char * out123_plain_strerror (int errcode)
MPG123_EXPORT int out123_set_buffer (out123_handle *ao, size_t buffer_bytes)
MPG123_EXPORT int out123_param (out123_handle *ao, enum out123_parms code, long value, double fvalue, const char *svalue)
MPG123_EXPORT int out123_getparam (out123_handle *ao, enum out123_parms code, long *ret_value, double *ret_fvalue, char **ret_svalue)
MPG123_EXPORT int out123_param_from (out123_handle *ao, out123_handle *from_ao)
MPG123_EXPORT int out123_drivers (out123_handle *ao, char ***names, char ***descr)
MPG123_EXPORT int out123_open (out123_handle *ao, const char *driver, const char *device)
MPG123_EXPORT int out123_driver_info (out123_handle *ao, char **driver, char **device)
MPG123_EXPORT void out123_close (out123_handle *ao)
MPG123_EXPORT int out123_encodings (out123_handle *ao, long rate, int channels)
MPG123_EXPORT int out123_encsize (int encoding)
MPG123_EXPORT int out123_formats (out123_handle *ao, const long *rates, int ratecount, int minchannels, int maxchannels, struct mpg123_fmt **fmtlist)
MPG123_EXPORT int out123_enc_list (int **enclist)
MPG123_EXPORT int out123_enc_byname (const char *name)
MPG123_EXPORT const char * out123_enc_name (int encoding)
MPG123_EXPORT const char * out123_enc_longname (int encoding)
MPG123_EXPORT int out123_start (out123_handle *ao, long rate, int channels, int encoding)
MPG123_EXPORT void out123_pause (out123_handle *ao)
MPG123_EXPORT void out123_continue (out123_handle *ao)
MPG123_EXPORT void out123_stop (out123_handle *ao)
MPG123_EXPORT size_t out123_play (out123_handle *ao, void *buffer, size_t bytes)
MPG123_EXPORT void out123_drop (out123_handle *ao)
MPG123_EXPORT void out123_drain (out123_handle *ao)
MPG123_EXPORT void out123_ndrain (out123_handle *ao, size_t bytes)
MPG123_EXPORT size_t out123_buffered (out123_handle *ao)
MPG123_EXPORT int out123_getformat (out123_handle *ao, long *rate, int *channels, int *encoding, int *framesize)

Detailed Description

The header file for the libout123 audio output facility.

Definition in file out123.h.

Macro Definition Documentation


#define OUT123_API_VERSION   2

A macro to check at compile time which set of API functions to expect. This should be incremented at least each time a new symbol is added to the header.

Definition at line 32 of file out123.h.


#define MPG123_EXPORT

Defines needed for MS Visual Studio(tm) DLL builds. Every public function must be prefixed with MPG123_EXPORT. When building the DLL ensure to define BUILD_MPG123_DLL. This makes the function accessible for clients and includes it in the import library which is created together with the DLL. When consuming the DLL ensure to define LINK_MPG123_DLL which imports the functions from the DLL.

Definition at line 51 of file out123.h.

Hopefully valid HTML! Valid CSS!