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 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;-).
mpg123.h
Go to the documentation of this file.
1 /*
2  libmpg123: MPEG Audio Decoder library (version 1.26.0)
3 
4  copyright 1995-2015 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 
20 #ifndef MPG123_API_VERSION
21 #define MPG123_API_VERSION 45
22 #endif
23 
24 #ifndef MPG123_EXPORT
25 
32 #ifdef BUILD_MPG123_DLL
33 /* The dll exports. */
34 #define MPG123_EXPORT __declspec(dllexport)
35 #else
36 #ifdef LINK_MPG123_DLL
37 /* The exe imports. */
38 #define MPG123_EXPORT __declspec(dllimport)
39 #else
40 /* Nothing on normal/UNIX builds */
41 #define MPG123_EXPORT
42 #endif
43 #endif
44 #endif
45 
57 #ifndef MPG123_ENUM_API
58 
59 #define mpg123_param mpg123_param2
60 #define mpg123_getparam mpg123_getparam2
61 #define mpg123_feature mpg123_feature2
62 #define mpg123_eq mpg123_eq2
63 #define mpg123_geteq mpg123_geteq2
64 #define mpg123_frameinfo mpg123_frameinfo2
65 #define mpg123_info mpg123_info2
66 #define mpg123_getstate mpg123_getstate2
67 #define mpg123_enc_from_id3 mpg123_enc_from_id3_2
68 #define mpg123_store_utf8 mpg123_store_utf8_2
69 #define mpg123_par mpg123_par2
70 #define mpg123_getpar mpg123_getpar2
71 
72 #endif
73 
74 /* You can use this file directly, avoiding the autoconf replacements.
75  Might have to set MPG123_NO_LARGENAME, too, in case you have
76  _FILE_OFFSET_BITS defined where it does not make sense. */
77 #ifndef MPG123_NO_CONFIGURE
78 
79 #include <stdlib.h>
80 #include <sys/types.h>
81 
82 /* A little hack to help MSVC not having ssize_t. */
83 #ifdef _MSC_VER
84 #include <stddef.h>
85 typedef ptrdiff_t mpg123_ssize_t;
86 #else
87 typedef ssize_t mpg123_ssize_t;
88 #endif
89 
90 /* You can always enforce largefile hackery by setting MPG123_LARGESUFFIX. */
91 /* Otherwise, this header disables it if the build system decided so. */
92 #if !defined(MPG123_LARGESUFFIX) && @BUILD_NO_LARGENAME@
93 #ifndef MPG123_NO_LARGENAME
94 #define MPG123_NO_LARGENAME
95 #endif
96 #endif
97 
98 #endif /* MPG123_NO_CONFIGURE */
99 
100 /* Simplified large file handling.
101  I used to have a check here that prevents building for a library with conflicting large file setup
102  (application that uses 32 bit offsets with library that uses 64 bits).
103  While that was perfectly fine in an environment where there is one incarnation of the library,
104  it hurt GNU/Linux and Solaris systems with multilib where the distribution fails to provide the
105  correct header matching the 32 bit library (where large files need explicit support) or
106  the 64 bit library (where there is no distinction).
107 
108  New approach: When the app defines _FILE_OFFSET_BITS, it wants non-default large file support,
109  and thus functions with added suffix (mpg123_open_64).
110  Any mismatch will be caught at link time because of the _FILE_OFFSET_BITS setting used when
111  building libmpg123. Plus, there's dual mode large file support in mpg123 since 1.12 now.
112  Link failure is not the expected outcome of any half-sane usage anymore.
113 
114  More complication: What about client code defining _LARGEFILE64_SOURCE? It might want direct access to the _64 functions, along with the ones without suffix. Well, that's possible now via defining MPG123_NO_LARGENAME and MPG123_LARGESUFFIX, respectively, for disabling or enforcing the suffix names.
115 */
116 
117 /*
118  Now, the renaming of large file aware functions.
119  By default, it appends underscore _FILE_OFFSET_BITS (so, mpg123_seek_64 for mpg123_seek), if _FILE_OFFSET_BITS is defined. You can force a different suffix via MPG123_LARGESUFFIX (that must include the underscore), or you can just disable the whole mess by defining MPG123_NO_LARGENAME.
120 */
121 #if (!defined MPG123_NO_LARGENAME) && ((defined _FILE_OFFSET_BITS) || (defined MPG123_LARGESUFFIX))
122 
123 /* Need some trickery to concatenate the value(s) of the given macro(s). */
124 #define MPG123_MACROCAT_REALLY(a, b) a ## b
125 #define MPG123_MACROCAT(a, b) MPG123_MACROCAT_REALLY(a, b)
126 #ifndef MPG123_LARGESUFFIX
127 #define MPG123_LARGESUFFIX MPG123_MACROCAT(_, _FILE_OFFSET_BITS)
128 #endif
129 #define MPG123_LARGENAME(func) MPG123_MACROCAT(func, MPG123_LARGESUFFIX)
130 
131 #define mpg123_open_fixed MPG123_LARGENAME(mpg123_open_fixed)
132 #define mpg123_open MPG123_LARGENAME(mpg123_open)
133 #define mpg123_open_fd MPG123_LARGENAME(mpg123_open_fd)
134 #define mpg123_open_handle MPG123_LARGENAME(mpg123_open_handle)
135 #define mpg123_framebyframe_decode MPG123_LARGENAME(mpg123_framebyframe_decode)
136 #define mpg123_decode_frame MPG123_LARGENAME(mpg123_decode_frame)
137 #define mpg123_tell MPG123_LARGENAME(mpg123_tell)
138 #define mpg123_tellframe MPG123_LARGENAME(mpg123_tellframe)
139 #define mpg123_tell_stream MPG123_LARGENAME(mpg123_tell_stream)
140 #define mpg123_seek MPG123_LARGENAME(mpg123_seek)
141 #define mpg123_feedseek MPG123_LARGENAME(mpg123_feedseek)
142 #define mpg123_seek_frame MPG123_LARGENAME(mpg123_seek_frame)
143 #define mpg123_timeframe MPG123_LARGENAME(mpg123_timeframe)
144 #define mpg123_index MPG123_LARGENAME(mpg123_index)
145 #define mpg123_set_index MPG123_LARGENAME(mpg123_set_index)
146 #define mpg123_position MPG123_LARGENAME(mpg123_position)
147 #define mpg123_length MPG123_LARGENAME(mpg123_length)
148 #define mpg123_framelength MPG123_LARGENAME(mpg123_framelength)
149 #define mpg123_set_filesize MPG123_LARGENAME(mpg123_set_filesize)
150 #define mpg123_replace_reader MPG123_LARGENAME(mpg123_replace_reader)
151 #define mpg123_replace_reader_handle MPG123_LARGENAME(mpg123_replace_reader_handle)
152 #define mpg123_framepos MPG123_LARGENAME(mpg123_framepos)
153 
154 #endif /* largefile hackery */
155 
156 #ifdef __cplusplus
157 extern "C" {
158 #endif
159 
170 struct mpg123_handle_struct;
171 
175 typedef struct mpg123_handle_struct mpg123_handle;
176 
190 MPG123_EXPORT int mpg123_init(void);
191 
197 MPG123_EXPORT void mpg123_exit(void);
198 
207 MPG123_EXPORT mpg123_handle *mpg123_new(const char* decoder, int *error);
208 
213 
219 MPG123_EXPORT void mpg123_free(void *ptr);
220 
223 {
249 };
250 
253 {
260  ,MPG123_QUIET = 0x20
261  ,MPG123_GAPLESS = 0x40
264  ,MPG123_FUZZY = 0x200
268  ,MPG123_SKIP_ID3V2 = 0x2000
271  ,MPG123_PICTURE = 0x10000
272  ,MPG123_NO_PEEK_END = 0x20000
280  ,MPG123_FORCE_ENDIAN = 0x100000
286  ,MPG123_BIG_ENDIAN = 0x200000
287  ,MPG123_NO_READAHEAD = 0x400000
310 };
311 
314 {
319 };
320 
321 #ifdef MPG123_ENUM_API
322 
334 , enum mpg123_parms type, long value, double fvalue );
335 #endif
336 
349 , int type, long value, double fvalue );
350 
351 #ifdef MPG123_ENUM_API
352 
364 , enum mpg123_parms type, long *value, double *fvalue );
365 #endif
366 
379 , int type, long *value, double *fvalue );
380 
383 {
402 };
403 
404 #ifdef MPG123_ENUM_API
405 
414 #endif
415 
424 MPG123_EXPORT int mpg123_feature2(int key);
425 
462 {
512 };
513 
518 MPG123_EXPORT const char* mpg123_plain_strerror(int errcode);
519 
528 
534 
549 MPG123_EXPORT const char **mpg123_decoders(void);
550 
558 MPG123_EXPORT const char **mpg123_supported_decoders(void);
559 
565 MPG123_EXPORT int mpg123_decoder(mpg123_handle *mh, const char* decoder_name);
566 
577 
605 {
608 };
609 
617 MPG123_EXPORT void mpg123_rates(const long **list, size_t *number);
618 
623 MPG123_EXPORT void mpg123_encodings(const int **list, size_t *number);
624 
628 MPG123_EXPORT int mpg123_encsize(int encoding);
629 
636 
643 
651 , long rate, int channels, int encodings );
652 
664 , long rate, int channels, int encodings );
665 
674 , long rate, int encoding );
675 
688 , long *rate, int *channels, int *encoding );
689 
702 , long *rate, int *channels, int *encoding, int clear_flag );
703 
757 MPG123_EXPORT int mpg123_open_fixed(mpg123_handle *mh, const char *path
758 , int channels, int encoding);
759 
775 MPG123_EXPORT int mpg123_open(mpg123_handle *mh, const char *path);
776 
784 
792 MPG123_EXPORT int mpg123_open_handle(mpg123_handle *mh, void *iohandle);
793 
802 
808 
821 , void *outmemory, size_t outmemsize, size_t *done );
822 
831 , const unsigned char *in, size_t size );
832 
853 , const unsigned char *inmemory, size_t inmemsize
854 , void *outmemory, size_t outmemsize, size_t *done );
855 
865 , off_t *num, unsigned char **audio, size_t *bytes );
866 
877 , off_t *num, unsigned char **audio, size_t *bytes );
878 
886 
903 , unsigned long *header, unsigned char **bodydata, size_t *bodybytes );
904 
913 
965 
971 
977 
986 , off_t sampleoff, int whence );
987 
999 , off_t sampleoff, int whence, off_t *input_offset );
1000 
1008 , off_t frameoff, int whence );
1009 
1013 MPG123_EXPORT off_t mpg123_timeframe(mpg123_handle *mh, double sec);
1014 
1025 , off_t **offsets, off_t *step, size_t *fill );
1026 
1037 , off_t *offsets, off_t step, size_t fill );
1038 
1046 MPG123_EXPORT int mpg123_position( mpg123_handle *mh, off_t frame_offset, off_t buffered_bytes, off_t *current_frame, off_t *frames_left, double *current_seconds, double *seconds_left);
1047 
1058 {
1062 };
1063 
1064 #ifdef MPG123_ENUM_API
1065 
1078 , enum mpg123_channels channel, int band, double val );
1079 #endif
1080 
1094 , int channel, int band, double val );
1095 
1096 #ifdef MPG123_ENUM_API
1097 
1108  , enum mpg123_channels channel, int band);
1109 #endif
1110 
1121 MPG123_EXPORT double mpg123_geteq2(mpg123_handle *mh, int channel, int band);
1122 
1128 
1135 MPG123_EXPORT int mpg123_volume(mpg123_handle *mh, double vol);
1136 
1142 MPG123_EXPORT int mpg123_volume_change(mpg123_handle *mh, double change);
1143 
1154 MPG123_EXPORT int mpg123_getvolume(mpg123_handle *mh, double *base, double *really, double *rva_db);
1155 
1156 /* TODO: Set some preamp in addition / to replace internal RVA handling? */
1157 
1171 };
1172 
1178 };
1179 
1180 
1188 };
1189 
1190 
1197 };
1198 
1199 #ifdef MPG123_ENUM_API
1200 
1202 {
1204  int layer;
1205  long rate;
1207  int mode_ext;
1210  int emphasis;
1211  int bitrate;
1212  int abr_rate;
1214 };
1215 #endif
1216 
1219 {
1220  int version;
1221  int layer;
1222  long rate;
1223  int mode;
1224  int mode_ext;
1226  int flags;
1227  int emphasis;
1228  int bitrate;
1229  int abr_rate;
1230  int vbr;
1231 };
1232 
1239 {
1240  double xr[2][2][576];
1241  double sfb[2][2][22];
1242  double sfb_s[2][2][3*13];
1243  int qss[2][2];
1244  int big_values[2][2];
1245  int sub_gain[2][2][3];
1246  int scalefac_scale[2][2];
1247  int preflag[2][2];
1248  int blocktype[2][2];
1249  int mixed[2][2];
1250  int mainbits[2][2];
1251  int sfbits[2][2];
1252  int scfsi[2];
1253  int maindata;
1254  int padding;
1255 };
1256 
1257 #ifdef MPG123_ENUM_API
1258 
1269 #endif
1270 
1282 
1290 , struct mpg123_moreinfo *mi );
1291 
1296 MPG123_EXPORT size_t mpg123_safe_buffer(void);
1297 
1306 
1313 
1327 
1334 MPG123_EXPORT int mpg123_set_filesize(mpg123_handle *mh, off_t size);
1335 
1341 
1347 
1353 
1354 
1357 {
1365 };
1366 
1367 #ifdef MPG123_ENUM_API
1368 
1380 , enum mpg123_state key, long *val, double *fval );
1381 #endif
1382 
1395 , int key, long *val, double *fval );
1396 
1410 typedef struct
1411 {
1412  char* p;
1413  size_t size;
1414  size_t fill;
1415 } mpg123_string;
1416 
1421 
1426 
1433 
1440 
1446 MPG123_EXPORT int mpg123_resize_string(mpg123_string* sb, size_t news);
1447 
1457 MPG123_EXPORT int mpg123_grow_string(mpg123_string* sb, size_t news);
1458 
1466 
1480 
1486 MPG123_EXPORT int mpg123_add_string(mpg123_string* sb, const char* stuff);
1487 
1496 , const char *stuff, size_t from, size_t count );
1497 
1503 MPG123_EXPORT int mpg123_set_string(mpg123_string* sb, const char* stuff);
1504 
1513 , const char *stuff, size_t from, size_t count );
1514 
1523 MPG123_EXPORT size_t mpg123_strlen(mpg123_string *sb, int utf8);
1524 
1530 
1539 
1542 {
1558 };
1559 
1562 {
1568 };
1569 
1570 #ifdef MPG123_ENUM_API
1571 
1579 MPG123_EXPORT enum mpg123_text_encoding mpg123_enc_from_id3(unsigned char id3_enc_byte);
1580 #endif
1581 
1590 MPG123_EXPORT int mpg123_enc_from_id3_2(unsigned char id3_enc_byte);
1591 
1592 #ifdef MPG123_ENUM_API
1593 
1606 MPG123_EXPORT int mpg123_store_utf8(mpg123_string *sb, enum mpg123_text_encoding enc, const unsigned char *source, size_t source_size);
1607 #endif
1608 
1623 , int enc, const unsigned char *source, size_t source_size);
1624 
1631 typedef struct
1632 {
1633  char lang[3];
1634  char id[4];
1637 } mpg123_text;
1638 
1641 {
1663 };
1664 
1669 typedef struct
1670 {
1671  char type;
1674  size_t size;
1675  unsigned char* data;
1676 } mpg123_picture;
1677 
1683 typedef struct
1684 {
1685  unsigned char version;
1692  /* Encountered ID3v2 fields are appended to these lists.
1693  There can be multiple occurences, the pointers above always point to the last encountered data. */
1695  size_t comments;
1697  size_t texts;
1699  size_t extras;
1702  size_t pictures;
1703 } mpg123_id3v2;
1704 
1709 typedef struct
1710 {
1711  char tag[3];
1712  char title[30];
1713  char artist[30];
1714  char album[30];
1715  char year[4];
1716  char comment[30];
1717  unsigned char genre;
1718 } mpg123_id3v1;
1719 
1720 #define MPG123_ID3 0x3
1721 #define MPG123_NEW_ID3 0x1
1722 #define MPG123_ICY 0xc
1723 #define MPG123_NEW_ICY 0x4
1729 MPG123_EXPORT int mpg123_meta_check(mpg123_handle *mh);
1730 
1735 
1741 , mpg123_id3v1 **v1, mpg123_id3v2 **v2 );
1742 
1757 , unsigned char **v1, size_t *v1_size
1758 , unsigned char **v2, size_t *v2_size );
1759 
1765 MPG123_EXPORT int mpg123_icy(mpg123_handle *mh, char **icy_meta);
1766 
1771 MPG123_EXPORT char* mpg123_icy2utf8(const char* icy_text);
1772 
1773 
1793 struct mpg123_pars_struct;
1794 
1796 typedef struct mpg123_pars_struct mpg123_pars;
1797 
1805 , const char* decoder, int *error );
1806 
1812 
1817 
1824 
1831 
1842 , long rate, int channels, int encodings);
1843 
1855 , long rate, int channels, int encodings);
1856 
1864 MPG123_EXPORT int mpg123_fmt_support(mpg123_pars *mp, long rate, int encoding);
1865 
1866 #ifdef MPG123_ENUM_API
1867 
1879 , enum mpg123_parms type, long value, double fvalue );
1880 #endif
1881 
1894 , int type, long value, double fvalue );
1895 
1896 #ifdef MPG123_ENUM_API
1897 
1909 , enum mpg123_parms type, long *value, double *fvalue );
1910 #endif
1911 
1924 , int type, long *value, double *fvalue );
1925 
1949 , void *data, size_t size);
1950 
1957 
1972 , mpg123_ssize_t (*r_read) (int, void *, size_t)
1973 , off_t (*r_lseek)(int, off_t, int)
1974 );
1975 
1991 , mpg123_ssize_t (*r_read) (void *, void *, size_t)
1992 , off_t (*r_lseek)(void *, off_t, int)
1993 , void (*cleanup)(void*) );
1994 
1997 #ifdef __cplusplus
1998 }
1999 #endif
2000 
2001 #endif
MPG123_EXPORT int mpg123_open_handle(mpg123_handle *mh, void *iohandle)
struct mpg123_handle_struct mpg123_handle
Definition: mpg123.h:175
MPG123_EXPORT int mpg123_par(mpg123_pars *mp, enum mpg123_parms type, long value, double fvalue)
MPG123_EXPORT int mpg123_info2(mpg123_handle *mh, struct mpg123_frameinfo2 *mi)
MPG123_EXPORT int mpg123_framebyframe_next(mpg123_handle *mh)
size_t fill
Definition: mpg123.h:1414
MPG123_EXPORT int mpg123_format2(mpg123_handle *mh, long rate, int channels, int encodings)
MPG123_EXPORT mpg123_handle * mpg123_parnew(mpg123_pars *mp, const char *decoder, int *error)
MPG123_EXPORT size_t mpg123_strlen(mpg123_string *sb, int utf8)
MPG123_EXPORT off_t mpg123_length(mpg123_handle *mh)
size_t texts
Definition: mpg123.h:1697
MPG123_EXPORT int mpg123_info(mpg123_handle *mh, struct mpg123_frameinfo *mi)
MPG123_EXPORT off_t mpg123_tell(mpg123_handle *mh)
MPG123_EXPORT void mpg123_encodings(const int **list, size_t *number)
MPG123_EXPORT off_t mpg123_seek(mpg123_handle *mh, off_t sampleoff, int whence)
MPG123_EXPORT int mpg123_move_string(mpg123_string *from, mpg123_string *to)
mpg123_errors
Definition: mpg123.h:461
mpg123_string * comment
Definition: mpg123.h:1691
MPG123_EXPORT int mpg123_par2(mpg123_pars *mp, int type, long value, double fvalue)
MPG123_EXPORT off_t mpg123_seek_frame(mpg123_handle *mh, off_t frameoff, int whence)
MPG123_EXPORT int mpg123_store_utf8_2(mpg123_string *sb, int enc, const unsigned char *source, size_t source_size)
MPG123_EXPORT void mpg123_rates(const long **list, size_t *number)
MPG123_EXPORT size_t mpg123_safe_buffer(void)
MPG123_EXPORT int mpg123_errcode(mpg123_handle *mh)
MPG123_EXPORT int mpg123_getstate2(mpg123_handle *mh, int key, long *val, double *fval)
MPG123_EXPORT int mpg123_eq2(mpg123_handle *mh, int channel, int band, double val)
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))
unsigned char genre
Definition: mpg123.h:1717
MPG123_EXPORT int mpg123_framebyframe_decode(mpg123_handle *mh, off_t *num, unsigned char **audio, size_t *bytes)
MPG123_EXPORT void mpg123_exit(void)
MPG123_EXPORT int mpg123_add_string(mpg123_string *sb, const char *stuff)
MPG123_EXPORT int mpg123_spf(mpg123_handle *mh)
MPG123_EXPORT off_t mpg123_framepos(mpg123_handle *mh)
MPG123_EXPORT int mpg123_getpar2(mpg123_pars *mp, int type, long *value, double *fvalue)
MPG123_EXPORT size_t mpg123_outblock(mpg123_handle *mh)
MPG123_EXPORT int mpg123_getparam(mpg123_handle *mh, enum mpg123_parms type, long *value, double *fvalue)
mpg123_text_encoding
Definition: mpg123.h:1541
enum mpg123_flags flags
Definition: mpg123.h:1209
mpg123_picture * picture
Definition: mpg123.h:1700
size_t size
Definition: mpg123.h:1413
MPG123_EXPORT int mpg123_param2(mpg123_handle *mh, int type, long value, double fvalue)
MPG123_EXPORT int mpg123_chomp_string(mpg123_string *sb)
MPG123_EXPORT int mpg123_id3(mpg123_handle *mh, mpg123_id3v1 **v1, mpg123_id3v2 **v2)
size_t extras
Definition: mpg123.h:1699
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_fmt2(mpg123_pars *mp, long rate, int channels, int encodings)
mpg123_id3_enc
Definition: mpg123.h:1561
mpg123_string * artist
Definition: mpg123.h:1687
MPG123_EXPORT int mpg123_set_index(mpg123_handle *mh, off_t *offsets, off_t step, size_t fill)
MPG123_EXPORT void mpg123_delete_pars(mpg123_pars *mp)
mpg123_string * genre
Definition: mpg123.h:1690
ssize_t mpg123_ssize_t
Definition: mpg123.h:87
MPG123_EXPORT int mpg123_framedata(mpg123_handle *mh, unsigned long *header, unsigned char **bodydata, size_t *bodybytes)
MPG123_EXPORT void mpg123_init_string(mpg123_string *sb)
MPG123_EXPORT off_t mpg123_timeframe(mpg123_handle *mh, double sec)
MPG123_EXPORT const char * mpg123_strerror(mpg123_handle *mh)
size_t comments
Definition: mpg123.h:1695
MPG123_EXPORT int mpg123_close(mpg123_handle *mh)
struct mpg123_pars_struct mpg123_pars
Definition: mpg123.h:1796
MPG123_EXPORT int mpg123_enc_from_id3_2(unsigned char id3_enc_byte)
MPG123_EXPORT int mpg123_decode(mpg123_handle *mh, const unsigned char *inmemory, size_t inmemsize, void *outmemory, size_t outmemsize, size_t *done)
mpg123_string text
Definition: mpg123.h:1636
MPG123_EXPORT int mpg123_feed(mpg123_handle *mh, const unsigned char *in, size_t size)
MPG123_EXPORT int mpg123_replace_buffer(mpg123_handle *mh, void *data, size_t size)
MPG123_EXPORT const char * mpg123_plain_strerror(int errcode)
MPG123_EXPORT int mpg123_fmt(mpg123_pars *mp, long rate, int channels, int encodings)
MPG123_EXPORT const char * mpg123_current_decoder(mpg123_handle *mh)
MPG123_EXPORT char * mpg123_icy2utf8(const char *icy_text)
MPG123_EXPORT int mpg123_index(mpg123_handle *mh, off_t **offsets, off_t *step, size_t *fill)
mpg123_text * extra
Definition: mpg123.h:1698
MPG123_EXPORT int mpg123_resize_string(mpg123_string *sb, size_t news)
MPG123_EXPORT int mpg123_open_fixed(mpg123_handle *mh, const char *path, int channels, int encoding)
mpg123_state
Definition: mpg123.h:1356
MPG123_EXPORT int mpg123_fmt_support(mpg123_pars *mp, long rate, int encoding)
MPG123_EXPORT const char ** mpg123_decoders(void)
MPG123_EXPORT int mpg123_init(void)
MPG123_EXPORT off_t mpg123_tellframe(mpg123_handle *mh)
MPG123_EXPORT int mpg123_getparam2(mpg123_handle *mh, int type, long *value, double *fvalue)
MPG123_EXPORT int mpg123_feature2(int key)
unsigned char * data
Definition: mpg123.h:1675
char * p
Definition: mpg123.h:1412
MPG123_EXPORT mpg123_pars * mpg123_new_pars(int *error)
MPG123_EXPORT enum mpg123_text_encoding mpg123_enc_from_id3(unsigned char id3_enc_byte)
MPG123_EXPORT int mpg123_volume(mpg123_handle *mh, double vol)
mpg123_param_rva
Definition: mpg123.h:313
MPG123_EXPORT int mpg123_getformat2(mpg123_handle *mh, long *rate, int *channels, int *encoding, int clear_flag)
mpg123_parms
Definition: mpg123.h:222
mpg123_id3_pic_type
Definition: mpg123.h:1640
enum mpg123_version version
Definition: mpg123.h:1203
mpg123_text * text
Definition: mpg123.h:1696
MPG123_EXPORT int mpg123_store_utf8(mpg123_string *sb, enum mpg123_text_encoding enc, const unsigned char *source, size_t source_size)
MPG123_EXPORT int mpg123_add_substring(mpg123_string *sb, const char *stuff, size_t from, size_t count)
MPG123_EXPORT int mpg123_format(mpg123_handle *mh, long rate, int channels, int encodings)
MPG123_EXPORT double mpg123_geteq(mpg123_handle *mh, enum mpg123_channels channel, int band)
MPG123_EXPORT int mpg123_open_feed(mpg123_handle *mh)
mpg123_string * album
Definition: mpg123.h:1688
size_t pictures
Definition: mpg123.h:1702
mpg123_string mime_type
Definition: mpg123.h:1673
MPG123_EXPORT void mpg123_delete(mpg123_handle *mh)
MPG123_EXPORT int mpg123_grow_string(mpg123_string *sb, size_t news)
MPG123_EXPORT int mpg123_volume_change(mpg123_handle *mh, double change)
mpg123_mode
Definition: mpg123.h:1183
mpg123_channelcount
Definition: mpg123.h:604
MPG123_EXPORT int mpg123_param(mpg123_handle *mh, enum mpg123_parms type, long value, double fvalue)
mpg123_text * comment_list
Definition: mpg123.h:1694
MPG123_EXPORT int mpg123_read(mpg123_handle *mh, void *outmemory, size_t outmemsize, size_t *done)
mpg123_string description
Definition: mpg123.h:1635
MPG123_EXPORT void mpg123_free_string(mpg123_string *sb)
MPG123_EXPORT int mpg123_format_none(mpg123_handle *mh)
MPG123_EXPORT void mpg123_free(void *ptr)
MPG123_EXPORT int mpg123_position(mpg123_handle *mh, off_t 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_tell_stream(mpg123_handle *mh)
MPG123_EXPORT const char ** mpg123_supported_decoders(void)
MPG123_EXPORT int mpg123_set_substring(mpg123_string *sb, const char *stuff, size_t from, size_t count)
MPG123_EXPORT int mpg123_set_moreinfo(mpg123_handle *mh, struct mpg123_moreinfo *mi)
MPG123_EXPORT int mpg123_same_string(mpg123_string *a, mpg123_string *b)
void cleanup(mpg123_handle *mh, out123_handle *ao)
MPG123_EXPORT int mpg123_fmt_none(mpg123_pars *mp)
MPG123_EXPORT int mpg123_open_fd(mpg123_handle *mh, int fd)
MPG123_EXPORT int mpg123_set_string(mpg123_string *sb, const char *stuff)
MPG123_EXPORT double mpg123_geteq2(mpg123_handle *mh, int channel, int band)
MPG123_EXPORT int mpg123_getpar(mpg123_pars *mp, enum mpg123_parms type, long *value, double *fvalue)
#define MPG123_EXPORT
Definition: mpg123.h:41
mpg123_string * year
Definition: mpg123.h:1689
MPG123_EXPORT double mpg123_tpf(mpg123_handle *mh)
MPG123_EXPORT int mpg123_getvolume(mpg123_handle *mh, double *base, double *really, double *rva_db)
MPG123_EXPORT mpg123_handle * mpg123_new(const char *decoder, int *error)
MPG123_EXPORT int mpg123_decoder(mpg123_handle *mh, const char *decoder_name)
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_flags
Definition: mpg123.h:1192
MPG123_EXPORT int mpg123_format_all(mpg123_handle *mh)
MPG123_EXPORT int mpg123_getstate(mpg123_handle *mh, enum mpg123_state key, long *val, double *fval)
MPG123_EXPORT int mpg123_reset_eq(mpg123_handle *mh)
mpg123_param_flags
Definition: mpg123.h:252
MPG123_EXPORT long mpg123_clip(mpg123_handle *mh)
MPG123_EXPORT int mpg123_scan(mpg123_handle *mh)
MPG123_EXPORT int mpg123_open(mpg123_handle *mh, const char *path)
MPG123_EXPORT int mpg123_copy_string(mpg123_string *from, mpg123_string *to)
MPG123_EXPORT int mpg123_decode_frame(mpg123_handle *mh, off_t *num, unsigned char **audio, size_t *bytes)
MPG123_EXPORT int mpg123_format_support(mpg123_handle *mh, long rate, int encoding)
MPG123_EXPORT int mpg123_fmt_all(mpg123_pars *mp)
MPG123_EXPORT int mpg123_icy(mpg123_handle *mh, char **icy_meta)
MPG123_EXPORT int mpg123_encsize(int encoding)
MPG123_EXPORT off_t mpg123_framelength(mpg123_handle *mh)
enum mpg123_mode mode
Definition: mpg123.h:1206
size_t size
Definition: mpg123.h:1674
MPG123_EXPORT int mpg123_eq(mpg123_handle *mh, enum mpg123_channels channel, int band, double val)
MPG123_EXPORT int mpg123_set_filesize(mpg123_handle *mh, off_t size)
MPG123_EXPORT int mpg123_getformat(mpg123_handle *mh, long *rate, int *channels, int *encoding)
MPG123_EXPORT mpg123_string * mpg123_new_string(const char *val)
MPG123_EXPORT void mpg123_meta_free(mpg123_handle *mh)
mpg123_string description
Definition: mpg123.h:1672
enum mpg123_vbr vbr
Definition: mpg123.h:1213
MPG123_EXPORT int mpg123_feature(const enum mpg123_feature_set key)
mpg123_string * title
Definition: mpg123.h:1686
mpg123_feature_set
Definition: mpg123.h:382
MPG123_EXPORT off_t mpg123_feedseek(mpg123_handle *mh, off_t sampleoff, int whence, off_t *input_offset)
mpg123_version
Definition: mpg123.h:1174
mpg123_vbr
Definition: mpg123.h:1167
unsigned char version
Definition: mpg123.h:1685
MPG123_EXPORT void mpg123_delete_string(mpg123_string *sb)
mpg123_channels
Definition: mpg123.h:1057
Hopefully valid HTML! Valid CSS!