ReactOS  0.4.14-dev-606-g14ebc0b
mpg123.h
Go to the documentation of this file.
1 /*
2  libmpg123: MPEG Audio Decoder library (version 1.25.13)
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 44
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 #ifndef __REACTOS__
45 /* This is for Visual Studio, so this header works as distributed in the binary downloads */
46 #if defined(_MSC_VER) && !defined(MPG123_DEF_SSIZE_T)
47 #define MPG123_DEF_SSIZE_T
48 #include <stddef.h>
49 typedef ptrdiff_t ssize_t;
50 #endif
51 #endif /* __REACTOS__ */
52 
53 #ifndef MPG123_NO_CONFIGURE /* Enable use of this file without configure. */
54 #include <stdlib.h>
55 #include <sys/types.h>
56 
57 #ifdef __REACTOS__
58 #ifndef ssize_t
59 typedef long ssize_t;
60 #endif
61 #endif /* __REACTOS__ */
62 
63 /* Simplified large file handling.
64  I used to have a check here that prevents building for a library with conflicting large file setup
65  (application that uses 32 bit offsets with library that uses 64 bits).
66  While that was perfectly fine in an environment where there is one incarnation of the library,
67  it hurt GNU/Linux and Solaris systems with multilib where the distribution fails to provide the
68  correct header matching the 32 bit library (where large files need explicit support) or
69  the 64 bit library (where there is no distinction).
70 
71  New approach: When the app defines _FILE_OFFSET_BITS, it wants non-default large file support,
72  and thus functions with added suffix (mpg123_open_64).
73  Any mismatch will be caught at link time because of the _FILE_OFFSET_BITS setting used when
74  building libmpg123. Plus, there's dual mode large file support in mpg123 since 1.12 now.
75  Link failure is not the expected outcome of any half-sane usage anymore.
76 
77  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.
78 */
79 
80 /*
81  Now, the renaming of large file aware functions.
82  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.
83 */
84 #if (!defined MPG123_NO_LARGENAME) && ((defined _FILE_OFFSET_BITS) || (defined MPG123_LARGESUFFIX))
85 
86 /* Need some trickery to concatenate the value(s) of the given macro(s). */
87 #define MPG123_MACROCAT_REALLY(a, b) a ## b
88 #define MPG123_MACROCAT(a, b) MPG123_MACROCAT_REALLY(a, b)
89 #ifndef MPG123_LARGESUFFIX
90 #define MPG123_LARGESUFFIX MPG123_MACROCAT(_, _FILE_OFFSET_BITS)
91 #endif
92 #define MPG123_LARGENAME(func) MPG123_MACROCAT(func, MPG123_LARGESUFFIX)
93 
94 #define mpg123_open MPG123_LARGENAME(mpg123_open)
95 #define mpg123_open_fd MPG123_LARGENAME(mpg123_open_fd)
96 #define mpg123_open_handle MPG123_LARGENAME(mpg123_open_handle)
97 #define mpg123_framebyframe_decode MPG123_LARGENAME(mpg123_framebyframe_decode)
98 #define mpg123_decode_frame MPG123_LARGENAME(mpg123_decode_frame)
99 #define mpg123_tell MPG123_LARGENAME(mpg123_tell)
100 #define mpg123_tellframe MPG123_LARGENAME(mpg123_tellframe)
101 #define mpg123_tell_stream MPG123_LARGENAME(mpg123_tell_stream)
102 #define mpg123_seek MPG123_LARGENAME(mpg123_seek)
103 #define mpg123_feedseek MPG123_LARGENAME(mpg123_feedseek)
104 #define mpg123_seek_frame MPG123_LARGENAME(mpg123_seek_frame)
105 #define mpg123_timeframe MPG123_LARGENAME(mpg123_timeframe)
106 #define mpg123_index MPG123_LARGENAME(mpg123_index)
107 #define mpg123_set_index MPG123_LARGENAME(mpg123_set_index)
108 #define mpg123_position MPG123_LARGENAME(mpg123_position)
109 #define mpg123_length MPG123_LARGENAME(mpg123_length)
110 #define mpg123_framelength MPG123_LARGENAME(mpg123_framelength)
111 #define mpg123_set_filesize MPG123_LARGENAME(mpg123_set_filesize)
112 #define mpg123_replace_reader MPG123_LARGENAME(mpg123_replace_reader)
113 #define mpg123_replace_reader_handle MPG123_LARGENAME(mpg123_replace_reader_handle)
114 #define mpg123_framepos MPG123_LARGENAME(mpg123_framepos)
115 
116 #endif /* largefile hackery */
117 
118 #endif /* MPG123_NO_CONFIGURE */
119 
120 #ifdef __cplusplus
121 extern "C" {
122 #endif
123 
134 struct mpg123_handle_struct;
135 
140 
146 MPG123_EXPORT int mpg123_init(void);
147 
150 MPG123_EXPORT void mpg123_exit(void);
151 
160 MPG123_EXPORT mpg123_handle *mpg123_new(const char* decoder, int *error);
161 
166 
169 {
189 };
190 
193 {
200  ,MPG123_QUIET = 0x20
201  ,MPG123_GAPLESS = 0x40
204  ,MPG123_FUZZY = 0x200
208  ,MPG123_SKIP_ID3V2 = 0x2000
211  ,MPG123_PICTURE = 0x10000
212  ,MPG123_NO_PEEK_END = 0x20000
219 };
220 
223 {
228 };
229 
239 , enum mpg123_parms type, long value, double fvalue );
240 
250 , enum mpg123_parms type, long *value, double *fvalue );
251 
254 {
270 };
271 
277 
278 /* @} */
279 
280 
314 {
363 };
364 
370 
379 
385 
400 MPG123_EXPORT const char **mpg123_decoders(void);
401 
405 MPG123_EXPORT const char **mpg123_supported_decoders(void);
406 
412 MPG123_EXPORT int mpg123_decoder(mpg123_handle *mh, const char* decoder_name);
413 
424 
447 {
450 };
451 
457 MPG123_EXPORT void mpg123_rates(const long **list, size_t *number);
458 
463 MPG123_EXPORT void mpg123_encodings(const int **list, size_t *number);
464 
469 
476 
483 
491 , long rate, int channels, int encodings );
492 
501 , long rate, int encoding );
502 
515 , long *rate, int *channels, int *encoding );
516 
529 , long *rate, int *channels, int *encoding, int clear_flag );
530 
541 /* reading samples / triggering decoding, possible return values: */
551 MPG123_EXPORT int mpg123_open(mpg123_handle *mh, const char *path);
552 
560 
568 MPG123_EXPORT int mpg123_open_handle(mpg123_handle *mh, void *iohandle);
569 
576 
582 
591 , unsigned char *outmemory, size_t outmemsize, size_t *done );
592 
601 , const unsigned char *in, size_t size );
602 
619 , const unsigned char *inmemory, size_t inmemsize
620 , unsigned char *outmemory, size_t outmemsize, size_t *done );
621 
631 , off_t *num, unsigned char **audio, size_t *bytes );
632 
643 , off_t *num, unsigned char **audio, size_t *bytes );
644 
652 
669 , unsigned long *header, unsigned char **bodydata, size_t *bodybytes );
670 
679 
709 
715 
721 
730 , off_t sampleoff, int whence );
731 
741 , off_t sampleoff, int whence, off_t *input_offset );
742 
750 , off_t frameoff, int whence );
751 
756 
767 , off_t **offsets, off_t *step, size_t *fill );
768 
779 , off_t *offsets, off_t step, size_t fill );
780 
788 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);
789 
800 {
803  ,MPG123_LR=0x3
804 };
805 
814 , enum mpg123_channels channel, int band, double val );
815 
822  , enum mpg123_channels channel, int band);
823 
829 
836 MPG123_EXPORT int mpg123_volume(mpg123_handle *mh, double vol);
837 
843 MPG123_EXPORT int mpg123_volume_change(mpg123_handle *mh, double change);
844 
855 MPG123_EXPORT int mpg123_getvolume(mpg123_handle *mh, double *base, double *really, double *rva_db);
856 
857 /* TODO: Set some preamp in addition / to replace internal RVA handling? */
858 
872 };
873 
879 };
880 
881 
889 };
890 
891 
898 };
899 
902 {
904  int layer;
905  long rate;
907  int mode_ext;
908  int framesize;
910  int emphasis;
911  int bitrate;
912  int abr_rate;
914 };
915 
922 
927 MPG123_EXPORT size_t mpg123_safe_buffer(void);
928 
937 
943 
949 
957 
963 
969 
975 
976 
979 {
984 };
985 
994 , enum mpg123_state key, long *val, double *fval );
995 
1009 typedef struct
1010 {
1011  char* p;
1012  size_t size;
1013  size_t fill;
1014 } mpg123_string;
1015 
1020 
1025 
1032 
1043 
1051 
1057 MPG123_EXPORT int mpg123_add_string(mpg123_string* sb, const char* stuff);
1058 
1067 , const char *stuff, size_t from, size_t count );
1068 
1074 MPG123_EXPORT int mpg123_set_string(mpg123_string* sb, const char* stuff);
1075 
1084 , const char *stuff, size_t from, size_t count );
1085 
1092 MPG123_EXPORT size_t mpg123_strlen(mpg123_string *sb, int utf8);
1093 
1099 
1102 {
1118 };
1119 
1122 {
1128 };
1129 
1135 MPG123_EXPORT enum mpg123_text_encoding mpg123_enc_from_id3(unsigned char id3_enc_byte);
1136 
1146 MPG123_EXPORT int mpg123_store_utf8(mpg123_string *sb, enum mpg123_text_encoding enc, const unsigned char *source, size_t source_size);
1147 
1152 typedef struct
1153 {
1154  char lang[3];
1155  char id[4];
1158 } mpg123_text;
1159 
1162 {
1184 };
1185 
1190 typedef struct
1191 {
1192  char type;
1195  size_t size;
1196  unsigned char* data;
1197 } mpg123_picture;
1198 
1204 typedef struct
1205 {
1206  unsigned char version;
1213  /* Encountered ID3v2 fields are appended to these lists.
1214  There can be multiple occurences, the pointers above always point to the last encountered data. */
1216  size_t comments;
1218  size_t texts;
1220  size_t extras;
1222  size_t pictures;
1223 } mpg123_id3v2;
1224 
1229 typedef struct
1230 {
1231  char tag[3];
1232  char title[30];
1233  char artist[30];
1234  char album[30];
1235  char year[4];
1236  char comment[30];
1237  unsigned char genre;
1238 } mpg123_id3v1;
1239 
1240 #define MPG123_ID3 0x3
1241 #define MPG123_NEW_ID3 0x1
1242 #define MPG123_ICY 0xc
1243 #define MPG123_NEW_ICY 0x4
1249 MPG123_EXPORT int mpg123_meta_check(mpg123_handle *mh);
1250 
1255 
1261 , mpg123_id3v1 **v1, mpg123_id3v2 **v2 );
1262 
1269 
1274 MPG123_EXPORT char* mpg123_icy2utf8(const char* icy_text);
1275 
1276 
1277 /* @} */
1278 
1279 
1296 struct mpg123_pars_struct;
1297 
1300 
1308 , const char* decoder, int *error );
1309 
1315 
1320 
1327 
1334 
1345 , long rate, int channels, int encodings);
1346 
1355 
1365 , enum mpg123_parms type, long value, double fvalue );
1366 
1376 , enum mpg123_parms type, long *value, double *fvalue);
1377 
1378 /* @} */
1379 
1380 
1397 , unsigned char *data, size_t size);
1398 
1405 
1420 , ssize_t (*r_read) (int, void *, size_t)
1421 , off_t (*r_lseek)(int, off_t, int)
1422 );
1423 
1439 , ssize_t (*r_read) (void *, void *, size_t)
1440 , off_t (*r_lseek)(void *, off_t, int)
1441 , void (*cleanup)(void*) );
1442 
1443 /* @} */
1444 
1445 #ifdef __cplusplus
1446 }
1447 #endif
1448 
1449 #endif
MPG123_EXPORT off_t mpg123_timeframe(mpg123_handle *mh, double sec)
Definition: lfs_alias.c:176
MPG123_EXPORT int mpg123_decode(mpg123_handle *mh, const unsigned char *inmemory, size_t inmemsize, unsigned char *outmemory, size_t outmemsize, size_t *done)
Definition: libmpg123.c:918
MPG123_EXPORT int mpg123_par(mpg123_pars *mp, enum mpg123_parms type, long value, double fvalue)
Definition: libmpg123.c:150
MPG123_EXPORT int mpg123_id3(mpg123_handle *mh, mpg123_id3v1 **v1, mpg123_id3v2 **v2)
Definition: libmpg123.c:1442
MPG123_EXPORT int mpg123_getformat2(mpg123_handle *mh, long *rate, int *channels, int *encoding, int clear_flag)
Definition: libmpg123.c:1050
Definition: icy.h:16
#define frame_offset
Definition: intsym.h:190
MPG123_EXPORT int mpg123_open_feed(mpg123_handle *mh)
Definition: libmpg123.c:468
mpg123_text * extra
Definition: mpg123.h:1219
MPG123_EXPORT off_t mpg123_feedseek(mpg123_handle *mh, off_t sampleoff, int whence, off_t *input_offset)
Definition: lfs_wrap.c:291
enum mpg123_mode mode
Definition: mpg123.h:906
MPG123_EXPORT double mpg123_geteq(mpg123_handle *mh, enum mpg123_channels channel, int band)
Definition: libmpg123.c:418
MPG123_EXPORT int mpg123_encsize(int encoding)
Definition: format.c:126
MPG123_EXPORT int mpg123_feature(const enum mpg123_feature_set key)
Definition: feature.c:3
#define error(str)
Definition: mkdosfs.c:1605
mpg123_parms
Definition: mpg123.h:168
MPG123_EXPORT int mpg123_errcode(mpg123_handle *mh)
Definition: libmpg123.c:1697
MPG123_EXPORT char * mpg123_icy2utf8(const char *icy_text)
Definition: libmpg123.c:1489
superblock * sb
Definition: btrfs.c:4137
mpg123_flags
Definition: mpg123.h:893
GLuint GLuint GLsizei count
Definition: gl.h:1545
MPG123_EXPORT off_t mpg123_tell_stream(mpg123_handle *mh)
Definition: lfs_alias.c:152
MPG123_EXPORT int mpg123_getformat(mpg123_handle *mh, long *rate, int *channels, int *encoding)
Definition: libmpg123.c:1066
__kernel_off_t off_t
Definition: linux.h:201
MPG123_EXPORT off_t mpg123_tell(mpg123_handle *mh)
Definition: lfs_alias.c:140
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)
Definition: lfs_wrap.c:445
GLuint GLuint GLsizei GLenum type
Definition: gl.h:1545
Definition: ecma_167.h:138
MPG123_EXPORT mpg123_handle * mpg123_new(const char *decoder, int *error)
Definition: libmpg123.c:55
MPG123_EXPORT int mpg123_set_substring(mpg123_string *sb, const char *stuff, size_t from, size_t count)
Definition: stringbuf.c:133
MPG123_EXPORT void mpg123_free_string(mpg123_string *sb)
Definition: stringbuf.c:25
int This channels
Definition: rdpsnd_libao.c:37
mpg123_string * comment
Definition: mpg123.h:1212
static int fd
Definition: io.c:51
#define ssize_t
Definition: config.h:469
static MONITORINFO mi
Definition: win.c:7339
MPG123_EXPORT int mpg123_format_all(mpg123_handle *mh)
Definition: format.c:368
size_t size
Definition: mpg123.h:1012
int rate
Definition: pcmconverter.c:97
off_t input_offset
Definition: frame.h:216
MPG123_EXPORT int mpg123_init(void)
Definition: libmpg123.c:22
MPG123_EXPORT void mpg123_rates(const long **list, size_t *number)
Definition: format.c:113
MPG123_EXPORT off_t mpg123_framepos(mpg123_handle *mh)
Definition: frame.c:1020
MPG123_EXPORT int mpg123_framebyframe_decode(mpg123_handle *mh, off_t *num, unsigned char **audio, size_t *bytes)
Definition: lfs_wrap.c:186
MPG123_EXPORT size_t mpg123_strlen(mpg123_string *sb, int utf8)
Definition: stringbuf.c:149
MPG123_EXPORT const char * mpg123_current_decoder(mpg123_handle *mh)
Definition: optimize.c:1163
MPG123_EXPORT int mpg123_eq(mpg123_handle *mh, enum mpg123_channels channel, int band, double val)
Definition: libmpg123.c:397
MPG123_EXPORT int mpg123_framedata(mpg123_handle *mh, unsigned long *header, unsigned char **bodydata, size_t *bodybytes)
Definition: frame.c:614
MPG123_EXPORT int mpg123_icy(mpg123_handle *mh, char **icy_meta)
Definition: libmpg123.c:1465
MPG123_EXPORT size_t mpg123_outblock(mpg123_handle *mh)
Definition: libmpg123.c:583
static unsigned char bytes[4]
Definition: adnsresfilter.c:74
MPG123_EXPORT int mpg123_param(mpg123_handle *mh, enum mpg123_parms type, long value, double fvalue)
Definition: libmpg123.c:125
MPG123_EXPORT int mpg123_feed(mpg123_handle *mh, const unsigned char *in, size_t size)
Definition: libmpg123.c:873
mpg123_string text
Definition: mpg123.h:1157
static size_t double number
Definition: printf.c:69
enum mpg123_vbr vbr
Definition: mpg123.h:913
MPG123_EXPORT int mpg123_getparam(mpg123_handle *mh, enum mpg123_parms type, long *value, double *fvalue)
Definition: libmpg123.c:262
mpg123_text * text
Definition: mpg123.h:1217
MPG123_EXPORT int mpg123_reset_eq(mpg123_handle *mh)
Definition: frame.c:167
MPG123_EXPORT int mpg123_spf(mpg123_handle *mh)
Definition: parse.c:897
MPG123_EXPORT int mpg123_close(mpg123_handle *mh)
Definition: libmpg123.c:1602
MPG123_EXPORT double mpg123_tpf(mpg123_handle *mh)
Definition: parse.c:904
size_t size
Definition: mpg123.h:1195
mpg123_id3_pic_type
Definition: mpg123.h:1161
MPG123_EXPORT int mpg123_info(mpg123_handle *mh, struct mpg123_frameinfo *mi)
Definition: libmpg123.c:1012
MPG123_EXPORT int mpg123_format(mpg123_handle *mh, long rate, int channels, int encodings)
Definition: format.c:394
unsigned char version
Definition: mpg123.h:1206
MPG123_EXPORT void mpg123_init_string(mpg123_string *sb)
Definition: stringbuf.c:17
MPG123_EXPORT void mpg123_delete(mpg123_handle *mh)
Definition: libmpg123.c:1620
MPG123_EXPORT int mpg123_set_string(mpg123_string *sb, const char *stuff)
Definition: stringbuf.c:141
MPG123_EXPORT const char * mpg123_plain_strerror(int errcode)
Definition: libmpg123.c:1678
MPG123_EXPORT mpg123_handle * mpg123_parnew(mpg123_pars *mp, const char *decoder, int *error)
Definition: libmpg123.c:61
GLuint GLfloat * val
Definition: glext.h:7180
static const WCHAR lang[]
Definition: wbemdisp.c:287
MPG123_EXPORT off_t mpg123_tellframe(mpg123_handle *mh)
Definition: lfs_alias.c:146
int errcode
Definition: crtdefs.h:352
GLsizeiptr size
Definition: glext.h:5919
mpg123_string * year
Definition: mpg123.h:1210
MPG123_EXPORT int mpg123_fmt(mpg123_pars *mp, long rate, int channels, int encodings)
Definition: format.c:404
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 *))
Definition: lfs_wrap.c:632
_STLP_MOVE_TO_STD_NAMESPACE void fill(_ForwardIter __first, _ForwardIter __last, const _Tp &__val)
Definition: _algobase.h:449
MPG123_EXPORT off_t mpg123_framelength(mpg123_handle *mh)
Definition: lfs_alias.c:200
MPG123_EXPORT off_t mpg123_seek(mpg123_handle *mh, off_t sampleoff, int whence)
Definition: lfs_wrap.c:274
size_t texts
Definition: mpg123.h:1218
MPG123_EXPORT void mpg123_meta_free(mpg123_handle *mh)
Definition: libmpg123.c:1434
MPG123_EXPORT int mpg123_format_support(mpg123_handle *mh, long rate, int encoding)
Definition: format.c:431
GLuint GLuint num
Definition: glext.h:9618
MPG123_EXPORT int mpg123_open(mpg123_handle *mh, const char *path)
Definition: lfs_alias.c:104
MPG123_EXPORT void mpg123_delete_pars(mpg123_pars *mp)
Definition: frame.c:162
MPG123_EXPORT int mpg123_framebyframe_next(mpg123_handle *mh)
Definition: libmpg123.c:791
mpg123_picture * picture
Definition: mpg123.h:1221
mpg123_channelcount
Definition: mpg123.h:446
MPG123_EXPORT int mpg123_decoder(mpg123_handle *mh, const char *decoder_name)
Definition: libmpg123.c:90
MPG123_EXPORT enum mpg123_text_encoding mpg123_enc_from_id3(unsigned char id3_enc_byte)
Definition: libmpg123.c:1499
GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * data
Definition: gl.h:1950
MPG123_EXPORT int mpg123_set_index(mpg123_handle *mh, off_t *offsets, off_t step, size_t fill)
Definition: lfs_wrap.c:406
mpg123_feature_set
Definition: mpg123.h:253
mpg123_mode
Definition: mpg123.h:884
MPG123_EXPORT int mpg123_replace_buffer(mpg123_handle *mh, unsigned char *data, size_t size)
Definition: frame.c:213
MPG123_EXPORT int mpg123_read(mpg123_handle *mh, unsigned char *outmemory, size_t outmemsize, size_t *done)
Definition: libmpg123.c:868
Definition: id3.c:18
int ssize_t
Definition: rosdhcp.h:48
Definition: _list.h:228
MPG123_EXPORT int mpg123_format_none(mpg123_handle *mh)
Definition: format.c:347
mpg123_string mime_type
Definition: mpg123.h:1194
#define MPG123_EXPORT
Definition: mpg123.h:39
ed encoding
Definition: write.c:2839
unsigned char * data
Definition: mpg123.h:1196
MPG123_EXPORT long mpg123_clip(mpg123_handle *mh)
Definition: libmpg123.c:986
mpg123_text_encoding
Definition: mpg123.h:1101
MPG123_EXPORT size_t mpg123_safe_buffer(void)
Definition: libmpg123.c:577
MPG123_EXPORT int mpg123_open_handle(mpg123_handle *mh, void *iohandle)
Definition: lfs_alias.c:116
MPG123_EXPORT int mpg123_scan(mpg123_handle *mh)
Definition: libmpg123.c:1386
GLfloat GLfloat GLfloat v2
Definition: glext.h:6063
MPG123_EXPORT int mpg123_add_string(mpg123_string *sb, const char *stuff)
Definition: stringbuf.c:98
mpg123_string description
Definition: mpg123.h:1193
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))
Definition: lfs_wrap.c:601
enum mpg123_version version
Definition: mpg123.h:903
MPG123_EXPORT int mpg123_getpar(mpg123_pars *mp, enum mpg123_parms type, long *value, double *fvalue)
Definition: libmpg123.c:272
MPG123_EXPORT const char * mpg123_strerror(mpg123_handle *mh)
Definition: libmpg123.c:1703
size_t extras
Definition: mpg123.h:1220
GLuint in
Definition: glext.h:9616
MPG123_EXPORT int mpg123_store_utf8(mpg123_string *sb, enum mpg123_text_encoding enc, const unsigned char *source, size_t source_size)
Definition: libmpg123.c:1512
unsigned char genre
Definition: mpg123.h:1237
MPG123_EXPORT int mpg123_getvolume(mpg123_handle *mh, double *base, double *really, double *rva_db)
Definition: frame.c:1011
MPG123_EXPORT off_t mpg123_length(mpg123_handle *mh)
Definition: lfs_alias.c:206
enum mpg123_flags flags
Definition: mpg123.h:909
MPG123_EXPORT int mpg123_index(mpg123_handle *mh, off_t **offsets, off_t *step, size_t *fill)
Definition: lfs_wrap.c:349
__kernel_ptrdiff_t ptrdiff_t
Definition: linux.h:247
mpg123_state
Definition: mpg123.h:978
MPG123_EXPORT int mpg123_volume(mpg123_handle *mh, double vol)
Definition: frame.c:946
mpg123_string * title
Definition: mpg123.h:1207
mpg123_errors
Definition: mpg123.h:313
size_t pictures
Definition: mpg123.h:1222
MPG123_EXPORT void mpg123_exit(void)
Definition: libmpg123.c:49
MPG123_EXPORT off_t mpg123_seek_frame(mpg123_handle *mh, off_t frameoff, int whence)
Definition: lfs_wrap.c:313
MPG123_EXPORT void mpg123_encodings(const int **list, size_t *number)
Definition: format.c:120
MPG123_EXPORT int mpg123_fmt_all(mpg123_pars *mp)
Definition: format.c:379
mpg123_version
Definition: mpg123.h:875
MPG123_EXPORT int mpg123_copy_string(mpg123_string *from, mpg123_string *to)
Definition: stringbuf.c:69
mpg123_channels
Definition: mpg123.h:799
MPG123_EXPORT const char ** mpg123_decoders(void)
Definition: optimize.c:1170
mpg123_param_rva
Definition: mpg123.h:222
mpg123_string * album
Definition: mpg123.h:1209
mpg123_vbr
Definition: mpg123.h:868
char * cleanup(char *str)
Definition: wpickclick.c:99
MPG123_EXPORT int mpg123_set_filesize(mpg123_handle *mh, off_t size)
Definition: lfs_wrap.c:507
MPG123_EXPORT int mpg123_resize_string(mpg123_string *sb, size_t news)
Definition: stringbuf.c:41
MPG123_EXPORT int mpg123_fmt_support(mpg123_pars *mp, long rate, int encoding)
Definition: format.c:437
MPG123_EXPORT int mpg123_volume_change(mpg123_handle *mh, double change)
Definition: frame.c:940
MPG123_EXPORT int mpg123_open_fd(mpg123_handle *mh, int fd)
Definition: lfs_alias.c:110
MPG123_EXPORT int mpg123_chomp_string(mpg123_string *sb)
Definition: stringbuf.c:181
MPG123_EXPORT const char ** mpg123_supported_decoders(void)
Definition: optimize.c:1171
MPG123_EXPORT int mpg123_fmt_none(mpg123_pars *mp)
Definition: format.c:358
CardRegion * from
Definition: spigame.cpp:19
mpg123_param_flags
Definition: mpg123.h:192
size_t comments
Definition: mpg123.h:1216
mpg123_string description
Definition: mpg123.h:1156
size_t fill
Definition: mpg123.h:1013
mpg123_id3_enc
Definition: mpg123.h:1121
mpg123_string * genre
Definition: mpg123.h:1211
MPG123_EXPORT int mpg123_add_substring(mpg123_string *sb, const char *stuff, size_t from, size_t count)
Definition: stringbuf.c:104
GLfloat GLfloat v1
Definition: glext.h:6062
static char title[]
Definition: ps.c:92
mpg123_text * comment_list
Definition: mpg123.h:1215
MPG123_EXPORT int mpg123_grow_string(mpg123_string *sb, size_t news)
Definition: stringbuf.c:33
char * p
Definition: mpg123.h:1011
MPG123_EXPORT int mpg123_decode_frame(mpg123_handle *mh, off_t *num, unsigned char **audio, size_t *bytes)
Definition: lfs_wrap.c:166
mpg123_string * artist
Definition: mpg123.h:1208
MPG123_EXPORT int mpg123_getstate(mpg123_handle *mh, enum mpg123_state key, long *val, double *fval)
Definition: libmpg123.c:351
Definition: path.c:41
MPG123_EXPORT mpg123_pars * mpg123_new_pars(int *error)
Definition: frame.c:154