ReactOS 0.4.17-dev-966-gf06eace
mpg123.h
Go to the documentation of this file.
1/*
2 libmpg123: MPEG Audio Decoder library (version 1.26.2)
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
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>
49typedef 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/* <sys/types.h> above normally provides this; the guard has to be
59 * _SSIZE_T_DEFINED rather than "ssize_t", which is a typedef and not a macro
60 */
61#ifndef _SSIZE_T_DEFINED
62#define _SSIZE_T_DEFINED
63#ifdef _WIN64
65#else
66typedef int ssize_t;
67#endif
68#endif
69#endif /* __REACTOS__ */
70
71/* Simplified large file handling.
72 I used to have a check here that prevents building for a library with conflicting large file setup
73 (application that uses 32 bit offsets with library that uses 64 bits).
74 While that was perfectly fine in an environment where there is one incarnation of the library,
75 it hurt GNU/Linux and Solaris systems with multilib where the distribution fails to provide the
76 correct header matching the 32 bit library (where large files need explicit support) or
77 the 64 bit library (where there is no distinction).
78
79 New approach: When the app defines _FILE_OFFSET_BITS, it wants non-default large file support,
80 and thus functions with added suffix (mpg123_open_64).
81 Any mismatch will be caught at link time because of the _FILE_OFFSET_BITS setting used when
82 building libmpg123. Plus, there's dual mode large file support in mpg123 since 1.12 now.
83 Link failure is not the expected outcome of any half-sane usage anymore.
84
85 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.
86*/
87
88/*
89 Now, the renaming of large file aware functions.
90 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.
91*/
92#if (!defined MPG123_NO_LARGENAME) && ((defined _FILE_OFFSET_BITS) || (defined MPG123_LARGESUFFIX))
93
94/* Need some trickery to concatenate the value(s) of the given macro(s). */
95#define MPG123_MACROCAT_REALLY(a, b) a ## b
96#define MPG123_MACROCAT(a, b) MPG123_MACROCAT_REALLY(a, b)
97#ifndef MPG123_LARGESUFFIX
98#define MPG123_LARGESUFFIX MPG123_MACROCAT(_, _FILE_OFFSET_BITS)
99#endif
100#define MPG123_LARGENAME(func) MPG123_MACROCAT(func, MPG123_LARGESUFFIX)
101
102#define mpg123_open_fixed MPG123_LARGENAME(mpg123_open_fixed)
103#define mpg123_open MPG123_LARGENAME(mpg123_open)
104#define mpg123_open_fd MPG123_LARGENAME(mpg123_open_fd)
105#define mpg123_open_handle MPG123_LARGENAME(mpg123_open_handle)
106#define mpg123_framebyframe_decode MPG123_LARGENAME(mpg123_framebyframe_decode)
107#define mpg123_decode_frame MPG123_LARGENAME(mpg123_decode_frame)
108#define mpg123_tell MPG123_LARGENAME(mpg123_tell)
109#define mpg123_tellframe MPG123_LARGENAME(mpg123_tellframe)
110#define mpg123_tell_stream MPG123_LARGENAME(mpg123_tell_stream)
111#define mpg123_seek MPG123_LARGENAME(mpg123_seek)
112#define mpg123_feedseek MPG123_LARGENAME(mpg123_feedseek)
113#define mpg123_seek_frame MPG123_LARGENAME(mpg123_seek_frame)
114#define mpg123_timeframe MPG123_LARGENAME(mpg123_timeframe)
115#define mpg123_index MPG123_LARGENAME(mpg123_index)
116#define mpg123_set_index MPG123_LARGENAME(mpg123_set_index)
117#define mpg123_position MPG123_LARGENAME(mpg123_position)
118#define mpg123_length MPG123_LARGENAME(mpg123_length)
119#define mpg123_framelength MPG123_LARGENAME(mpg123_framelength)
120#define mpg123_set_filesize MPG123_LARGENAME(mpg123_set_filesize)
121#define mpg123_replace_reader MPG123_LARGENAME(mpg123_replace_reader)
122#define mpg123_replace_reader_handle MPG123_LARGENAME(mpg123_replace_reader_handle)
123#define mpg123_framepos MPG123_LARGENAME(mpg123_framepos)
124
125#endif /* largefile hackery */
126
127#endif /* MPG123_NO_CONFIGURE */
128
129#ifdef __cplusplus
130extern "C" {
131#endif
132
144
149
157MPG123_EXPORT int mpg123_init(void);
158
164MPG123_EXPORT void mpg123_exit(void);
165
175
180
186MPG123_EXPORT void mpg123_free(void *ptr);
187
190{
217
220{
221 MPG123_FORCE_MONO = 0x7
231 ,MPG123_FUZZY = 0x200
238 ,MPG123_PICTURE = 0x10000
253 ,MPG123_BIG_ENDIAN = 0x200000
278
281{
282 MPG123_RVA_OFF = 0
287
297, enum mpg123_parms type, long value, double fvalue );
298
308, enum mpg123_parms type, long *value, double *fvalue );
309
312{
332
338
349
350/* @} */
351
352
386{
436
442
451
457
472MPG123_EXPORT const char **mpg123_decoders(void);
473
478
484MPG123_EXPORT int mpg123_decoder(mpg123_handle *mh, const char* decoder_name);
485
496
524{
525 MPG123_MONO = 1
528
536MPG123_EXPORT void mpg123_rates(const long **list, size_t *number);
537
542MPG123_EXPORT void mpg123_encodings(const int **list, size_t *number);
543
547MPG123_EXPORT int mpg123_encsize(int encoding);
548
555
562
570, long rate, int channels, int encodings );
571
583, long rate, int channels, int encodings );
584
593, long rate, int encoding );
594
607, long *rate, int *channels, int *encoding );
608
621, long *rate, int *channels, int *encoding, int clear_flag );
622
677, int channels, int encoding);
678
686MPG123_EXPORT int mpg123_open(mpg123_handle *mh, const char *path);
687
695
703MPG123_EXPORT int mpg123_open_handle(mpg123_handle *mh, void *iohandle);
704
713
719
732, void *outmemory, size_t outmemsize, size_t *done );
733
742, const unsigned char *in, size_t size );
743
764, const unsigned char *inmemory, size_t inmemsize
765, void *outmemory, size_t outmemsize, size_t *done );
766
776, off_t *num, unsigned char **audio, size_t *bytes );
777
788, off_t *num, unsigned char **audio, size_t *bytes );
789
797
814, unsigned long *header, unsigned char **bodydata, size_t *bodybytes );
815
824
854
860
866
875, off_t sampleoff, int whence );
876
886, off_t sampleoff, int whence, off_t *input_offset );
887
895, off_t frameoff, int whence );
896
901
912, off_t **offsets, off_t *step, size_t *fill );
913
924, off_t *offsets, off_t step, size_t fill );
925
933MPG123_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);
934
945{
946 MPG123_LEFT=0x1
950
959, enum mpg123_channels channel, int band, double val );
960
967 , enum mpg123_channels channel, int band);
968
974
981MPG123_EXPORT int mpg123_volume(mpg123_handle *mh, double vol);
982
988MPG123_EXPORT int mpg123_volume_change(mpg123_handle *mh, double change);
989
1000MPG123_EXPORT int mpg123_getvolume(mpg123_handle *mh, double *base, double *really, double *rva_db);
1001
1002/* TODO: Set some preamp in addition / to replace internal RVA handling? */
1003
1016 MPG123_ABR
1018
1023 MPG123_2_5
1025
1026
1035
1036
1042 MPG123_ORIGINAL=0x8
1044
1047{
1049 int layer;
1050 long rate;
1059};
1060
1067{
1068 double xr[2][2][576];
1069 double sfb[2][2][22]; /* [2][2][SBMAX_l] */
1070 double sfb_s[2][2][3*13]; /* [2][2][3*SBMAX_s] */
1071 int qss[2][2];
1072 int big_values[2][2];
1073 int sub_gain[2][2][3];
1075 int preflag[2][2];
1076 int blocktype[2][2];
1077 int mixed[2][2];
1078 int mainbits[2][2];
1079 int sfbits[2][2];
1080 int scfsi[2];
1083};
1084
1091
1099, struct mpg123_moreinfo *mi );
1100
1106
1115
1122
1136
1144
1150
1156
1162
1163
1166{
1167 MPG123_ACCURATE = 1
1175
1184, enum mpg123_state key, long *val, double *fval );
1185
1199typedef struct
1200{
1201 char* p;
1202 size_t size;
1203 size_t fill;
1205
1210
1215
1222
1229
1236
1247
1255
1269
1275MPG123_EXPORT int mpg123_add_string(mpg123_string* sb, const char* stuff);
1276
1285, const char *stuff, size_t from, size_t count );
1286
1292MPG123_EXPORT int mpg123_set_string(mpg123_string* sb, const char* stuff);
1293
1302, const char *stuff, size_t from, size_t count );
1303
1313
1319
1328
1331{
1348
1351{
1358
1364MPG123_EXPORT enum mpg123_text_encoding mpg123_enc_from_id3(unsigned char id3_enc_byte);
1365
1375MPG123_EXPORT int mpg123_store_utf8(mpg123_string *sb, enum mpg123_text_encoding enc, const unsigned char *source, size_t source_size);
1376
1383typedef struct
1384{
1385 char lang[3];
1386 char id[4];
1389} mpg123_text;
1390
1393{
1416
1421typedef struct
1422{
1423 char type;
1426 size_t size;
1427 unsigned char* data;
1429
1435typedef struct
1436{
1437 unsigned char version;
1444 /* Encountered ID3v2 fields are appended to these lists.
1445 There can be multiple occurences, the pointers above always point to the last encountered data. */
1447 size_t comments;
1449 size_t texts;
1451 size_t extras;
1454 size_t pictures;
1455} mpg123_id3v2;
1456
1461typedef struct
1462{
1463 char tag[3];
1464 char title[30];
1465 char artist[30];
1466 char album[30];
1467 char year[4];
1468 char comment[30];
1469 unsigned char genre;
1470} mpg123_id3v1;
1471
1472#define MPG123_ID3 0x3
1473#define MPG123_NEW_ID3 0x1
1474#define MPG123_ICY 0xc
1475#define MPG123_NEW_ICY 0x4
1482
1487
1494
1507, unsigned char **v1, size_t *v1_size
1508, unsigned char **v2, size_t *v2_size );
1509
1516
1521MPG123_EXPORT char* mpg123_icy2utf8(const char* icy_text);
1522
1523
1524/* @} */
1525
1526
1543struct mpg123_pars_struct;
1544
1547
1555, const char* decoder, int *error );
1556
1562
1567
1574
1581
1592, long rate, int channels, int encodings);
1593
1605, long rate, int channels, int encodings);
1606
1614MPG123_EXPORT int mpg123_fmt_support(mpg123_pars *mp, long rate, int encoding);
1615
1625, enum mpg123_parms type, long value, double fvalue );
1626
1636, enum mpg123_parms type, long *value, double *fvalue);
1637
1638/* @} */
1639
1640
1661, void *data, size_t size);
1662
1669
1684, ssize_t (*r_read) (int, void *, size_t)
1685, off_t (*r_lseek)(int, off_t, int)
1686);
1687
1703, ssize_t (*r_read) (void *, void *, size_t)
1704, off_t (*r_lseek)(void *, off_t, int)
1705, void (*cleanup)(void*) );
1706
1707/* @} */
1708
1709#ifdef __cplusplus
1710}
1711#endif
1712
1713#endif
_STLP_MOVE_TO_STD_NAMESPACE void fill(_ForwardIter __first, _ForwardIter __last, const _Tp &__val)
Definition: _algobase.h:449
#define __MINGW_EXTENSION
Definition: _mingw.h:166
static unsigned char bytes[4]
Definition: adnsresfilter.c:74
unsigned int channels
Definition: audiorecord.c:89
unsigned int rate
Definition: audiorecord.c:87
Definition: list.h:39
static void cleanup(void)
Definition: main.c:1335
#define __int64
Definition: corecrt.h:72
int ptrdiff_t
Definition: corecrt.h:194
superblock * sb
Definition: btrfs.c:4261
__kernel_off_t off_t
Definition: linux.h:201
static const FxOffsetAndName offsets[]
GLuint GLuint GLsizei count
Definition: gl.h:1545
GLuint GLuint GLsizei GLenum type
Definition: gl.h:1545
GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * data
Definition: gl.h:1950
GLsizeiptr size
Definition: glext.h:5919
GLboolean GLboolean GLboolean b
Definition: glext.h:6204
GLuint in
Definition: glext.h:9616
GLuint GLfloat * val
Definition: glext.h:7180
GLuint GLuint num
Definition: glext.h:9618
GLboolean GLboolean GLboolean GLboolean a
Definition: glext.h:6204
GLfloat GLfloat v1
Definition: glext.h:6062
GLfloat GLfloat GLfloat v2
Definition: glext.h:6063
MPG123_EXPORT int mpg123_getpar(mpg123_pars *mp, enum mpg123_parms type, long *value, double *fvalue)
Definition: libmpg123.c:278
MPG123_EXPORT int mpg123_fmt2(mpg123_pars *mp, long rate, int channels, int encodings)
Definition: format.c:485
MPG123_EXPORT mpg123_pars * mpg123_new_pars(int *error)
Definition: frame.c:159
MPG123_EXPORT mpg123_handle * mpg123_parnew(mpg123_pars *mp, const char *decoder, int *error)
Definition: libmpg123.c:63
MPG123_EXPORT int mpg123_fmt_support(mpg123_pars *mp, long rate, int encoding)
Definition: format.c:537
MPG123_EXPORT void mpg123_delete_pars(mpg123_pars *mp)
Definition: frame.c:167
MPG123_EXPORT int mpg123_par(mpg123_pars *mp, enum mpg123_parms type, long value, double fvalue)
Definition: libmpg123.c:152
MPG123_EXPORT int mpg123_fmt_all(mpg123_pars *mp)
Definition: format.c:449
MPG123_EXPORT int mpg123_fmt_none(mpg123_pars *mp)
Definition: format.c:428
MPG123_EXPORT const char * mpg123_current_decoder(mpg123_handle *mh)
Definition: optimize.c:1163
MPG123_EXPORT const char ** mpg123_decoders(void)
Definition: optimize.c:1170
MPG123_EXPORT const char ** mpg123_supported_decoders(void)
Definition: optimize.c:1171
MPG123_EXPORT int mpg123_decoder(mpg123_handle *mh, const char *decoder_name)
Definition: libmpg123.c:92
MPG123_EXPORT const char * mpg123_plain_strerror(int errcode)
Definition: libmpg123.c:1775
MPG123_EXPORT const char * mpg123_strerror(mpg123_handle *mh)
Definition: libmpg123.c:1800
MPG123_EXPORT int mpg123_errcode(mpg123_handle *mh)
Definition: libmpg123.c:1794
mpg123_errors
Definition: mpg123.h:386
@ MPG123_NEED_MORE
Definition: mpg123.h:389
@ MPG123_LSEEK_FAILED
Definition: mpg123.h:431
@ MPG123_BAD_PARAM
Definition: mpg123.h:396
@ MPG123_ERR_16TO8TABLE
Definition: mpg123.h:395
@ MPG123_BAD_CHANNEL
Definition: mpg123.h:393
@ MPG123_NO_SEEK
Definition: mpg123.h:414
@ MPG123_BAD_PARS
Definition: mpg123.h:416
@ MPG123_INT_OVERFLOW
Definition: mpg123.h:434
@ MPG123_BAD_HANDLE
Definition: mpg123.h:401
@ MPG123_RESYNC_FAIL
Definition: mpg123.h:419
@ MPG123_BAD_OUTFORMAT
Definition: mpg123.h:392
@ MPG123_NO_TIMEOUT
Definition: mpg123.h:412
@ MPG123_INDEX_FAIL
Definition: mpg123.h:427
@ MPG123_BAD_BUFFER
Definition: mpg123.h:397
@ MPG123_ERR
Definition: mpg123.h:390
@ MPG123_NULL_POINTER
Definition: mpg123.h:424
@ MPG123_BAD_RVA
Definition: mpg123.h:403
@ MPG123_BAD_FILE
Definition: mpg123.h:413
@ MPG123_ERR_READER
Definition: mpg123.h:409
@ MPG123_NO_SEEK_FROM_END
Definition: mpg123.h:410
@ MPG123_NOT_INITIALIZED
Definition: mpg123.h:399
@ MPG123_OUT_OF_MEM
Definition: mpg123.h:398
@ MPG123_NULL_BUFFER
Definition: mpg123.h:422
@ MPG123_OUT_OF_SYNC
Definition: mpg123.h:418
@ MPG123_NO_SPACE
Definition: mpg123.h:405
@ MPG123_ERR_NULL
Definition: mpg123.h:408
@ MPG123_BAD_TYPES
Definition: mpg123.h:406
@ MPG123_LFS_OVERFLOW
Definition: mpg123.h:433
@ MPG123_NEW_FORMAT
Definition: mpg123.h:388
@ MPG123_BAD_KEY
Definition: mpg123.h:425
@ MPG123_NO_READER
Definition: mpg123.h:415
@ MPG123_BAD_CUSTOM_IO
Definition: mpg123.h:432
@ MPG123_BAD_WHENCE
Definition: mpg123.h:411
@ MPG123_BAD_ALIGN
Definition: mpg123.h:421
@ MPG123_NO_BUFFERS
Definition: mpg123.h:402
@ MPG123_NO_INDEX
Definition: mpg123.h:426
@ MPG123_DONE
Definition: mpg123.h:387
@ MPG123_BAD_DECODER_SETUP
Definition: mpg123.h:428
@ MPG123_NO_RELSEEK
Definition: mpg123.h:423
@ MPG123_NO_GAPLESS
Definition: mpg123.h:404
@ MPG123_BAD_INDEX_PAR
Definition: mpg123.h:417
@ MPG123_BAD_VALUE
Definition: mpg123.h:430
@ MPG123_MISSING_FEATURE
Definition: mpg123.h:429
@ MPG123_BAD_BAND
Definition: mpg123.h:407
@ MPG123_OK
Definition: mpg123.h:391
@ MPG123_BAD_RATE
Definition: mpg123.h:394
@ MPG123_BAD_DECODER
Definition: mpg123.h:400
@ MPG123_NO_8BIT
Definition: mpg123.h:420
MPG123_EXPORT void mpg123_free(void *ptr)
Definition: libmpg123.c:1722
mpg123_param_flags
Definition: mpg123.h:220
MPG123_EXPORT void mpg123_delete(mpg123_handle *mh)
Definition: libmpg123.c:1712
MPG123_EXPORT int mpg123_feature2(int key)
Definition: feature.c:3
MPG123_EXPORT int mpg123_getparam(mpg123_handle *mh, enum mpg123_parms type, long *value, double *fvalue)
Definition: libmpg123.c:268
mpg123_parms
Definition: mpg123.h:190
mpg123_param_rva
Definition: mpg123.h:281
mpg123_feature_set
Definition: mpg123.h:312
MPG123_EXPORT void mpg123_exit(void)
Definition: libmpg123.c:50
MPG123_EXPORT int mpg123_param(mpg123_handle *mh, enum mpg123_parms type, long value, double fvalue)
Definition: libmpg123.c:127
MPG123_EXPORT int mpg123_init(void)
Definition: libmpg123.c:23
MPG123_EXPORT mpg123_handle * mpg123_new(const char *decoder, int *error)
Definition: libmpg123.c:57
MPG123_EXPORT int mpg123_feature(const enum mpg123_feature_set key)
Definition: feature.c:8
@ MPG123_IGNORE_STREAMLENGTH
Definition: mpg123.h:234
@ MPG123_FORCE_MONO
Definition: mpg123.h:221
@ MPG123_FUZZY
Definition: mpg123.h:231
@ MPG123_FORCE_FLOAT
Definition: mpg123.h:232
@ MPG123_QUIET
Definition: mpg123.h:227
@ MPG123_NO_RESYNC
Definition: mpg123.h:229
@ MPG123_IGNORE_INFOFRAME
Definition: mpg123.h:236
@ MPG123_MONO_LEFT
Definition: mpg123.h:222
@ MPG123_FORCE_8BIT
Definition: mpg123.h:226
@ MPG123_BIG_ENDIAN
Definition: mpg123.h:253
@ MPG123_PICTURE
Definition: mpg123.h:238
@ MPG123_SEEKBUFFER
Definition: mpg123.h:230
@ MPG123_GAPLESS
Definition: mpg123.h:228
@ MPG123_FORCE_STEREO
Definition: mpg123.h:225
@ MPG123_NO_PEEK_END
Definition: mpg123.h:239
@ MPG123_STORE_RAW_ID3
Definition: mpg123.h:246
@ MPG123_MONO_RIGHT
Definition: mpg123.h:223
@ MPG123_FORCE_SEEKABLE
Definition: mpg123.h:245
@ MPG123_AUTO_RESAMPLE
Definition: mpg123.h:237
@ MPG123_NO_READAHEAD
Definition: mpg123.h:254
@ MPG123_PLAIN_ID3TEXT
Definition: mpg123.h:233
@ MPG123_FORCE_ENDIAN
Definition: mpg123.h:247
@ MPG123_FLOAT_FALLBACK
Definition: mpg123.h:261
@ MPG123_MONO_MIX
Definition: mpg123.h:224
@ MPG123_SKIP_ID3V2
Definition: mpg123.h:235
@ MPG123_NO_FRANKENSTEIN
Definition: mpg123.h:269
@ MPG123_VERBOSE
Definition: mpg123.h:191
@ MPG123_UPSPEED
Definition: mpg123.h:198
@ MPG123_TIMEOUT
Definition: mpg123.h:204
@ MPG123_DOWNSPEED
Definition: mpg123.h:197
@ MPG123_START_FRAME
Definition: mpg123.h:199
@ MPG123_DOWN_SAMPLE
Definition: mpg123.h:195
@ MPG123_RESYNC_LIMIT
Definition: mpg123.h:206
@ MPG123_INDEX_SIZE
Definition: mpg123.h:207
@ MPG123_ADD_FLAGS
Definition: mpg123.h:193
@ MPG123_OUTSCALE
Definition: mpg123.h:203
@ MPG123_FREEFORMAT_SIZE
Definition: mpg123.h:211
@ MPG123_ICY_INTERVAL
Definition: mpg123.h:201
@ MPG123_FEEDPOOL
Definition: mpg123.h:209
@ MPG123_FEEDBUFFER
Definition: mpg123.h:210
@ MPG123_REMOVE_FLAGS
Definition: mpg123.h:205
@ MPG123_FLAGS
Definition: mpg123.h:192
@ MPG123_FORCE_RATE
Definition: mpg123.h:194
@ MPG123_DECODE_FRAMES
Definition: mpg123.h:200
@ MPG123_PREFRAMES
Definition: mpg123.h:208
@ MPG123_RVA
Definition: mpg123.h:196
@ MPG123_RVA_MIX
Definition: mpg123.h:283
@ MPG123_RVA_ALBUM
Definition: mpg123.h:284
@ MPG123_RVA_MAX
Definition: mpg123.h:285
@ MPG123_RVA_OFF
Definition: mpg123.h:282
@ MPG123_FEATURE_INDEX
Definition: mpg123.h:317
@ MPG123_FEATURE_TIMEOUT_READ
Definition: mpg123.h:326
@ MPG123_FEATURE_DECODE_LAYER3
Definition: mpg123.h:321
@ MPG123_FEATURE_DECODE_NTOM
Definition: mpg123.h:324
@ MPG123_FEATURE_EQUALIZER
Definition: mpg123.h:327
@ MPG123_FEATURE_MOREINFO
Definition: mpg123.h:328
@ MPG123_FEATURE_PARSE_ID3V2
Definition: mpg123.h:318
@ MPG123_FEATURE_PARSE_ICY
Definition: mpg123.h:325
@ MPG123_FEATURE_OUTPUT_FLOAT32
Definition: mpg123.h:329
@ MPG123_FEATURE_OUTPUT_32BIT
Definition: mpg123.h:316
@ MPG123_FEATURE_OUTPUT_FLOAT64
Definition: mpg123.h:330
@ MPG123_FEATURE_OUTPUT_8BIT
Definition: mpg123.h:314
@ MPG123_FEATURE_ABI_UTF8OPEN
Definition: mpg123.h:313
@ MPG123_FEATURE_DECODE_ACCURATE
Definition: mpg123.h:322
@ MPG123_FEATURE_DECODE_DOWNSAMPLE
Definition: mpg123.h:323
@ MPG123_FEATURE_DECODE_LAYER2
Definition: mpg123.h:320
@ MPG123_FEATURE_OUTPUT_16BIT
Definition: mpg123.h:315
@ MPG123_FEATURE_DECODE_LAYER1
Definition: mpg123.h:319
MPG123_EXPORT int mpg123_open_feed(mpg123_handle *mh)
Definition: libmpg123.c:535
MPG123_EXPORT int mpg123_feed(mpg123_handle *mh, const unsigned char *in, size_t size)
Definition: libmpg123.c:947
MPG123_EXPORT int mpg123_close(mpg123_handle *mh)
Definition: libmpg123.c:1694
MPG123_EXPORT int mpg123_decode(mpg123_handle *mh, const unsigned char *inmemory, size_t inmemsize, void *outmemory, size_t outmemsize, size_t *done)
Definition: libmpg123.c:992
MPG123_EXPORT int mpg123_open(mpg123_handle *mh, const char *path)
Definition: lfs_alias.c:112
MPG123_EXPORT int mpg123_open_fd(mpg123_handle *mh, int fd)
Definition: lfs_alias.c:118
MPG123_EXPORT int mpg123_open_fixed(mpg123_handle *mh, const char *path, int channels, int encoding)
Definition: lfs_alias.c:105
MPG123_EXPORT int mpg123_framedata(mpg123_handle *mh, unsigned long *header, unsigned char **bodydata, size_t *bodybytes)
Definition: frame.c:626
MPG123_EXPORT int mpg123_open_handle(mpg123_handle *mh, void *iohandle)
Definition: lfs_alias.c:124
MPG123_EXPORT int mpg123_decode_frame(mpg123_handle *mh, off_t *num, unsigned char **audio, size_t *bytes)
Definition: lfs_wrap.c:166
MPG123_EXPORT int mpg123_read(mpg123_handle *mh, void *outmemory, size_t outmemsize, size_t *done)
Definition: libmpg123.c:942
MPG123_EXPORT int mpg123_framebyframe_next(mpg123_handle *mh)
Definition: libmpg123.c:860
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 off_t mpg123_framepos(mpg123_handle *mh)
Definition: frame.c:1054
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
MPG123_EXPORT size_t mpg123_outblock(mpg123_handle *mh)
Definition: libmpg123.c:653
int mainbits[2][2]
Definition: mpg123.h:1078
int preflag[2][2]
Definition: mpg123.h:1075
mpg123_string * genre
Definition: mpg123.h:1442
size_t texts
Definition: mpg123.h:1449
char * p
Definition: mpg123.h:1201
mpg123_string * title
Definition: mpg123.h:1438
mpg123_text * text
Definition: mpg123.h:1448
mpg123_string description
Definition: mpg123.h:1424
enum mpg123_mode mode
Definition: mpg123.h:1051
int scalefac_scale[2][2]
Definition: mpg123.h:1074
int mixed[2][2]
Definition: mpg123.h:1077
mpg123_string * comment
Definition: mpg123.h:1443
int sub_gain[2][2][3]
Definition: mpg123.h:1073
enum mpg123_vbr vbr
Definition: mpg123.h:1058
mpg123_string text
Definition: mpg123.h:1388
mpg123_string * artist
Definition: mpg123.h:1439
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
mpg123_string * year
Definition: mpg123.h:1441
int sfbits[2][2]
Definition: mpg123.h:1079
unsigned char * data
Definition: mpg123.h:1427
enum mpg123_flags flags
Definition: mpg123.h:1054
enum mpg123_version version
Definition: mpg123.h:1048
size_t comments
Definition: mpg123.h:1447
int big_values[2][2]
Definition: mpg123.h:1072
int qss[2][2]
Definition: mpg123.h:1071
int blocktype[2][2]
Definition: mpg123.h:1076
unsigned char version
Definition: mpg123.h:1437
size_t fill
Definition: mpg123.h:1203
mpg123_text * comment_list
Definition: mpg123.h:1446
size_t pictures
Definition: mpg123.h:1454
mpg123_string mime_type
Definition: mpg123.h:1425
unsigned char genre
Definition: mpg123.h:1469
mpg123_picture * picture
Definition: mpg123.h:1452
double sfb_s[2][2][3 *13]
Definition: mpg123.h:1070
double xr[2][2][576]
Definition: mpg123.h:1068
size_t size
Definition: mpg123.h:1426
mpg123_string * album
Definition: mpg123.h:1440
int scfsi[2]
Definition: mpg123.h:1080
MPG123_EXPORT int mpg123_replace_buffer(mpg123_handle *mh, void *data, size_t size)
Definition: frame.c:219
mpg123_text * extra
Definition: mpg123.h:1450
double sfb[2][2][22]
Definition: mpg123.h:1069
size_t size
Definition: mpg123.h:1202
mpg123_string description
Definition: mpg123.h:1387
size_t extras
Definition: mpg123.h:1451
MPG123_EXPORT int mpg123_same_string(mpg123_string *a, mpg123_string *b)
Definition: stringbuf.c:241
MPG123_EXPORT int mpg123_grow_string(mpg123_string *sb, size_t news)
Definition: stringbuf.c:51
MPG123_EXPORT int mpg123_meta_check(mpg123_handle *mh)
Definition: libmpg123.c:1503
MPG123_EXPORT void mpg123_free_string(mpg123_string *sb)
Definition: stringbuf.c:43
MPG123_EXPORT int mpg123_set_substring(mpg123_string *sb, const char *stuff, size_t from, size_t count)
Definition: stringbuf.c:170
mpg123_text_encoding
Definition: mpg123.h:1331
MPG123_EXPORT void mpg123_meta_free(mpg123_handle *mh)
Definition: libmpg123.c:1509
MPG123_EXPORT size_t mpg123_strlen(mpg123_string *sb, int utf8)
Definition: stringbuf.c:186
MPG123_EXPORT int mpg123_resize_string(mpg123_string *sb, size_t news)
Definition: stringbuf.c:59
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:1604
MPG123_EXPORT mpg123_string * mpg123_new_string(const char *val)
Definition: stringbuf.c:17
MPG123_EXPORT int mpg123_icy(mpg123_handle *mh, char **icy_meta)
Definition: libmpg123.c:1557
mpg123_id3_enc
Definition: mpg123.h:1351
MPG123_EXPORT int mpg123_add_substring(mpg123_string *sb, const char *stuff, size_t from, size_t count)
Definition: stringbuf.c:141
MPG123_EXPORT int mpg123_id3(mpg123_handle *mh, mpg123_id3v1 **v1, mpg123_id3v2 **v2)
Definition: libmpg123.c:1517
MPG123_EXPORT int mpg123_set_string(mpg123_string *sb, const char *stuff)
Definition: stringbuf.c:178
MPG123_EXPORT int mpg123_copy_string(mpg123_string *from, mpg123_string *to)
Definition: stringbuf.c:93
MPG123_EXPORT char * mpg123_icy2utf8(const char *icy_text)
Definition: libmpg123.c:1581
MPG123_EXPORT int mpg123_add_string(mpg123_string *sb, const char *stuff)
Definition: stringbuf.c:135
MPG123_EXPORT enum mpg123_text_encoding mpg123_enc_from_id3(unsigned char id3_enc_byte)
Definition: libmpg123.c:1591
MPG123_EXPORT void mpg123_delete_string(mpg123_string *sb)
Definition: stringbuf.c:27
MPG123_EXPORT int mpg123_chomp_string(mpg123_string *sb)
Definition: stringbuf.c:218
MPG123_EXPORT void mpg123_init_string(mpg123_string *sb)
Definition: stringbuf.c:35
mpg123_id3_pic_type
Definition: mpg123.h:1393
MPG123_EXPORT int mpg123_id3_raw(mpg123_handle *mh, unsigned char **v1, size_t *v1_size, unsigned char **v2, size_t *v2_size)
Definition: libmpg123.c:1540
MPG123_EXPORT int mpg123_move_string(mpg123_string *from, mpg123_string *to)
Definition: stringbuf.c:122
@ mpg123_text_cp1252
Definition: mpg123.h:1336
@ mpg123_text_max
Definition: mpg123.h:1346
@ mpg123_text_utf16bom
Definition: mpg123.h:1341
@ mpg123_text_utf16be
Definition: mpg123.h:1342
@ mpg123_text_unknown
Definition: mpg123.h:1332
@ mpg123_text_icy
Definition: mpg123.h:1335
@ mpg123_text_utf16
Definition: mpg123.h:1337
@ mpg123_text_utf8
Definition: mpg123.h:1333
@ mpg123_text_latin1
Definition: mpg123.h:1334
@ mpg123_id3_latin1
Definition: mpg123.h:1352
@ mpg123_id3_utf16be
Definition: mpg123.h:1354
@ mpg123_id3_enc_max
Definition: mpg123.h:1356
@ mpg123_id3_utf16bom
Definition: mpg123.h:1353
@ mpg123_id3_utf8
Definition: mpg123.h:1355
@ mpg123_id3_pic_publisher_logo
Definition: mpg123.h:1414
@ mpg123_id3_pic_performance
Definition: mpg123.h:1409
@ mpg123_id3_pic_leaflet
Definition: mpg123.h:1399
@ mpg123_id3_pic_recording
Definition: mpg123.h:1408
@ mpg123_id3_pic_back_cover
Definition: mpg123.h:1398
@ mpg123_id3_pic_video
Definition: mpg123.h:1410
@ mpg123_id3_pic_conductor
Definition: mpg123.h:1403
@ mpg123_id3_pic_media
Definition: mpg123.h:1400
@ mpg123_id3_pic_lead
Definition: mpg123.h:1401
@ mpg123_id3_pic_artist
Definition: mpg123.h:1402
@ mpg123_id3_pic_artist_logo
Definition: mpg123.h:1413
@ mpg123_id3_pic_orchestra
Definition: mpg123.h:1404
@ mpg123_id3_pic_icon
Definition: mpg123.h:1395
@ mpg123_id3_pic_composer
Definition: mpg123.h:1405
@ mpg123_id3_pic_other
Definition: mpg123.h:1394
@ mpg123_id3_pic_location
Definition: mpg123.h:1407
@ mpg123_id3_pic_illustration
Definition: mpg123.h:1412
@ mpg123_id3_pic_front_cover
Definition: mpg123.h:1397
@ mpg123_id3_pic_lyricist
Definition: mpg123.h:1406
@ mpg123_id3_pic_fish
Definition: mpg123.h:1411
@ mpg123_id3_pic_other_icon
Definition: mpg123.h:1396
MPG123_EXPORT int mpg123_format2(mpg123_handle *mh, long rate, int channels, int encodings)
Definition: format.c:464
MPG123_EXPORT int mpg123_format_all(mpg123_handle *mh)
Definition: format.c:438
MPG123_EXPORT int mpg123_format_none(mpg123_handle *mh)
Definition: format.c:417
mpg123_channelcount
Definition: mpg123.h:524
MPG123_EXPORT void mpg123_encodings(const int **list, size_t *number)
Definition: format.c:125
MPG123_EXPORT void mpg123_rates(const long **list, size_t *number)
Definition: format.c:118
MPG123_EXPORT int mpg123_format(mpg123_handle *mh, long rate, int channels, int encodings)
Definition: format.c:475
MPG123_EXPORT int mpg123_getformat2(mpg123_handle *mh, long *rate, int *channels, int *encoding, int clear_flag)
Definition: libmpg123.c:1125
MPG123_EXPORT int mpg123_format_support(mpg123_handle *mh, long rate, int encoding)
Definition: format.c:531
MPG123_EXPORT int mpg123_getformat(mpg123_handle *mh, long *rate, int *channels, int *encoding)
Definition: libmpg123.c:1141
MPG123_EXPORT int mpg123_encsize(int encoding)
Definition: format.c:131
@ MPG123_STEREO
Definition: mpg123.h:526
@ MPG123_MONO
Definition: mpg123.h:525
MPG123_EXPORT int mpg123_set_index(mpg123_handle *mh, off_t *offsets, off_t step, size_t fill)
Definition: lfs_wrap.c:406
MPG123_EXPORT off_t mpg123_tell_stream(mpg123_handle *mh)
Definition: lfs_alias.c:160
MPG123_EXPORT off_t mpg123_tellframe(mpg123_handle *mh)
Definition: lfs_alias.c:154
MPG123_EXPORT off_t mpg123_tell(mpg123_handle *mh)
Definition: lfs_alias.c:148
MPG123_EXPORT off_t mpg123_feedseek(mpg123_handle *mh, off_t sampleoff, int whence, off_t *input_offset)
Definition: lfs_wrap.c:291
MPG123_EXPORT off_t mpg123_timeframe(mpg123_handle *mh, double sec)
Definition: lfs_alias.c:184
MPG123_EXPORT off_t mpg123_seek(mpg123_handle *mh, off_t sampleoff, int whence)
Definition: lfs_wrap.c:274
MPG123_EXPORT off_t mpg123_seek_frame(mpg123_handle *mh, off_t frameoff, int whence)
Definition: lfs_wrap.c:313
MPG123_EXPORT int mpg123_index(mpg123_handle *mh, off_t **offsets, off_t *step, size_t *fill)
Definition: lfs_wrap.c:349
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
mpg123_mode
Definition: mpg123.h:1029
mpg123_version
Definition: mpg123.h:1020
MPG123_EXPORT int mpg123_scan(mpg123_handle *mh)
Definition: libmpg123.c:1461
MPG123_EXPORT int mpg123_info(mpg123_handle *mh, struct mpg123_frameinfo *mi)
Definition: libmpg123.c:1087
MPG123_EXPORT int mpg123_spf(mpg123_handle *mh)
Definition: parse.c:973
MPG123_EXPORT double mpg123_tpf(mpg123_handle *mh)
Definition: parse.c:980
MPG123_EXPORT off_t mpg123_length(mpg123_handle *mh)
Definition: lfs_alias.c:214
mpg123_vbr
Definition: mpg123.h:1013
MPG123_EXPORT off_t mpg123_framelength(mpg123_handle *mh)
Definition: lfs_alias.c:208
MPG123_EXPORT int mpg123_set_moreinfo(mpg123_handle *mh, struct mpg123_moreinfo *mi)
Definition: frame.c:638
MPG123_EXPORT int mpg123_set_filesize(mpg123_handle *mh, off_t size)
Definition: lfs_wrap.c:507
MPG123_EXPORT long mpg123_clip(mpg123_handle *mh)
Definition: libmpg123.c:1061
mpg123_state
Definition: mpg123.h:1166
mpg123_flags
Definition: mpg123.h:1038
MPG123_EXPORT int mpg123_getstate(mpg123_handle *mh, enum mpg123_state key, long *val, double *fval)
Definition: libmpg123.c:360
MPG123_EXPORT size_t mpg123_safe_buffer(void)
Definition: libmpg123.c:647
@ MPG123_M_MONO
Definition: mpg123.h:1033
@ MPG123_M_DUAL
Definition: mpg123.h:1032
@ MPG123_M_JOINT
Definition: mpg123.h:1031
@ MPG123_M_STEREO
Definition: mpg123.h:1030
@ MPG123_2_0
Definition: mpg123.h:1022
@ MPG123_1_0
Definition: mpg123.h:1021
@ MPG123_2_5
Definition: mpg123.h:1023
@ MPG123_CBR
Definition: mpg123.h:1014
@ MPG123_ABR
Definition: mpg123.h:1016
@ MPG123_VBR
Definition: mpg123.h:1015
@ MPG123_ACCURATE
Definition: mpg123.h:1167
@ MPG123_BUFFERFILL
Definition: mpg123.h:1168
@ MPG123_DEC_DELAY
Definition: mpg123.h:1173
@ MPG123_ENC_DELAY
Definition: mpg123.h:1171
@ MPG123_FRANKENSTEIN
Definition: mpg123.h:1169
@ MPG123_ENC_PADDING
Definition: mpg123.h:1172
@ MPG123_FRESH_DECODER
Definition: mpg123.h:1170
@ MPG123_PRIVATE
Definition: mpg123.h:1041
@ MPG123_COPYRIGHT
Definition: mpg123.h:1040
@ MPG123_CRC
Definition: mpg123.h:1039
@ MPG123_ORIGINAL
Definition: mpg123.h:1042
MPG123_EXPORT int mpg123_getvolume(mpg123_handle *mh, double *base, double *really, double *rva_db)
Definition: frame.c:1045
MPG123_EXPORT int mpg123_reset_eq(mpg123_handle *mh)
Definition: frame.c:172
MPG123_EXPORT int mpg123_volume_change(mpg123_handle *mh, double change)
Definition: frame.c:974
MPG123_EXPORT double mpg123_geteq(mpg123_handle *mh, enum mpg123_channels channel, int band)
Definition: libmpg123.c:437
MPG123_EXPORT int mpg123_volume(mpg123_handle *mh, double vol)
Definition: frame.c:980
MPG123_EXPORT int mpg123_eq(mpg123_handle *mh, enum mpg123_channels channel, int band, double val)
Definition: libmpg123.c:416
mpg123_channels
Definition: mpg123.h:945
@ MPG123_LEFT
Definition: mpg123.h:946
@ MPG123_RIGHT
Definition: mpg123.h:947
@ MPG123_LR
Definition: mpg123.h:948
#define frame_offset
Definition: intsym.h:201
#define error(str)
Definition: mkdosfs.c:1605
static PVOID ptr
Definition: dispmode.c:27
#define comment(fmt, arg1)
Definition: rebar.c:847
static unsigned int number
Definition: dsound.c:1479
static MONITORINFO mi
Definition: win.c:9400
#define MPG123_EXPORT
Definition: mpg123.h:39
static char title[]
Definition: ps.c:92
int ssize_t
Definition: rosdhcp.h:52
int errcode
Definition: crtdefs.h:222
static int fd
Definition: io.c:51
CardRegion * from
Definition: spigame.cpp:19
Definition: band.c:76
Definition: icy.h:17
Definition: copy.c:22
off_t input_offset
Definition: frame.h:217
Definition: ecma_167.h:138
Definition: pdh_main.c:64
static const WCHAR lang[]
Definition: wbemdisp.c:287