You could access this page securely.

API documentation for libmpg123 and libout123

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, and the overall NEWS file on libmpg123 versions and important changes between them.
Let me emphasize that the policy for libmpg123 and libout123 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 #define MPG123_API_VERSION 45
21 
22 #ifndef MPG123_EXPORT
23 
30 #ifdef BUILD_MPG123_DLL
31 /* The dll exports. */
32 #define MPG123_EXPORT __declspec(dllexport)
33 #else
34 #ifdef LINK_MPG123_DLL
35 /* The exe imports. */
36 #define MPG123_EXPORT __declspec(dllimport)
37 #else
38 /* Nothing on normal/UNIX builds */
39 #define MPG123_EXPORT
40 #endif
41 #endif
42 #endif
43 
44 /* This is for Visual Studio, so this header works as distributed in the binary downloads */
45 #if defined(_MSC_VER) && !defined(MPG123_DEF_SSIZE_T)
46 #define MPG123_DEF_SSIZE_T
47 #include <stddef.h>
48 typedef ptrdiff_t ssize_t;
49 #endif
50 
51 #ifndef MPG123_NO_CONFIGURE /* Enable use of this file without configure. */
52 #include <stdlib.h>
53 #include <sys/types.h>
54 
55 /* Simplified large file handling.
56  I used to have a check here that prevents building for a library with conflicting large file setup
57  (application that uses 32 bit offsets with library that uses 64 bits).
58  While that was perfectly fine in an environment where there is one incarnation of the library,
59  it hurt GNU/Linux and Solaris systems with multilib where the distribution fails to provide the
60  correct header matching the 32 bit library (where large files need explicit support) or
61  the 64 bit library (where there is no distinction).
62 
63  New approach: When the app defines _FILE_OFFSET_BITS, it wants non-default large file support,
64  and thus functions with added suffix (mpg123_open_64).
65  Any mismatch will be caught at link time because of the _FILE_OFFSET_BITS setting used when
66  building libmpg123. Plus, there's dual mode large file support in mpg123 since 1.12 now.
67  Link failure is not the expected outcome of any half-sane usage anymore.
68 
69  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.
70 */
71 
72 /*
73  Now, the renaming of large file aware functions.
74  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.
75 */
76 #if (!defined MPG123_NO_LARGENAME) && ((defined _FILE_OFFSET_BITS) || (defined MPG123_LARGESUFFIX))
77 
78 /* Need some trickery to concatenate the value(s) of the given macro(s). */
79 #define MPG123_MACROCAT_REALLY(a, b) a ## b
80 #define MPG123_MACROCAT(a, b) MPG123_MACROCAT_REALLY(a, b)
81 #ifndef MPG123_LARGESUFFIX
82 #define MPG123_LARGESUFFIX MPG123_MACROCAT(_, _FILE_OFFSET_BITS)
83 #endif
84 #define MPG123_LARGENAME(func) MPG123_MACROCAT(func, MPG123_LARGESUFFIX)
85 
86 #define mpg123_open MPG123_LARGENAME(mpg123_open)
87 #define mpg123_open_fd MPG123_LARGENAME(mpg123_open_fd)
88 #define mpg123_open_handle MPG123_LARGENAME(mpg123_open_handle)
89 #define mpg123_framebyframe_decode MPG123_LARGENAME(mpg123_framebyframe_decode)
90 #define mpg123_decode_frame MPG123_LARGENAME(mpg123_decode_frame)
91 #define mpg123_tell MPG123_LARGENAME(mpg123_tell)
92 #define mpg123_tellframe MPG123_LARGENAME(mpg123_tellframe)
93 #define mpg123_tell_stream MPG123_LARGENAME(mpg123_tell_stream)
94 #define mpg123_seek MPG123_LARGENAME(mpg123_seek)
95 #define mpg123_feedseek MPG123_LARGENAME(mpg123_feedseek)
96 #define mpg123_seek_frame MPG123_LARGENAME(mpg123_seek_frame)
97 #define mpg123_timeframe MPG123_LARGENAME(mpg123_timeframe)
98 #define mpg123_index MPG123_LARGENAME(mpg123_index)
99 #define mpg123_set_index MPG123_LARGENAME(mpg123_set_index)
100 #define mpg123_position MPG123_LARGENAME(mpg123_position)
101 #define mpg123_length MPG123_LARGENAME(mpg123_length)
102 #define mpg123_framelength MPG123_LARGENAME(mpg123_framelength)
103 #define mpg123_set_filesize MPG123_LARGENAME(mpg123_set_filesize)
104 #define mpg123_replace_reader MPG123_LARGENAME(mpg123_replace_reader)
105 #define mpg123_replace_reader_handle MPG123_LARGENAME(mpg123_replace_reader_handle)
106 #define mpg123_framepos MPG123_LARGENAME(mpg123_framepos)
107 
108 #endif /* largefile hackery */
109 
110 #endif /* MPG123_NO_CONFIGURE */
111 
112 #ifdef __cplusplus
113 extern "C" {
114 #endif
115 
126 struct mpg123_handle_struct;
127 
131 typedef struct mpg123_handle_struct mpg123_handle;
132 
140 MPG123_EXPORT int mpg123_init(void);
141 
147 MPG123_EXPORT void mpg123_exit(void);
148 
157 MPG123_EXPORT mpg123_handle *mpg123_new(const char* decoder, int *error);
158 
163 
169 MPG123_EXPORT void mpg123_free(void *ptr);
170 
173 {
199 };
200 
203 {
210  ,MPG123_QUIET = 0x20
211  ,MPG123_GAPLESS = 0x40
214  ,MPG123_FUZZY = 0x200
218  ,MPG123_SKIP_ID3V2 = 0x2000
221  ,MPG123_PICTURE = 0x10000
222  ,MPG123_NO_PEEK_END = 0x20000
230  ,MPG123_FORCE_ENDIAN = 0x100000
236  ,MPG123_BIG_ENDIAN = 0x200000
237  ,MPG123_NO_READAHEAD = 0x400000
244 };
245 
248 {
253 };
254 
264 , enum mpg123_parms type, long value, double fvalue );
265 
275 , enum mpg123_parms type, long *value, double *fvalue );
276 
279 {
296 };
297 
303 
304 /* @} */
305 
306 
340 {
389 };
390 
395 MPG123_EXPORT const char* mpg123_plain_strerror(int errcode);
396 
405 
411 
426 MPG123_EXPORT const char **mpg123_decoders(void);
427 
431 MPG123_EXPORT const char **mpg123_supported_decoders(void);
432 
438 MPG123_EXPORT int mpg123_decoder(mpg123_handle *mh, const char* decoder_name);
439 
450 
473 {
476 };
477 
483 MPG123_EXPORT void mpg123_rates(const long **list, size_t *number);
484 
489 MPG123_EXPORT void mpg123_encodings(const int **list, size_t *number);
490 
494 MPG123_EXPORT int mpg123_encsize(int encoding);
495 
502 
509 
517 , long rate, int channels, int encodings );
518 
530 , long rate, int channels, int encodings );
531 
540 , long rate, int encoding );
541 
554 , long *rate, int *channels, int *encoding );
555 
568 , long *rate, int *channels, int *encoding, int clear_flag );
569 
580 /* reading samples / triggering decoding, possible return values: */
590 MPG123_EXPORT int mpg123_open(mpg123_handle *mh, const char *path);
591 
599 
607 MPG123_EXPORT int mpg123_open_handle(mpg123_handle *mh, void *iohandle);
608 
617 
623 
632 , unsigned char *outmemory, size_t outmemsize, size_t *done );
633 
642 , const unsigned char *in, size_t size );
643 
660 , const unsigned char *inmemory, size_t inmemsize
661 , unsigned char *outmemory, size_t outmemsize, size_t *done );
662 
672 , off_t *num, unsigned char **audio, size_t *bytes );
673 
684 , off_t *num, unsigned char **audio, size_t *bytes );
685 
693 
710 , unsigned long *header, unsigned char **bodydata, size_t *bodybytes );
711 
720 
750 
756 
762 
771 , off_t sampleoff, int whence );
772 
782 , off_t sampleoff, int whence, off_t *input_offset );
783 
791 , off_t frameoff, int whence );
792 
796 MPG123_EXPORT off_t mpg123_timeframe(mpg123_handle *mh, double sec);
797 
808 , off_t **offsets, off_t *step, size_t *fill );
809 
820 , off_t *offsets, off_t step, size_t fill );
821 
829 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);
830 
841 {
844  ,MPG123_LR=0x3
845 };
846 
855 , enum mpg123_channels channel, int band, double val );
856 
863  , enum mpg123_channels channel, int band);
864 
870 
877 MPG123_EXPORT int mpg123_volume(mpg123_handle *mh, double vol);
878 
884 MPG123_EXPORT int mpg123_volume_change(mpg123_handle *mh, double change);
885 
896 MPG123_EXPORT int mpg123_getvolume(mpg123_handle *mh, double *base, double *really, double *rva_db);
897 
898 /* TODO: Set some preamp in addition / to replace internal RVA handling? */
899 
913 };
914 
920 };
921 
922 
930 };
931 
932 
939 };
940 
943 {
945  int layer;
946  long rate;
948  int mode_ext;
949  int framesize;
951  int emphasis;
952  int bitrate;
953  int abr_rate;
955 };
956 
963 {
964  double xr[2][2][576];
965  double sfb[2][2][22]; /* [2][2][SBMAX_l] */
966  double sfb_s[2][2][3*13]; /* [2][2][3*SBMAX_s] */
967  int qss[2][2];
968  int big_values[2][2];
969  int sub_gain[2][2][3];
970  int scalefac_scale[2][2];
971  int preflag[2][2];
972  int blocktype[2][2];
973  int mixed[2][2];
974  int mainbits[2][2];
975  int sfbits[2][2];
976  int scfsi[2];
977  int maindata;
978  int padding;
979 };
980 
987 
995 , struct mpg123_moreinfo *mi );
996 
1001 MPG123_EXPORT size_t mpg123_safe_buffer(void);
1002 
1011 
1017 
1023 
1030 MPG123_EXPORT int mpg123_set_filesize(mpg123_handle *mh, off_t size);
1031 
1037 
1043 
1049 
1050 
1053 {
1061 };
1062 
1071 , enum mpg123_state key, long *val, double *fval );
1072 
1086 typedef struct
1087 {
1088  char* p;
1089  size_t size;
1090  size_t fill;
1091 } mpg123_string;
1092 
1097 
1102 
1107 
1112 
1118 MPG123_EXPORT int mpg123_resize_string(mpg123_string* sb, size_t news);
1119 
1129 MPG123_EXPORT int mpg123_grow_string(mpg123_string* sb, size_t news);
1130 
1138 
1144 MPG123_EXPORT int mpg123_add_string(mpg123_string* sb, const char* stuff);
1145 
1154 , const char *stuff, size_t from, size_t count );
1155 
1161 MPG123_EXPORT int mpg123_set_string(mpg123_string* sb, const char* stuff);
1162 
1171 , const char *stuff, size_t from, size_t count );
1172 
1181 MPG123_EXPORT size_t mpg123_strlen(mpg123_string *sb, int utf8);
1182 
1188 
1191 {
1207 };
1208 
1211 {
1217 };
1218 
1224 MPG123_EXPORT enum mpg123_text_encoding mpg123_enc_from_id3(unsigned char id3_enc_byte);
1225 
1235 MPG123_EXPORT int mpg123_store_utf8(mpg123_string *sb, enum mpg123_text_encoding enc, const unsigned char *source, size_t source_size);
1236 
1241 typedef struct
1242 {
1243  char lang[3];
1244  char id[4];
1247 } mpg123_text;
1248 
1251 {
1273 };
1274 
1279 typedef struct
1280 {
1281  char type;
1284  size_t size;
1285  unsigned char* data;
1286 } mpg123_picture;
1287 
1293 typedef struct
1294 {
1295  unsigned char version;
1302  /* Encountered ID3v2 fields are appended to these lists.
1303  There can be multiple occurences, the pointers above always point to the last encountered data. */
1305  size_t comments;
1307  size_t texts;
1309  size_t extras;
1312  size_t pictures;
1313 } mpg123_id3v2;
1314 
1319 typedef struct
1320 {
1321  char tag[3];
1322  char title[30];
1323  char artist[30];
1324  char album[30];
1325  char year[4];
1326  char comment[30];
1327  unsigned char genre;
1328 } mpg123_id3v1;
1329 
1330 #define MPG123_ID3 0x3
1331 #define MPG123_NEW_ID3 0x1
1332 #define MPG123_ICY 0xc
1333 #define MPG123_NEW_ICY 0x4
1339 MPG123_EXPORT int mpg123_meta_check(mpg123_handle *mh);
1340 
1345 
1351 , mpg123_id3v1 **v1, mpg123_id3v2 **v2 );
1352 
1365 , unsigned char **v1, size_t *v1_size
1366 , unsigned char **v2, size_t *v2_size );
1367 
1373 MPG123_EXPORT int mpg123_icy(mpg123_handle *mh, char **icy_meta);
1374 
1379 MPG123_EXPORT char* mpg123_icy2utf8(const char* icy_text);
1380 
1381 
1382 /* @} */
1383 
1384 
1401 struct mpg123_pars_struct;
1402 
1404 typedef struct mpg123_pars_struct mpg123_pars;
1405 
1413 , const char* decoder, int *error );
1414 
1420 
1425 
1432 
1439 
1450 , long rate, int channels, int encodings);
1451 
1463 , long rate, int channels, int encodings);
1464 
1472 MPG123_EXPORT int mpg123_fmt_support(mpg123_pars *mp, long rate, int encoding);
1473 
1483 , enum mpg123_parms type, long value, double fvalue );
1484 
1494 , enum mpg123_parms type, long *value, double *fvalue);
1495 
1496 /* @} */
1497 
1498 
1515 , unsigned char *data, size_t size);
1516 
1523 
1538 , ssize_t (*r_read) (int, void *, size_t)
1539 , off_t (*r_lseek)(int, off_t, int)
1540 );
1541 
1557 , ssize_t (*r_read) (void *, void *, size_t)
1558 , off_t (*r_lseek)(void *, off_t, int)
1559 , void (*cleanup)(void*) );
1560 
1561 /* @} */
1562 
1563 #ifdef __cplusplus
1564 }
1565 #endif
1566 
1567 #endif
MPG123_EXPORT int mpg123_replace_buffer(mpg123_handle *mh, unsigned char *data, size_t size)
MPG123_EXPORT int mpg123_open_handle(mpg123_handle *mh, void *iohandle)
struct mpg123_handle_struct mpg123_handle
Definition: mpg123.h:131
MPG123_EXPORT int mpg123_par(mpg123_pars *mp, enum mpg123_parms type, long value, double fvalue)
MPG123_EXPORT int mpg123_framebyframe_next(mpg123_handle *mh)
size_t fill
Definition: mpg123.h:1090
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 int mpg123_read(mpg123_handle *mh, unsigned char *outmemory, size_t outmemsize, size_t *done)
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:1307
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_errors
Definition: mpg123.h:339
mpg123_string * comment
Definition: mpg123.h:1301
MPG123_EXPORT off_t mpg123_seek_frame(mpg123_handle *mh, off_t frameoff, int whence)
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)
unsigned char genre
Definition: mpg123.h:1327
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 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:1190
enum mpg123_flags flags
Definition: mpg123.h:950
mpg123_picture * picture
Definition: mpg123.h:1310
size_t size
Definition: mpg123.h:1089
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:1309
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:1210
mpg123_string * artist
Definition: mpg123.h:1297
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:1300
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:1305
MPG123_EXPORT int mpg123_close(mpg123_handle *mh)
struct mpg123_pars_struct mpg123_pars
Definition: mpg123.h:1404
mpg123_string text
Definition: mpg123.h:1246
MPG123_EXPORT int mpg123_feed(mpg123_handle *mh, const unsigned char *in, 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:1308
MPG123_EXPORT int mpg123_resize_string(mpg123_string *sb, size_t news)
mpg123_state
Definition: mpg123.h:1052
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)
unsigned char * data
Definition: mpg123.h:1285
char * p
Definition: mpg123.h:1088
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:247
MPG123_EXPORT int mpg123_getformat2(mpg123_handle *mh, long *rate, int *channels, int *encoding, int clear_flag)
mpg123_parms
Definition: mpg123.h:172
mpg123_id3_pic_type
Definition: mpg123.h:1250
enum mpg123_version version
Definition: mpg123.h:944
mpg123_text * text
Definition: mpg123.h:1306
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:1298
size_t pictures
Definition: mpg123.h:1312
mpg123_string mime_type
Definition: mpg123.h:1283
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:925
mpg123_channelcount
Definition: mpg123.h:472
MPG123_EXPORT int mpg123_param(mpg123_handle *mh, enum mpg123_parms type, long value, double fvalue)
mpg123_text * comment_list
Definition: mpg123.h:1304
mpg123_string description
Definition: mpg123.h:1245
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_replace_reader_handle(mpg123_handle *mh, ssize_t(*r_read)(void *, void *, size_t), off_t(*r_lseek)(void *, off_t, int), void(*cleanup)(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_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 int mpg123_getpar(mpg123_pars *mp, enum mpg123_parms type, long *value, double *fvalue)
#define MPG123_EXPORT
Definition: mpg123.h:39
mpg123_string * year
Definition: mpg123.h:1299
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_flags
Definition: mpg123.h:934
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:202
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:947
MPG123_EXPORT int mpg123_replace_reader(mpg123_handle *mh, ssize_t(*r_read)(int, void *, size_t), off_t(*r_lseek)(int, off_t, int))
size_t size
Definition: mpg123.h:1284
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_EXPORT int mpg123_decode(mpg123_handle *mh, const unsigned char *inmemory, size_t inmemsize, unsigned char *outmemory, size_t outmemsize, size_t *done)
mpg123_string description
Definition: mpg123.h:1282
enum mpg123_vbr vbr
Definition: mpg123.h:954
MPG123_EXPORT int mpg123_feature(const enum mpg123_feature_set key)
mpg123_string * title
Definition: mpg123.h:1296
mpg123_feature_set
Definition: mpg123.h:278
MPG123_EXPORT off_t mpg123_feedseek(mpg123_handle *mh, off_t sampleoff, int whence, off_t *input_offset)
mpg123_version
Definition: mpg123.h:916
mpg123_vbr
Definition: mpg123.h:909
unsigned char version
Definition: mpg123.h:1295
MPG123_EXPORT void mpg123_delete_string(mpg123_string *sb)
mpg123_channels
Definition: mpg123.h:840
Hopefully valid HTML! Valid CSS!