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 http://mpg123.org/snapshot. 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;-).
Loading...
Searching...
No Matches
mpg123.h
Go to the documentation of this file.
1/*
2 libmpg123: MPEG Audio Decoder library
3
4 copyright 1995-2023 by the mpg123 project
5 free software under the terms of the LGPL 2.1
6 see COPYING and AUTHORS files in distribution or http://mpg123.org
7*/
8
9#ifndef MPG123_LIB_H
10#define MPG123_LIB_H
11
12#include "fmt123.h"
13
24#define MPG123_API_VERSION 49
26#define MPG123_PATCHLEVEL 4
27
28#ifndef MPG123_EXPORT
36#ifdef BUILD_MPG123_DLL
37/* The dll exports. */
38#define MPG123_EXPORT __declspec(dllexport)
39#else
40#ifdef LINK_MPG123_DLL
41/* The exe imports. */
42#define MPG123_EXPORT __declspec(dllimport)
43#else
44/* Nothing on normal/UNIX builds */
45#define MPG123_EXPORT
46#endif
47#endif
48#endif
49
78#ifndef MPG123_ENUM_API
79
80#define mpg123_param mpg123_param2
81#define mpg123_getparam mpg123_getparam2
82#define mpg123_feature mpg123_feature2
83#define mpg123_eq mpg123_eq2
84#define mpg123_geteq mpg123_geteq2
85#define mpg123_frameinfo mpg123_frameinfo2
86#define mpg123_info mpg123_info2
87#define mpg123_getstate mpg123_getstate2
88#define mpg123_enc_from_id3 mpg123_enc_from_id3_2
89#define mpg123_store_utf8 mpg123_store_utf8_2
90#define mpg123_par mpg123_par2
91#define mpg123_getpar mpg123_getpar2
92
93#endif
94
95#include <stddef.h>
96#include <stdint.h>
97
98#ifndef MPG123_PORTABLE_API
99#include <sys/types.h>
101#ifdef _MSC_VER
102typedef ptrdiff_t mpg123_ssize_t;
103#else
104typedef ssize_t mpg123_ssize_t;
105#endif
106#endif
107
108
135#ifndef MPG123_PORTABLE_API
165#if (!defined MPG123_NO_LARGENAME) && ((defined _FILE_OFFSET_BITS) || (defined MPG123_LARGESUFFIX))
166
167/* Need some trickery to concatenate the value(s) of the given macro(s). */
168#define MPG123_MACROCAT_REALLY(a, b) a ## b
169#define MPG123_MACROCAT(a, b) MPG123_MACROCAT_REALLY(a, b)
170#ifndef MPG123_LARGESUFFIX
171#define MPG123_LARGESUFFIX MPG123_MACROCAT(_, _FILE_OFFSET_BITS)
172#endif
173#define MPG123_LARGENAME(func) MPG123_MACROCAT(func, MPG123_LARGESUFFIX)
174
175#define mpg123_open_fixed MPG123_LARGENAME(mpg123_open_fixed)
176#define mpg123_open MPG123_LARGENAME(mpg123_open)
177#define mpg123_open_fd MPG123_LARGENAME(mpg123_open_fd)
178#define mpg123_open_handle MPG123_LARGENAME(mpg123_open_handle)
179#define mpg123_framebyframe_decode MPG123_LARGENAME(mpg123_framebyframe_decode)
180#define mpg123_decode_frame MPG123_LARGENAME(mpg123_decode_frame)
181#define mpg123_tell MPG123_LARGENAME(mpg123_tell)
182#define mpg123_tellframe MPG123_LARGENAME(mpg123_tellframe)
183#define mpg123_tell_stream MPG123_LARGENAME(mpg123_tell_stream)
184#define mpg123_seek MPG123_LARGENAME(mpg123_seek)
185#define mpg123_feedseek MPG123_LARGENAME(mpg123_feedseek)
186#define mpg123_seek_frame MPG123_LARGENAME(mpg123_seek_frame)
187#define mpg123_timeframe MPG123_LARGENAME(mpg123_timeframe)
188#define mpg123_index MPG123_LARGENAME(mpg123_index)
189#define mpg123_set_index MPG123_LARGENAME(mpg123_set_index)
190#define mpg123_position MPG123_LARGENAME(mpg123_position)
191#define mpg123_length MPG123_LARGENAME(mpg123_length)
192#define mpg123_framelength MPG123_LARGENAME(mpg123_framelength)
193#define mpg123_set_filesize MPG123_LARGENAME(mpg123_set_filesize)
194#define mpg123_replace_reader MPG123_LARGENAME(mpg123_replace_reader)
195#define mpg123_replace_reader_handle MPG123_LARGENAME(mpg123_replace_reader_handle)
196#define mpg123_framepos MPG123_LARGENAME(mpg123_framepos)
197
198#endif /* largefile hackery */
199#endif
200
203#ifdef __cplusplus
204extern "C" {
205#endif
206
217struct mpg123_handle_struct;
218
222typedef struct mpg123_handle_struct mpg123_handle;
223
231const char *mpg123_distversion(unsigned int *major, unsigned int *minor, unsigned int *patch);
232
237unsigned int mpg123_libversion(unsigned int *patch);
238
253
260
269MPG123_EXPORT mpg123_handle *mpg123_new(const char* decoder, int *error);
270
275
282
312
384
393
394#ifdef MPG123_ENUM_API
407, enum mpg123_parms type, long value, double fvalue );
408#endif
409
422, int type, long value, double fvalue );
423
424#ifdef MPG123_ENUM_API
437, enum mpg123_parms type, long *value, double *fvalue );
438#endif
439
452, int type, long *value, double *fvalue );
453
476
477#ifdef MPG123_ENUM_API
487#endif
488
498
586
591MPG123_EXPORT const char* mpg123_plain_strerror(int errcode);
592
601
607
623
632
638MPG123_EXPORT int mpg123_decoder(mpg123_handle *mh, const char* decoder_name);
639
650
682
690MPG123_EXPORT void mpg123_rates(const long **list, size_t *number);
691
696MPG123_EXPORT void mpg123_encodings(const int **list, size_t *number);
697
702
709
716
724, long rate, int channels, int encodings );
725
737, long rate, int channels, int encodings );
738
747, long rate, int encoding );
748
761, long *rate, int *channels, int *encoding );
762
775, long *rate, int *channels, int *encoding, int clear_flag );
776
787#ifndef MPG123_PORTABLE_API
832, int channels, int encoding);
833
849MPG123_EXPORT int mpg123_open(mpg123_handle *mh, const char *path);
850
858
875#endif
876
886MPG123_EXPORT int mpg123_open64(mpg123_handle *mh, const char *path);
887
901, int channels, int encoding);
902
915
924
930
943, void *outmemory, size_t outmemsize, size_t *done );
944
953, const unsigned char *in, size_t size );
954
975, const unsigned char *inmemory, size_t inmemsize
976, void *outmemory, size_t outmemsize, size_t *done );
977
978#ifndef MPG123_PORTABLE_API
988, off_t *num, unsigned char **audio, size_t *bytes );
989
1000, off_t *num, unsigned char **audio, size_t *bytes );
1001#endif /* un-portable API */
1002
1012, int64_t *num, unsigned char **audio, size_t *bytes );
1013
1024, int64_t *num, unsigned char **audio, size_t *bytes );
1025
1033
1050, unsigned long *header, unsigned char **bodydata, size_t *bodybytes );
1051
1052#ifndef MPG123_PORTABLE_API
1061#endif
1062
1071
1123#ifndef MPG123_PORTABLE_API
1130#endif
1131
1138
1139#ifndef MPG123_PORTABLE_API
1145#endif
1146
1152
1153#ifndef MPG123_PORTABLE_API
1159#endif
1160
1166
1167
1168#ifndef MPG123_PORTABLE_API
1179, off_t sampleoff, int whence );
1180#endif
1181
1191, int64_t sampleoff, int whence );
1192
1193#ifndef MPG123_PORTABLE_API
1207, off_t sampleoff, int whence, off_t *input_offset );
1208#endif
1209
1222, int64_t sampleoff, int whence, int64_t *input_offset );
1223
1224#ifndef MPG123_PORTABLE_API
1234, off_t frameoff, int whence );
1235#endif
1236
1245, int64_t frameoff, int whence );
1246
1247#ifndef MPG123_PORTABLE_API
1252
1265, off_t **offsets, off_t *step, size_t *fill );
1266#endif
1267
1272
1283, int64_t **offsets, int64_t *step, size_t *fill );
1284
1285#ifndef MPG123_PORTABLE_API
1298, off_t *offsets, off_t step, size_t fill );
1299#endif
1300
1311, int64_t *offsets, int64_t step, size_t fill );
1312
1313
1314#ifndef MPG123_PORTABLE_API
1322MPG123_EXPORT int mpg123_position( mpg123_handle *mh, off_t INT123_frame_offset, off_t buffered_bytes, off_t *current_frame, off_t *frames_left, double *current_seconds, double *seconds_left);
1323#endif
1324
1340
1341#ifdef MPG123_ENUM_API
1355, enum mpg123_channels channel, int band, double val );
1356#endif
1357
1371, int channel, int band, double val );
1372
1383, int channel, int a, int b, double factor );
1384
1395, int channel, int a, int b, double db );
1396
1397#ifdef MPG123_ENUM_API
1409 , enum mpg123_channels channel, int band);
1410#endif
1411
1422MPG123_EXPORT double mpg123_geteq2(mpg123_handle *mh, int channel, int band);
1423
1429
1437
1444
1451
1462MPG123_EXPORT int mpg123_getvolume(mpg123_handle *mh, double *base, double *really, double *rva_db);
1463
1464/* TODO: Set some preamp in addition / to replace internal RVA handling? */
1465
1480
1487
1488
1497
1498
1506
1507#ifdef MPG123_ENUM_API
1523#endif
1524
1540
1547{
1548 double xr[2][2][576];
1549 double sfb[2][2][22];
1550 double sfb_s[2][2][3*13];
1551 int qss[2][2];
1552 int big_values[2][2];
1553 int sub_gain[2][2][3];
1554 int scalefac_scale[2][2];
1555 int preflag[2][2];
1556 int blocktype[2][2];
1557 int mixed[2][2];
1558 int mainbits[2][2];
1559 int sfbits[2][2];
1560 int scfsi[2];
1563};
1564
1565#ifdef MPG123_ENUM_API
1577#endif
1578
1590
1598, struct mpg123_moreinfo *mi );
1599
1605
1614
1615#ifndef MPG123_PORTABLE_API
1622
1636
1644#endif
1645
1652
1666
1674
1680
1686
1692
1693
1705
1706#ifdef MPG123_ENUM_API
1719, enum mpg123_state key, long *val, double *fval );
1720#endif
1721
1734, int key, long *val, double *fval );
1735
1749typedef struct
1750{
1751 char* p;
1752 size_t size;
1753 size_t fill;
1755
1760
1765
1772
1779
1786
1797
1805
1819
1826
1835, const char *stuff, size_t from, size_t count );
1836
1843
1852, const char *stuff, size_t from, size_t count );
1853
1863
1869
1878
1898
1908
1909#ifdef MPG123_ENUM_API
1919#endif
1920
1929MPG123_EXPORT int mpg123_enc_from_id3_2(unsigned char id3_enc_byte);
1930
1931#ifdef MPG123_ENUM_API
1945MPG123_EXPORT int mpg123_store_utf8(mpg123_string *sb, enum mpg123_text_encoding enc, const unsigned char *source, size_t source_size);
1946#endif
1947
1962, int enc, const unsigned char *source, size_t source_size);
1963
1970typedef struct
1971{
1972 char lang[3];
1973 char id[4];
1976} mpg123_text;
1977
2003
2008typedef struct
2009{
2010 char type;
2013 size_t size;
2014 unsigned char* data;
2016
2022typedef struct
2023{
2024 unsigned char version;
2031 /* Encountered ID3v2 fields are appended to these lists.
2032 There can be multiple occurences, the pointers above always point to the last encountered data. */
2034 size_t comments;
2036 size_t texts;
2038 size_t extras;
2041 size_t pictures;
2042} mpg123_id3v2;
2043
2048typedef struct
2049{
2050 char tag[3];
2051 char title[30];
2052 char artist[30];
2053 char album[30];
2054 char year[4];
2055 char comment[30];
2056 unsigned char genre;
2057} mpg123_id3v1;
2058
2059#define MPG123_ID3 0x3
2060#define MPG123_NEW_ID3 0x1
2061#define MPG123_ICY 0xc
2062#define MPG123_NEW_ICY 0x4
2069
2074
2082, mpg123_id3v1 **v1, mpg123_id3v2 **v2 );
2083
2098, unsigned char **v1, size_t *v1_size
2099, unsigned char **v2, size_t *v2_size );
2100
2106MPG123_EXPORT int mpg123_icy(mpg123_handle *mh, char **icy_meta);
2107
2112MPG123_EXPORT char* mpg123_icy2utf8(const char* icy_text);
2113
2114
2134struct mpg123_pars_struct;
2135
2137typedef struct mpg123_pars_struct mpg123_pars;
2138
2146, const char* decoder, int *error );
2147
2153
2158
2165
2172
2183, long rate, int channels, int encodings);
2184
2196, long rate, int channels, int encodings);
2197
2205MPG123_EXPORT int mpg123_fmt_support(mpg123_pars *mp, long rate, int encoding);
2206
2207#ifdef MPG123_ENUM_API
2220, enum mpg123_parms type, long value, double fvalue );
2221#endif
2222
2235, int type, long value, double fvalue );
2236
2237#ifdef MPG123_ENUM_API
2250, enum mpg123_parms type, long *value, double *fvalue );
2251#endif
2252
2265, int type, long *value, double *fvalue );
2266
2290, void *data, size_t size);
2291
2298
2299#ifndef MPG123_PORTABLE_API
2314, mpg123_ssize_t (*r_read) (int, void *, size_t)
2315, off_t (*r_lseek)(int, off_t, int)
2316);
2317
2333, mpg123_ssize_t (*r_read) (void *, void *, size_t)
2334, off_t (*r_lseek)(void *, off_t, int)
2335, void (*cleanup)(void*) );
2336#endif
2337
2357MPG123_EXPORT int mpg123_reader64( mpg123_handle *mh, int (*r_read) (void *, void *, size_t, size_t *), int64_t (*r_lseek)(void *, int64_t, int), void (*cleanup)(void*) );
2358
2361#ifdef __cplusplus
2362}
2363#endif
2364
2365#endif
MPG123_EXPORT int mpg123_getpar(mpg123_pars *mp, enum mpg123_parms type, long *value, double *fvalue)
struct mpg123_pars_struct mpg123_pars
Definition mpg123.h:2137
MPG123_EXPORT int mpg123_fmt2(mpg123_pars *mp, long rate, int channels, int encodings)
MPG123_EXPORT int mpg123_getpar2(mpg123_pars *mp, int type, long *value, double *fvalue)
MPG123_EXPORT mpg123_pars * mpg123_new_pars(int *error)
MPG123_EXPORT int mpg123_par2(mpg123_pars *mp, int type, long value, double fvalue)
MPG123_EXPORT mpg123_handle * mpg123_parnew(mpg123_pars *mp, const char *decoder, int *error)
MPG123_EXPORT int mpg123_fmt_support(mpg123_pars *mp, long rate, int encoding)
MPG123_EXPORT void mpg123_delete_pars(mpg123_pars *mp)
MPG123_EXPORT int mpg123_par(mpg123_pars *mp, enum mpg123_parms type, long value, double fvalue)
MPG123_EXPORT int mpg123_fmt_all(mpg123_pars *mp)
MPG123_EXPORT int mpg123_fmt_none(mpg123_pars *mp)
MPG123_EXPORT const char * mpg123_current_decoder(mpg123_handle *mh)
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_plain_strerror(int errcode)
MPG123_EXPORT const char * mpg123_strerror(mpg123_handle *mh)
MPG123_EXPORT int mpg123_errcode(mpg123_handle *mh)
mpg123_errors
Definition mpg123.h:535
@ MPG123_NEED_MORE
Definition mpg123.h:538
@ MPG123_LSEEK_FAILED
Definition mpg123.h:580
@ MPG123_BAD_PARAM
Definition mpg123.h:545
@ MPG123_ERR_16TO8TABLE
Definition mpg123.h:544
@ MPG123_BAD_CHANNEL
Definition mpg123.h:542
@ MPG123_NO_SEEK
Definition mpg123.h:563
@ MPG123_BAD_PARS
Definition mpg123.h:565
@ MPG123_INT_OVERFLOW
Definition mpg123.h:583
@ MPG123_BAD_HANDLE
Definition mpg123.h:550
@ MPG123_RESYNC_FAIL
Definition mpg123.h:568
@ MPG123_BAD_OUTFORMAT
Definition mpg123.h:541
@ MPG123_NO_TIMEOUT
Definition mpg123.h:561
@ MPG123_INDEX_FAIL
Definition mpg123.h:576
@ MPG123_BAD_BUFFER
Definition mpg123.h:546
@ MPG123_ERR
Definition mpg123.h:539
@ MPG123_NULL_POINTER
Definition mpg123.h:573
@ MPG123_BAD_RVA
Definition mpg123.h:552
@ MPG123_BAD_FILE
Definition mpg123.h:562
@ MPG123_ERR_READER
Definition mpg123.h:558
@ MPG123_NO_SEEK_FROM_END
Definition mpg123.h:559
@ MPG123_NOT_INITIALIZED
Definition mpg123.h:548
@ MPG123_OUT_OF_MEM
Definition mpg123.h:547
@ MPG123_NULL_BUFFER
Definition mpg123.h:571
@ MPG123_OUT_OF_SYNC
Definition mpg123.h:567
@ MPG123_NO_SPACE
Definition mpg123.h:554
@ MPG123_ERR_NULL
Definition mpg123.h:557
@ MPG123_BAD_TYPES
Definition mpg123.h:555
@ MPG123_LFS_OVERFLOW
Definition mpg123.h:582
@ MPG123_NEW_FORMAT
Definition mpg123.h:537
@ MPG123_BAD_KEY
Definition mpg123.h:574
@ MPG123_NO_READER
Definition mpg123.h:564
@ MPG123_BAD_CUSTOM_IO
Definition mpg123.h:581
@ MPG123_BAD_WHENCE
Definition mpg123.h:560
@ MPG123_BAD_ALIGN
Definition mpg123.h:570
@ MPG123_NO_BUFFERS
Definition mpg123.h:551
@ MPG123_NO_INDEX
Definition mpg123.h:575
@ MPG123_DONE
Definition mpg123.h:536
@ MPG123_BAD_DECODER_SETUP
Definition mpg123.h:577
@ MPG123_NO_RELSEEK
Definition mpg123.h:572
@ MPG123_NO_GAPLESS
Definition mpg123.h:553
@ MPG123_BAD_INDEX_PAR
Definition mpg123.h:566
@ MPG123_BAD_VALUE
Definition mpg123.h:579
@ MPG123_MISSING_FEATURE
Definition mpg123.h:578
@ MPG123_BAD_BAND
Definition mpg123.h:556
@ MPG123_OK
Definition mpg123.h:540
@ MPG123_BAD_FLOAT
Definition mpg123.h:584
@ MPG123_BAD_RATE
Definition mpg123.h:543
@ MPG123_BAD_DECODER
Definition mpg123.h:549
@ MPG123_NO_8BIT
Definition mpg123.h:569
#define MPG123_EXPORT
Definition mpg123.h:45
ssize_t mpg123_ssize_t
Definition mpg123.h:104
unsigned int mpg123_libversion(unsigned int *patch)
MPG123_EXPORT void mpg123_free(void *ptr)
mpg123_param_flags
Definition mpg123.h:315
MPG123_EXPORT void mpg123_delete(mpg123_handle *mh)
MPG123_EXPORT int mpg123_feature2(int key)
MPG123_EXPORT int mpg123_getparam(mpg123_handle *mh, enum mpg123_parms type, long *value, double *fvalue)
struct mpg123_handle_struct mpg123_handle
Definition mpg123.h:222
const char * mpg123_distversion(unsigned int *major, unsigned int *minor, unsigned int *patch)
mpg123_parms
Definition mpg123.h:285
mpg123_param_rva
Definition mpg123.h:387
mpg123_feature_set
Definition mpg123.h:456
MPG123_EXPORT int mpg123_getparam2(mpg123_handle *mh, int type, long *value, double *fvalue)
MPG123_EXPORT int mpg123_param2(mpg123_handle *mh, int type, long value, double fvalue)
MPG123_EXPORT void mpg123_exit(void)
MPG123_EXPORT int mpg123_param(mpg123_handle *mh, enum mpg123_parms type, long value, double fvalue)
MPG123_EXPORT int mpg123_init(void)
MPG123_EXPORT mpg123_handle * mpg123_new(const char *decoder, int *error)
MPG123_EXPORT int mpg123_feature(const enum mpg123_feature_set key)
@ MPG123_IGNORE_STREAMLENGTH
Definition mpg123.h:336
@ MPG123_FORCE_MONO
Definition mpg123.h:316
@ MPG123_FUZZY
Definition mpg123.h:326
@ MPG123_FORCE_FLOAT
Definition mpg123.h:327
@ MPG123_QUIET
Definition mpg123.h:322
@ MPG123_NO_RESYNC
Definition mpg123.h:324
@ MPG123_IGNORE_INFOFRAME
Definition mpg123.h:338
@ MPG123_MONO_LEFT
Definition mpg123.h:317
@ MPG123_FORCE_8BIT
Definition mpg123.h:321
@ MPG123_BIG_ENDIAN
Definition mpg123.h:359
@ MPG123_PICTURE
Definition mpg123.h:340
@ MPG123_SEEKBUFFER
Definition mpg123.h:325
@ MPG123_GAPLESS
Definition mpg123.h:323
@ MPG123_FORCE_STEREO
Definition mpg123.h:320
@ MPG123_NO_PEEK_END
Definition mpg123.h:341
@ MPG123_STORE_RAW_ID3
Definition mpg123.h:348
@ MPG123_MONO_RIGHT
Definition mpg123.h:318
@ MPG123_FORCE_SEEKABLE
Definition mpg123.h:347
@ MPG123_AUTO_RESAMPLE
Definition mpg123.h:339
@ MPG123_NO_READAHEAD
Definition mpg123.h:360
@ MPG123_PLAIN_ID3TEXT
Definition mpg123.h:328
@ MPG123_FORCE_ENDIAN
Definition mpg123.h:353
@ MPG123_FLOAT_FALLBACK
Definition mpg123.h:367
@ MPG123_MONO_MIX
Definition mpg123.h:319
@ MPG123_SKIP_ID3V2
Definition mpg123.h:337
@ MPG123_NO_FRANKENSTEIN
Definition mpg123.h:375
@ MPG123_VERBOSE
Definition mpg123.h:286
@ MPG123_UPSPEED
Definition mpg123.h:293
@ MPG123_TIMEOUT
Definition mpg123.h:299
@ MPG123_DOWNSPEED
Definition mpg123.h:292
@ MPG123_START_FRAME
Definition mpg123.h:294
@ MPG123_DOWN_SAMPLE
Definition mpg123.h:290
@ MPG123_RESYNC_LIMIT
Definition mpg123.h:301
@ MPG123_INDEX_SIZE
Definition mpg123.h:302
@ MPG123_ADD_FLAGS
Definition mpg123.h:288
@ MPG123_OUTSCALE
Definition mpg123.h:298
@ MPG123_FREEFORMAT_SIZE
Definition mpg123.h:306
@ MPG123_ICY_INTERVAL
Definition mpg123.h:296
@ MPG123_FEEDPOOL
Definition mpg123.h:304
@ MPG123_FEEDBUFFER
Definition mpg123.h:305
@ MPG123_REMOVE_FLAGS
Definition mpg123.h:300
@ MPG123_FLAGS
Definition mpg123.h:287
@ MPG123_FORCE_RATE
Definition mpg123.h:289
@ MPG123_DECODE_FRAMES
Definition mpg123.h:295
@ MPG123_PREFRAMES
Definition mpg123.h:303
@ MPG123_RVA
Definition mpg123.h:291
@ MPG123_RVA_MIX
Definition mpg123.h:389
@ MPG123_RVA_ALBUM
Definition mpg123.h:390
@ MPG123_RVA_MAX
Definition mpg123.h:391
@ MPG123_RVA_OFF
Definition mpg123.h:388
@ MPG123_FEATURE_INDEX
Definition mpg123.h:461
@ MPG123_FEATURE_TIMEOUT_READ
Definition mpg123.h:470
@ MPG123_FEATURE_DECODE_LAYER3
Definition mpg123.h:465
@ MPG123_FEATURE_DECODE_NTOM
Definition mpg123.h:468
@ MPG123_FEATURE_EQUALIZER
Definition mpg123.h:471
@ MPG123_FEATURE_MOREINFO
Definition mpg123.h:472
@ MPG123_FEATURE_PARSE_ID3V2
Definition mpg123.h:462
@ MPG123_FEATURE_PARSE_ICY
Definition mpg123.h:469
@ MPG123_FEATURE_OUTPUT_FLOAT32
Definition mpg123.h:473
@ MPG123_FEATURE_OUTPUT_32BIT
Definition mpg123.h:460
@ MPG123_FEATURE_OUTPUT_FLOAT64
Definition mpg123.h:474
@ MPG123_FEATURE_OUTPUT_8BIT
Definition mpg123.h:458
@ MPG123_FEATURE_ABI_UTF8OPEN
Definition mpg123.h:457
@ MPG123_FEATURE_DECODE_ACCURATE
Definition mpg123.h:466
@ MPG123_FEATURE_DECODE_DOWNSAMPLE
Definition mpg123.h:467
@ MPG123_FEATURE_DECODE_LAYER2
Definition mpg123.h:464
@ MPG123_FEATURE_OUTPUT_16BIT
Definition mpg123.h:459
@ MPG123_FEATURE_DECODE_LAYER1
Definition mpg123.h:463
MPG123_EXPORT int mpg123_open64(mpg123_handle *mh, const char *path)
MPG123_EXPORT int mpg123_open_feed(mpg123_handle *mh)
MPG123_EXPORT int mpg123_feed(mpg123_handle *mh, const unsigned char *in, size_t size)
MPG123_EXPORT int mpg123_close(mpg123_handle *mh)
MPG123_EXPORT int mpg123_decode(mpg123_handle *mh, const unsigned char *inmemory, size_t inmemsize, void *outmemory, size_t outmemsize, size_t *done)
MPG123_EXPORT int mpg123_open_fixed64(mpg123_handle *mh, const char *path, int channels, int encoding)
MPG123_EXPORT int mpg123_framebyframe_decode64(mpg123_handle *mh, int64_t *num, unsigned char **audio, size_t *bytes)
MPG123_EXPORT int mpg123_decode_frame64(mpg123_handle *mh, int64_t *num, unsigned char **audio, size_t *bytes)
MPG123_EXPORT int mpg123_open(mpg123_handle *mh, const char *path)
MPG123_EXPORT int mpg123_open_fd(mpg123_handle *mh, int fd)
MPG123_EXPORT int mpg123_open_fixed(mpg123_handle *mh, const char *path, int channels, int encoding)
MPG123_EXPORT int mpg123_open_handle64(mpg123_handle *mh, void *iohandle)
MPG123_EXPORT int mpg123_framedata(mpg123_handle *mh, unsigned long *header, unsigned char **bodydata, size_t *bodybytes)
MPG123_EXPORT int mpg123_open_handle(mpg123_handle *mh, void *iohandle)
MPG123_EXPORT int mpg123_decode_frame(mpg123_handle *mh, off_t *num, unsigned char **audio, size_t *bytes)
MPG123_EXPORT int mpg123_read(mpg123_handle *mh, void *outmemory, size_t outmemsize, size_t *done)
MPG123_EXPORT int mpg123_framebyframe_next(mpg123_handle *mh)
MPG123_EXPORT int mpg123_framebyframe_decode(mpg123_handle *mh, off_t *num, unsigned char **audio, size_t *bytes)
MPG123_EXPORT int64_t mpg123_framepos64(mpg123_handle *mh)
MPG123_EXPORT off_t mpg123_framepos(mpg123_handle *mh)
MPG123_EXPORT size_t mpg123_outblock(mpg123_handle *mh)
MPG123_EXPORT int mpg123_replace_reader_handle(mpg123_handle *mh, mpg123_ssize_t(*r_read)(void *, void *, size_t), off_t(*r_lseek)(void *, off_t, int), void(*cleanup)(void *))
MPG123_EXPORT int mpg123_reader64(mpg123_handle *mh, int(*r_read)(void *, void *, size_t, size_t *), int64_t(*r_lseek)(void *, int64_t, int), void(*cleanup)(void *))
MPG123_EXPORT int mpg123_replace_reader(mpg123_handle *mh, mpg123_ssize_t(*r_read)(int, void *, size_t), off_t(*r_lseek)(int, off_t, int))
MPG123_EXPORT int mpg123_replace_buffer(mpg123_handle *mh, void *data, size_t size)
MPG123_EXPORT int mpg123_same_string(mpg123_string *a, mpg123_string *b)
MPG123_EXPORT int mpg123_grow_string(mpg123_string *sb, size_t news)
MPG123_EXPORT int mpg123_meta_check(mpg123_handle *mh)
MPG123_EXPORT void mpg123_free_string(mpg123_string *sb)
MPG123_EXPORT int mpg123_set_substring(mpg123_string *sb, const char *stuff, size_t from, size_t count)
MPG123_EXPORT int mpg123_store_utf8_2(mpg123_string *sb, int enc, const unsigned char *source, size_t source_size)
mpg123_text_encoding
Definition mpg123.h:1881
MPG123_EXPORT void mpg123_meta_free(mpg123_handle *mh)
MPG123_EXPORT size_t mpg123_strlen(mpg123_string *sb, int utf8)
MPG123_EXPORT int mpg123_resize_string(mpg123_string *sb, size_t news)
MPG123_EXPORT int mpg123_store_utf8(mpg123_string *sb, enum mpg123_text_encoding enc, const unsigned char *source, size_t source_size)
MPG123_EXPORT mpg123_string * mpg123_new_string(const char *val)
MPG123_EXPORT int mpg123_icy(mpg123_handle *mh, char **icy_meta)
mpg123_id3_enc
Definition mpg123.h:1901
MPG123_EXPORT int mpg123_add_substring(mpg123_string *sb, const char *stuff, size_t from, size_t count)
MPG123_EXPORT int mpg123_id3(mpg123_handle *mh, mpg123_id3v1 **v1, mpg123_id3v2 **v2)
MPG123_EXPORT int mpg123_set_string(mpg123_string *sb, const char *stuff)
MPG123_EXPORT int mpg123_copy_string(mpg123_string *from, mpg123_string *to)
MPG123_EXPORT char * mpg123_icy2utf8(const char *icy_text)
MPG123_EXPORT int mpg123_add_string(mpg123_string *sb, const char *stuff)
MPG123_EXPORT enum mpg123_text_encoding mpg123_enc_from_id3(unsigned char id3_enc_byte)
MPG123_EXPORT int mpg123_enc_from_id3_2(unsigned char id3_enc_byte)
MPG123_EXPORT void mpg123_delete_string(mpg123_string *sb)
MPG123_EXPORT int mpg123_chomp_string(mpg123_string *sb)
MPG123_EXPORT void mpg123_init_string(mpg123_string *sb)
mpg123_id3_pic_type
Definition mpg123.h:1980
MPG123_EXPORT int mpg123_id3_raw(mpg123_handle *mh, unsigned char **v1, size_t *v1_size, unsigned char **v2, size_t *v2_size)
MPG123_EXPORT int mpg123_move_string(mpg123_string *from, mpg123_string *to)
@ mpg123_text_cp1252
Definition mpg123.h:1886
@ mpg123_text_max
Definition mpg123.h:1896
@ mpg123_text_utf16bom
Definition mpg123.h:1891
@ mpg123_text_utf16be
Definition mpg123.h:1892
@ mpg123_text_unknown
Definition mpg123.h:1882
@ mpg123_text_icy
Definition mpg123.h:1885
@ mpg123_text_utf16
Definition mpg123.h:1887
@ mpg123_text_utf8
Definition mpg123.h:1883
@ mpg123_text_latin1
Definition mpg123.h:1884
@ mpg123_id3_latin1
Definition mpg123.h:1902
@ mpg123_id3_utf16be
Definition mpg123.h:1904
@ mpg123_id3_enc_max
Definition mpg123.h:1906
@ mpg123_id3_utf16bom
Definition mpg123.h:1903
@ mpg123_id3_utf8
Definition mpg123.h:1905
@ mpg123_id3_pic_publisher_logo
Definition mpg123.h:2001
@ mpg123_id3_pic_performance
Definition mpg123.h:1996
@ mpg123_id3_pic_leaflet
Definition mpg123.h:1986
@ mpg123_id3_pic_recording
Definition mpg123.h:1995
@ mpg123_id3_pic_back_cover
Definition mpg123.h:1985
@ mpg123_id3_pic_video
Definition mpg123.h:1997
@ mpg123_id3_pic_conductor
Definition mpg123.h:1990
@ mpg123_id3_pic_media
Definition mpg123.h:1987
@ mpg123_id3_pic_lead
Definition mpg123.h:1988
@ mpg123_id3_pic_artist
Definition mpg123.h:1989
@ mpg123_id3_pic_artist_logo
Definition mpg123.h:2000
@ mpg123_id3_pic_orchestra
Definition mpg123.h:1991
@ mpg123_id3_pic_icon
Definition mpg123.h:1982
@ mpg123_id3_pic_composer
Definition mpg123.h:1992
@ mpg123_id3_pic_other
Definition mpg123.h:1981
@ mpg123_id3_pic_location
Definition mpg123.h:1994
@ mpg123_id3_pic_illustration
Definition mpg123.h:1999
@ mpg123_id3_pic_front_cover
Definition mpg123.h:1984
@ mpg123_id3_pic_lyricist
Definition mpg123.h:1993
@ mpg123_id3_pic_fish
Definition mpg123.h:1998
@ mpg123_id3_pic_other_icon
Definition mpg123.h:1983
MPG123_EXPORT int mpg123_format2(mpg123_handle *mh, long rate, int channels, int encodings)
MPG123_EXPORT int mpg123_format_all(mpg123_handle *mh)
MPG123_EXPORT int mpg123_format_none(mpg123_handle *mh)
mpg123_channelcount
Definition mpg123.h:678
MPG123_EXPORT void mpg123_encodings(const int **list, size_t *number)
MPG123_EXPORT void mpg123_rates(const long **list, size_t *number)
MPG123_EXPORT int mpg123_format(mpg123_handle *mh, long rate, int channels, int encodings)
MPG123_EXPORT int mpg123_getformat2(mpg123_handle *mh, long *rate, int *channels, int *encoding, int clear_flag)
MPG123_EXPORT int mpg123_format_support(mpg123_handle *mh, long rate, int encoding)
MPG123_EXPORT int mpg123_getformat(mpg123_handle *mh, long *rate, int *channels, int *encoding)
MPG123_EXPORT int mpg123_encsize(int encoding)
@ MPG123_STEREO
Definition mpg123.h:680
@ MPG123_MONO
Definition mpg123.h:679
MPG123_EXPORT int mpg123_set_index(mpg123_handle *mh, off_t *offsets, off_t step, size_t fill)
MPG123_EXPORT int mpg123_index64(mpg123_handle *mh, int64_t **offsets, int64_t *step, size_t *fill)
MPG123_EXPORT int64_t mpg123_tell64(mpg123_handle *mh)
MPG123_EXPORT off_t mpg123_tell_stream(mpg123_handle *mh)
MPG123_EXPORT int64_t mpg123_tell_stream64(mpg123_handle *mh)
MPG123_EXPORT int64_t mpg123_seek_frame64(mpg123_handle *mh, int64_t frameoff, int whence)
MPG123_EXPORT int64_t mpg123_tellframe64(mpg123_handle *mh)
MPG123_EXPORT int mpg123_set_index64(mpg123_handle *mh, int64_t *offsets, int64_t step, size_t fill)
MPG123_EXPORT off_t mpg123_tellframe(mpg123_handle *mh)
MPG123_EXPORT off_t mpg123_tell(mpg123_handle *mh)
MPG123_EXPORT off_t mpg123_feedseek(mpg123_handle *mh, off_t sampleoff, int whence, off_t *input_offset)
MPG123_EXPORT off_t mpg123_timeframe(mpg123_handle *mh, double sec)
MPG123_EXPORT int64_t mpg123_feedseek64(mpg123_handle *mh, int64_t sampleoff, int whence, int64_t *input_offset)
MPG123_EXPORT off_t mpg123_seek(mpg123_handle *mh, off_t sampleoff, int whence)
MPG123_EXPORT int mpg123_position(mpg123_handle *mh, off_t INT123_frame_offset, off_t buffered_bytes, off_t *current_frame, off_t *frames_left, double *current_seconds, double *seconds_left)
MPG123_EXPORT off_t mpg123_seek_frame(mpg123_handle *mh, off_t frameoff, int whence)
MPG123_EXPORT int mpg123_index(mpg123_handle *mh, off_t **offsets, off_t *step, size_t *fill)
MPG123_EXPORT int64_t mpg123_seek64(mpg123_handle *mh, int64_t sampleoff, int whence)
MPG123_EXPORT int64_t mpg123_timeframe64(mpg123_handle *mh, double sec)
mpg123_mode
Definition mpg123.h:1491
mpg123_version
Definition mpg123.h:1482
MPG123_EXPORT int mpg123_set_filesize64(mpg123_handle *mh, int64_t size)
MPG123_EXPORT int mpg123_scan(mpg123_handle *mh)
MPG123_EXPORT int mpg123_info(mpg123_handle *mh, struct mpg123_frameinfo *mi)
MPG123_EXPORT int64_t mpg123_framelength64(mpg123_handle *mh)
MPG123_EXPORT int mpg123_spf(mpg123_handle *mh)
MPG123_EXPORT int mpg123_getstate2(mpg123_handle *mh, int key, long *val, double *fval)
MPG123_EXPORT double mpg123_tpf(mpg123_handle *mh)
MPG123_EXPORT off_t mpg123_length(mpg123_handle *mh)
mpg123_vbr
Definition mpg123.h:1475
MPG123_EXPORT int mpg123_info2(mpg123_handle *mh, struct mpg123_frameinfo2 *mi)
MPG123_EXPORT off_t mpg123_framelength(mpg123_handle *mh)
MPG123_EXPORT int mpg123_set_moreinfo(mpg123_handle *mh, struct mpg123_moreinfo *mi)
MPG123_EXPORT int mpg123_set_filesize(mpg123_handle *mh, off_t size)
MPG123_EXPORT long mpg123_clip(mpg123_handle *mh)
mpg123_state
Definition mpg123.h:1696
mpg123_flags
Definition mpg123.h:1500
MPG123_EXPORT int64_t mpg123_length64(mpg123_handle *mh)
MPG123_EXPORT int mpg123_getstate(mpg123_handle *mh, enum mpg123_state key, long *val, double *fval)
MPG123_EXPORT size_t mpg123_safe_buffer(void)
@ MPG123_M_MONO
Definition mpg123.h:1495
@ MPG123_M_DUAL
Definition mpg123.h:1494
@ MPG123_M_JOINT
Definition mpg123.h:1493
@ MPG123_M_STEREO
Definition mpg123.h:1492
@ MPG123_2_0
Definition mpg123.h:1484
@ MPG123_1_0
Definition mpg123.h:1483
@ MPG123_2_5
Definition mpg123.h:1485
@ MPG123_CBR
Definition mpg123.h:1476
@ MPG123_ABR
Definition mpg123.h:1478
@ MPG123_VBR
Definition mpg123.h:1477
@ MPG123_ACCURATE
Definition mpg123.h:1697
@ MPG123_BUFFERFILL
Definition mpg123.h:1698
@ MPG123_DEC_DELAY
Definition mpg123.h:1703
@ MPG123_ENC_DELAY
Definition mpg123.h:1701
@ MPG123_FRANKENSTEIN
Definition mpg123.h:1699
@ MPG123_ENC_PADDING
Definition mpg123.h:1702
@ MPG123_FRESH_DECODER
Definition mpg123.h:1700
@ MPG123_PRIVATE
Definition mpg123.h:1503
@ MPG123_COPYRIGHT
Definition mpg123.h:1502
@ MPG123_CRC
Definition mpg123.h:1501
@ MPG123_ORIGINAL
Definition mpg123.h:1504
MPG123_EXPORT int mpg123_getvolume(mpg123_handle *mh, double *base, double *really, double *rva_db)
MPG123_EXPORT int mpg123_reset_eq(mpg123_handle *mh)
MPG123_EXPORT double mpg123_geteq2(mpg123_handle *mh, int channel, int band)
MPG123_EXPORT int mpg123_eq2(mpg123_handle *mh, int channel, int band, double val)
MPG123_EXPORT int mpg123_volume_change(mpg123_handle *mh, double change)
MPG123_EXPORT int mpg123_eq_change(mpg123_handle *mh, int channel, int a, int b, double db)
MPG123_EXPORT int mpg123_volume_change_db(mpg123_handle *mh, double db)
MPG123_EXPORT int mpg123_eq_bands(mpg123_handle *mh, int channel, int a, int b, double factor)
MPG123_EXPORT double mpg123_geteq(mpg123_handle *mh, enum mpg123_channels channel, int band)
MPG123_EXPORT int mpg123_volume(mpg123_handle *mh, double vol)
MPG123_EXPORT int mpg123_eq(mpg123_handle *mh, enum mpg123_channels channel, int band, double val)
mpg123_channels
Definition mpg123.h:1335
@ MPG123_LEFT
Definition mpg123.h:1336
@ MPG123_RIGHT
Definition mpg123.h:1337
@ MPG123_LR
Definition mpg123.h:1338
void cleanup(mpg123_handle *mh, out123_handle *ao)
enum mpg123_mode mode
Definition mpg123.h:1514
enum mpg123_vbr vbr
Definition mpg123.h:1521
enum mpg123_flags flags
Definition mpg123.h:1517
enum mpg123_version version
Definition mpg123.h:1511
unsigned char genre
Definition mpg123.h:2056
mpg123_string * genre
Definition mpg123.h:2029
size_t texts
Definition mpg123.h:2036
mpg123_string * title
Definition mpg123.h:2025
mpg123_text * text
Definition mpg123.h:2035
mpg123_string * comment
Definition mpg123.h:2030
mpg123_string * artist
Definition mpg123.h:2026
mpg123_string * year
Definition mpg123.h:2028
size_t comments
Definition mpg123.h:2034
unsigned char version
Definition mpg123.h:2024
mpg123_text * comment_list
Definition mpg123.h:2033
size_t pictures
Definition mpg123.h:2041
mpg123_picture * picture
Definition mpg123.h:2039
mpg123_string * album
Definition mpg123.h:2027
mpg123_text * extra
Definition mpg123.h:2037
size_t extras
Definition mpg123.h:2038
int mainbits[2][2]
Definition mpg123.h:1558
int preflag[2][2]
Definition mpg123.h:1555
int scalefac_scale[2][2]
Definition mpg123.h:1554
int mixed[2][2]
Definition mpg123.h:1557
int sub_gain[2][2][3]
Definition mpg123.h:1553
int sfbits[2][2]
Definition mpg123.h:1559
int big_values[2][2]
Definition mpg123.h:1552
int qss[2][2]
Definition mpg123.h:1551
int blocktype[2][2]
Definition mpg123.h:1556
double sfb_s[2][2][3 *13]
Definition mpg123.h:1550
double xr[2][2][576]
Definition mpg123.h:1548
double sfb[2][2][22]
Definition mpg123.h:1549
mpg123_string description
Definition mpg123.h:2011
unsigned char * data
Definition mpg123.h:2014
mpg123_string mime_type
Definition mpg123.h:2012
size_t size
Definition mpg123.h:2013
size_t fill
Definition mpg123.h:1753
size_t size
Definition mpg123.h:1752
mpg123_string text
Definition mpg123.h:1975
mpg123_string description
Definition mpg123.h:1974
Hopefully valid HTML! Valid CSS!