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 
1105 , int channel, int a, int b, double factor );
1106 
1116 , int channel, int a, int b, double db );
1117 
1118 #ifdef MPG123_ENUM_API
1119 
1130  , enum mpg123_channels channel, int band);
1131 #endif
1132 
1143 MPG123_EXPORT double mpg123_geteq2(mpg123_handle *mh, int channel, int band);
1144 
1150 
1157 MPG123_EXPORT int mpg123_volume(mpg123_handle *mh, double vol);
1158 
1164 MPG123_EXPORT int mpg123_volume_change(mpg123_handle *mh, double change);
1165 
1172 
1183 MPG123_EXPORT int mpg123_getvolume(mpg123_handle *mh, double *base, double *really, double *rva_db);
1184 
1185 /* TODO: Set some preamp in addition / to replace internal RVA handling? */
1186 
1200 };
1201 
1207 };
1208 
1209 
1217 };
1218 
1219 
1226 };
1227 
1228 #ifdef MPG123_ENUM_API
1229 
1231 {
1233  int layer;
1234  long rate;
1236  int mode_ext;
1239  int emphasis;
1240  int bitrate;
1241  int abr_rate;
1243 };
1244 #endif
1245 
1248 {
1249  int version;
1250  int layer;
1251  long rate;
1252  int mode;
1253  int mode_ext;
1255  int flags;
1256  int emphasis;
1257  int bitrate;
1258  int abr_rate;
1259  int vbr;
1260 };
1261 
1268 {
1269  double xr[2][2][576];
1270  double sfb[2][2][22];
1271  double sfb_s[2][2][3*13];
1272  int qss[2][2];
1273  int big_values[2][2];
1274  int sub_gain[2][2][3];
1275  int scalefac_scale[2][2];
1276  int preflag[2][2];
1277  int blocktype[2][2];
1278  int mixed[2][2];
1279  int mainbits[2][2];
1280  int sfbits[2][2];
1281  int scfsi[2];
1282  int maindata;
1283  int padding;
1284 };
1285 
1286 #ifdef MPG123_ENUM_API
1287 
1298 #endif
1299 
1311 
1319 , struct mpg123_moreinfo *mi );
1320 
1325 MPG123_EXPORT size_t mpg123_safe_buffer(void);
1326 
1335 
1342 
1356 
1363 MPG123_EXPORT int mpg123_set_filesize(mpg123_handle *mh, off_t size);
1364 
1370 
1376 
1382 
1383 
1386 {
1394 };
1395 
1396 #ifdef MPG123_ENUM_API
1397 
1409 , enum mpg123_state key, long *val, double *fval );
1410 #endif
1411 
1424 , int key, long *val, double *fval );
1425 
1439 typedef struct
1440 {
1441  char* p;
1442  size_t size;
1443  size_t fill;
1444 } mpg123_string;
1445 
1450 
1455 
1462 
1469 
1475 MPG123_EXPORT int mpg123_resize_string(mpg123_string* sb, size_t news);
1476 
1486 MPG123_EXPORT int mpg123_grow_string(mpg123_string* sb, size_t news);
1487 
1495 
1509 
1515 MPG123_EXPORT int mpg123_add_string(mpg123_string* sb, const char* stuff);
1516 
1525 , const char *stuff, size_t from, size_t count );
1526 
1532 MPG123_EXPORT int mpg123_set_string(mpg123_string* sb, const char* stuff);
1533 
1542 , const char *stuff, size_t from, size_t count );
1543 
1552 MPG123_EXPORT size_t mpg123_strlen(mpg123_string *sb, int utf8);
1553 
1559 
1568 
1571 {
1587 };
1588 
1591 {
1597 };
1598 
1599 #ifdef MPG123_ENUM_API
1600 
1608 MPG123_EXPORT enum mpg123_text_encoding mpg123_enc_from_id3(unsigned char id3_enc_byte);
1609 #endif
1610 
1619 MPG123_EXPORT int mpg123_enc_from_id3_2(unsigned char id3_enc_byte);
1620 
1621 #ifdef MPG123_ENUM_API
1622 
1635 MPG123_EXPORT int mpg123_store_utf8(mpg123_string *sb, enum mpg123_text_encoding enc, const unsigned char *source, size_t source_size);
1636 #endif
1637 
1652 , int enc, const unsigned char *source, size_t source_size);
1653 
1660 typedef struct
1661 {
1662  char lang[3];
1663  char id[4];
1666 } mpg123_text;
1667 
1670 {
1692 };
1693 
1698 typedef struct
1699 {
1700  char type;
1703  size_t size;
1704  unsigned char* data;
1705 } mpg123_picture;
1706 
1712 typedef struct
1713 {
1714  unsigned char version;
1721  /* Encountered ID3v2 fields are appended to these lists.
1722  There can be multiple occurences, the pointers above always point to the last encountered data. */
1724  size_t comments;
1726  size_t texts;
1728  size_t extras;
1731  size_t pictures;
1732 } mpg123_id3v2;
1733 
1738 typedef struct
1739 {
1740  char tag[3];
1741  char title[30];
1742  char artist[30];
1743  char album[30];
1744  char year[4];
1745  char comment[30];
1746  unsigned char genre;
1747 } mpg123_id3v1;
1748 
1749 #define MPG123_ID3 0x3
1750 #define MPG123_NEW_ID3 0x1
1751 #define MPG123_ICY 0xc
1752 #define MPG123_NEW_ICY 0x4
1758 MPG123_EXPORT int mpg123_meta_check(mpg123_handle *mh);
1759 
1764 
1770 , mpg123_id3v1 **v1, mpg123_id3v2 **v2 );
1771 
1786 , unsigned char **v1, size_t *v1_size
1787 , unsigned char **v2, size_t *v2_size );
1788 
1794 MPG123_EXPORT int mpg123_icy(mpg123_handle *mh, char **icy_meta);
1795 
1800 MPG123_EXPORT char* mpg123_icy2utf8(const char* icy_text);
1801 
1802 
1822 struct mpg123_pars_struct;
1823 
1825 typedef struct mpg123_pars_struct mpg123_pars;
1826 
1834 , const char* decoder, int *error );
1835 
1841 
1846 
1853 
1860 
1871 , long rate, int channels, int encodings);
1872 
1884 , long rate, int channels, int encodings);
1885 
1893 MPG123_EXPORT int mpg123_fmt_support(mpg123_pars *mp, long rate, int encoding);
1894 
1895 #ifdef MPG123_ENUM_API
1896 
1908 , enum mpg123_parms type, long value, double fvalue );
1909 #endif
1910 
1923 , int type, long value, double fvalue );
1924 
1925 #ifdef MPG123_ENUM_API
1926 
1938 , enum mpg123_parms type, long *value, double *fvalue );
1939 #endif
1940 
1953 , int type, long *value, double *fvalue );
1954 
1978 , void *data, size_t size);
1979 
1986 
2001 , mpg123_ssize_t (*r_read) (int, void *, size_t)
2002 , off_t (*r_lseek)(int, off_t, int)
2003 );
2004 
2020 , mpg123_ssize_t (*r_read) (void *, void *, size_t)
2021 , off_t (*r_lseek)(void *, off_t, int)
2022 , void (*cleanup)(void*) );
2023 
2026 #ifdef __cplusplus
2027 }
2028 #endif
2029 
2030 #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:1443
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:1726
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:1720
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:1746
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:1570
enum mpg123_flags flags
Definition: mpg123.h:1238
mpg123_picture * picture
Definition: mpg123.h:1729
size_t size
Definition: mpg123.h:1442
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:1728
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_eq_bands(mpg123_handle *mh, int channel, int a, int b, double factor)
MPG123_EXPORT int mpg123_fmt2(mpg123_pars *mp, long rate, int channels, int encodings)
mpg123_id3_enc
Definition: mpg123.h:1590
mpg123_string * artist
Definition: mpg123.h:1716
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:1719
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 int mpg123_volume_change_db(mpg123_handle *mh, double db)
MPG123_EXPORT const char * mpg123_strerror(mpg123_handle *mh)
size_t comments
Definition: mpg123.h:1724
MPG123_EXPORT int mpg123_close(mpg123_handle *mh)
struct mpg123_pars_struct mpg123_pars
Definition: mpg123.h:1825
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:1665
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:1727
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:1385
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:1704
char * p
Definition: mpg123.h:1441
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:1669
enum mpg123_version version
Definition: mpg123.h:1232
mpg123_text * text
Definition: mpg123.h:1725
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:1717
size_t pictures
Definition: mpg123.h:1731
mpg123_string mime_type
Definition: mpg123.h:1702
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:1212
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:1723
MPG123_EXPORT int mpg123_read(mpg123_handle *mh, void *outmemory, size_t outmemsize, size_t *done)
mpg123_string description
Definition: mpg123.h:1664
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_eq_change(mpg123_handle *mh, int channel, int a, int b, double db)
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:1718
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:1221
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:1235
size_t size
Definition: mpg123.h:1703
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:1701
enum mpg123_vbr vbr
Definition: mpg123.h:1242
MPG123_EXPORT int mpg123_feature(const enum mpg123_feature_set key)
mpg123_string * title
Definition: mpg123.h:1715
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:1203
mpg123_vbr
Definition: mpg123.h:1196
unsigned char version
Definition: mpg123.h:1714
MPG123_EXPORT void mpg123_delete_string(mpg123_string *sb)
mpg123_channels
Definition: mpg123.h:1057
Hopefully valid HTML! Valid CSS!