# 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
3
4 copyright 1995-2023 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
24 #define MPG123_API_VERSION 49
25
26 #define MPG123_PATCHLEVEL 4
27
28 #ifndef MPG123_EXPORT
29
36 #ifdef BUILD_MPG123_DLL
37 /* The dll exports. */
38 #define MPG123_EXPORT __declspec(dllexport)
39 #else
40 #ifdef LINK_MPG123_DLL
41 /* The exe imports. */
42 #define MPG123_EXPORT __declspec(dllimport)
43 #else
44 /* Nothing on normal/UNIX builds */
45 #define MPG123_EXPORT
46 #endif
47 #endif
48 #endif
49
78 #ifndef MPG123_ENUM_API
79
80 #define mpg123_param mpg123_param2
81 #define mpg123_getparam mpg123_getparam2
82 #define mpg123_feature mpg123_feature2
83 #define mpg123_eq mpg123_eq2
84 #define mpg123_geteq mpg123_geteq2
85 #define mpg123_frameinfo mpg123_frameinfo2
86 #define mpg123_info mpg123_info2
87 #define mpg123_getstate mpg123_getstate2
88 #define mpg123_enc_from_id3 mpg123_enc_from_id3_2
89 #define mpg123_store_utf8 mpg123_store_utf8_2
90 #define mpg123_par mpg123_par2
91 #define mpg123_getpar mpg123_getpar2
92
93 #endif
94
95 #include <stddef.h>
96 #include <stdint.h>
97
98 #ifndef MPG123_PORTABLE_API
99 #include <sys/types.h>
101 #ifdef _MSC_VER
102 typedef ptrdiff_t mpg123_ssize_t;
103 #else
104 typedef ssize_t mpg123_ssize_t;
105 #endif
106 #endif
107
108
135 #ifndef MPG123_PORTABLE_API
136
165 #if (!defined MPG123_NO_LARGENAME) && ((defined _FILE_OFFSET_BITS) || (defined MPG123_LARGESUFFIX))
166
167 /* Need some trickery to concatenate the value(s) of the given macro(s). */
168 #define MPG123_MACROCAT_REALLY(a, b) a ## b
169 #define MPG123_MACROCAT(a, b) MPG123_MACROCAT_REALLY(a, b)
170 #ifndef MPG123_LARGESUFFIX
171 #define MPG123_LARGESUFFIX MPG123_MACROCAT(_, _FILE_OFFSET_BITS)
172 #endif
173 #define MPG123_LARGENAME(func) MPG123_MACROCAT(func, MPG123_LARGESUFFIX)
174
175 #define mpg123_open_fixed MPG123_LARGENAME(mpg123_open_fixed)
176 #define mpg123_open MPG123_LARGENAME(mpg123_open)
177 #define mpg123_open_fd MPG123_LARGENAME(mpg123_open_fd)
178 #define mpg123_open_handle MPG123_LARGENAME(mpg123_open_handle)
179 #define mpg123_framebyframe_decode MPG123_LARGENAME(mpg123_framebyframe_decode)
180 #define mpg123_decode_frame MPG123_LARGENAME(mpg123_decode_frame)
181 #define mpg123_tell MPG123_LARGENAME(mpg123_tell)
182 #define mpg123_tellframe MPG123_LARGENAME(mpg123_tellframe)
183 #define mpg123_tell_stream MPG123_LARGENAME(mpg123_tell_stream)
184 #define mpg123_seek MPG123_LARGENAME(mpg123_seek)
185 #define mpg123_feedseek MPG123_LARGENAME(mpg123_feedseek)
186 #define mpg123_seek_frame MPG123_LARGENAME(mpg123_seek_frame)
187 #define mpg123_timeframe MPG123_LARGENAME(mpg123_timeframe)
188 #define mpg123_index MPG123_LARGENAME(mpg123_index)
189 #define mpg123_set_index MPG123_LARGENAME(mpg123_set_index)
190 #define mpg123_position MPG123_LARGENAME(mpg123_position)
191 #define mpg123_length MPG123_LARGENAME(mpg123_length)
192 #define mpg123_framelength MPG123_LARGENAME(mpg123_framelength)
193 #define mpg123_set_filesize MPG123_LARGENAME(mpg123_set_filesize)
194 #define mpg123_replace_reader MPG123_LARGENAME(mpg123_replace_reader)
195 #define mpg123_replace_reader_handle MPG123_LARGENAME(mpg123_replace_reader_handle)
196 #define mpg123_framepos MPG123_LARGENAME(mpg123_framepos)
197
198 #endif /* largefile hackery */
199 #endif
200
203 #ifdef __cplusplus
204 extern "C" {
205 #endif
206
217 struct mpg123_handle_struct;
218
222 typedef struct mpg123_handle_struct mpg123_handle;
223
231 const char *mpg123_distversion(unsigned int *major, unsigned int *minor, unsigned int *patch);
232
237 unsigned int mpg123_libversion(unsigned int *patch);
238
252 MPG123_EXPORT int mpg123_init(void);
253
259 MPG123_EXPORT void mpg123_exit(void);
260
269 MPG123_EXPORT mpg123_handle *mpg123_new(const char* decoder, int *error);
270
274 MPG123_EXPORT void mpg123_delete(mpg123_handle *mh);
275
281 MPG123_EXPORT void mpg123_free(void *ptr);
282
284 enum mpg123_parms
285 {
286 MPG123_VERBOSE = 0,
287 MPG123_FLAGS,
288 MPG123_ADD_FLAGS,
289 MPG123_FORCE_RATE,
290 MPG123_DOWN_SAMPLE,
291 MPG123_RVA,
292 MPG123_DOWNSPEED,
293 MPG123_UPSPEED,
294 MPG123_START_FRAME,
295 MPG123_DECODE_FRAMES,
296 MPG123_ICY_INTERVAL,
298 MPG123_OUTSCALE,
299 MPG123_TIMEOUT,
300 MPG123_REMOVE_FLAGS,
301 MPG123_RESYNC_LIMIT,
302 MPG123_INDEX_SIZE
303 ,MPG123_PREFRAMES
304 ,MPG123_FEEDPOOL
305 ,MPG123_FEEDBUFFER
306 ,MPG123_FREEFORMAT_SIZE
311 };
312
314 enum mpg123_param_flags
315 {
316 MPG123_FORCE_MONO = 0x7
317 ,MPG123_MONO_LEFT = 0x1
318 ,MPG123_MONO_RIGHT = 0x2
319 ,MPG123_MONO_MIX = 0x4
320 ,MPG123_FORCE_STEREO = 0x8
321 ,MPG123_FORCE_8BIT = 0x10
322 ,MPG123_QUIET = 0x20
323 ,MPG123_GAPLESS = 0x40
324 ,MPG123_NO_RESYNC = 0x80
325 ,MPG123_SEEKBUFFER = 0x100
326 ,MPG123_FUZZY = 0x200
327 ,MPG123_FORCE_FLOAT = 0x400
328 ,MPG123_PLAIN_ID3TEXT = 0x800
329 ,MPG123_IGNORE_STREAMLENGTH = 0x1000
330 ,MPG123_SKIP_ID3V2 = 0x2000
331 ,MPG123_IGNORE_INFOFRAME = 0x4000
332 ,MPG123_AUTO_RESAMPLE = 0x8000
333 ,MPG123_PICTURE = 0x10000
334 ,MPG123_NO_PEEK_END = 0x20000
340 ,MPG123_FORCE_SEEKABLE = 0x40000
341 ,MPG123_STORE_RAW_ID3 = 0x80000
346 ,MPG123_FORCE_ENDIAN = 0x100000
352 ,MPG123_BIG_ENDIAN = 0x200000
353 ,MPG123_NO_READAHEAD = 0x400000
360 ,MPG123_FLOAT_FALLBACK = 0x800000
368 ,MPG123_NO_FRANKENSTEIN = 0x1000000
376 };
377
379 enum mpg123_param_rva
380 {
381 MPG123_RVA_OFF = 0
382 ,MPG123_RVA_MIX = 1
383 ,MPG123_RVA_ALBUM = 2
384 ,MPG123_RVA_MAX = MPG123_RVA_ALBUM
385 };
386
387 #ifdef MPG123_ENUM_API
388
399 MPG123_EXPORT int mpg123_param( mpg123_handle *mh
400 , enum mpg123_parms type, long value, double fvalue );
401 #endif
402
414 MPG123_EXPORT int mpg123_param2( mpg123_handle *mh
415 , int type, long value, double fvalue );
416
417 #ifdef MPG123_ENUM_API
418
429 MPG123_EXPORT int mpg123_getparam( mpg123_handle *mh
430 , enum mpg123_parms type, long *value, double *fvalue );
431 #endif
432
444 MPG123_EXPORT int mpg123_getparam2( mpg123_handle *mh
445 , int type, long *value, double *fvalue );
446
448 enum mpg123_feature_set
449 {
450 MPG123_FEATURE_ABI_UTF8OPEN = 0
451 ,MPG123_FEATURE_OUTPUT_8BIT
452 ,MPG123_FEATURE_OUTPUT_16BIT
453 ,MPG123_FEATURE_OUTPUT_32BIT
454 ,MPG123_FEATURE_INDEX
455 ,MPG123_FEATURE_PARSE_ID3V2
456 ,MPG123_FEATURE_DECODE_LAYER1
457 ,MPG123_FEATURE_DECODE_LAYER2
458 ,MPG123_FEATURE_DECODE_LAYER3
459 ,MPG123_FEATURE_DECODE_ACCURATE
460 ,MPG123_FEATURE_DECODE_DOWNSAMPLE
461 ,MPG123_FEATURE_DECODE_NTOM
462 ,MPG123_FEATURE_PARSE_ICY
463 ,MPG123_FEATURE_TIMEOUT_READ
464 ,MPG123_FEATURE_EQUALIZER
465 ,MPG123_FEATURE_MOREINFO
466 ,MPG123_FEATURE_OUTPUT_FLOAT32
467 ,MPG123_FEATURE_OUTPUT_FLOAT64
468 };
469
470 #ifdef MPG123_ENUM_API
471
479 MPG123_EXPORT int mpg123_feature(const enum mpg123_feature_set key);
480 #endif
481
490 MPG123_EXPORT int mpg123_feature2(int key);
491
527 enum mpg123_errors
528 {
529 MPG123_DONE=-12,
530 MPG123_NEW_FORMAT=-11,
531 MPG123_NEED_MORE=-10,
532 MPG123_ERR=-1,
533 MPG123_OK=0,
534 MPG123_BAD_OUTFORMAT,
535 MPG123_BAD_CHANNEL,
536 MPG123_BAD_RATE,
537 MPG123_ERR_16TO8TABLE,
538 MPG123_BAD_PARAM,
539 MPG123_BAD_BUFFER,
540 MPG123_OUT_OF_MEM,
541 MPG123_NOT_INITIALIZED,
542 MPG123_BAD_DECODER,
543 MPG123_BAD_HANDLE,
544 MPG123_NO_BUFFERS,
545 MPG123_BAD_RVA,
546 MPG123_NO_GAPLESS,
547 MPG123_NO_SPACE,
548 MPG123_BAD_TYPES,
549 MPG123_BAD_BAND,
550 MPG123_ERR_NULL,
551 MPG123_ERR_READER,
552 MPG123_NO_SEEK_FROM_END,
553 MPG123_BAD_WHENCE,
554 MPG123_NO_TIMEOUT,
555 MPG123_BAD_FILE,
556 MPG123_NO_SEEK,
557 MPG123_NO_READER,
558 MPG123_BAD_PARS,
559 MPG123_BAD_INDEX_PAR,
560 MPG123_OUT_OF_SYNC,
561 MPG123_RESYNC_FAIL,
562 MPG123_NO_8BIT,
563 MPG123_BAD_ALIGN,
564 MPG123_NULL_BUFFER,
565 MPG123_NO_RELSEEK,
566 MPG123_NULL_POINTER,
567 MPG123_BAD_KEY,
568 MPG123_NO_INDEX,
569 MPG123_INDEX_FAIL,
570 MPG123_BAD_DECODER_SETUP,
571 MPG123_MISSING_FEATURE
572 ,MPG123_BAD_VALUE
573 ,MPG123_LSEEK_FAILED
574 ,MPG123_BAD_CUSTOM_IO
575 ,MPG123_LFS_OVERFLOW
576 ,MPG123_INT_OVERFLOW
577 ,MPG123_BAD_FLOAT
578 };
579
584 MPG123_EXPORT const char* mpg123_plain_strerror(int errcode);
585
593 MPG123_EXPORT const char* mpg123_strerror(mpg123_handle *mh);
594
599 MPG123_EXPORT int mpg123_errcode(mpg123_handle *mh);
600
615 MPG123_EXPORT const char **mpg123_decoders(void);
616
624 MPG123_EXPORT const char **mpg123_supported_decoders(void);
625
631 MPG123_EXPORT int mpg123_decoder(mpg123_handle *mh, const char* decoder_name);
632
642 MPG123_EXPORT const char* mpg123_current_decoder(mpg123_handle *mh);
643
670 enum mpg123_channelcount
671 {
672 MPG123_MONO = 1
673 ,MPG123_STEREO = 2
674 };
675
683 MPG123_EXPORT void mpg123_rates(const long **list, size_t *number);
684
689 MPG123_EXPORT void mpg123_encodings(const int **list, size_t *number);
690
694 MPG123_EXPORT int mpg123_encsize(int encoding);
695
701 MPG123_EXPORT int mpg123_format_none(mpg123_handle *mh);
702
708 MPG123_EXPORT int mpg123_format_all(mpg123_handle *mh);
709
716 MPG123_EXPORT int mpg123_format( mpg123_handle *mh
717 , long rate, int channels, int encodings );
718
729 MPG123_EXPORT int mpg123_format2( mpg123_handle *mh
730 , long rate, int channels, int encodings );
731
739 MPG123_EXPORT int mpg123_format_support( mpg123_handle *mh
740 , long rate, int encoding );
741
753 MPG123_EXPORT int mpg123_getformat( mpg123_handle *mh
754 , long *rate, int *channels, int *encoding );
755
767 MPG123_EXPORT int mpg123_getformat2( mpg123_handle *mh
768 , long *rate, int *channels, int *encoding, int clear_flag );
769
780 #ifndef MPG123_PORTABLE_API
781
824 MPG123_EXPORT int mpg123_open_fixed(mpg123_handle *mh, const char *path
825 , int channels, int encoding);
826
842 MPG123_EXPORT int mpg123_open(mpg123_handle *mh, const char *path);
843
850 MPG123_EXPORT int mpg123_open_fd(mpg123_handle *mh, int fd);
851
867 MPG123_EXPORT int mpg123_open_handle(mpg123_handle *mh, void *iohandle);
868 #endif
869
879 MPG123_EXPORT int mpg123_open64(mpg123_handle *mh, const char *path);
880
893 MPG123_EXPORT int mpg123_open_fixed64(mpg123_handle *mh, const char *path
894 , int channels, int encoding);
895
907 MPG123_EXPORT int mpg123_open_handle64(mpg123_handle *mh, void *iohandle);
908
916 MPG123_EXPORT int mpg123_open_feed(mpg123_handle *mh);
917
922 MPG123_EXPORT int mpg123_close(mpg123_handle *mh);
923
935 MPG123_EXPORT int mpg123_read(mpg123_handle *mh
936 , void *outmemory, size_t outmemsize, size_t *done );
937
945 MPG123_EXPORT int mpg123_feed( mpg123_handle *mh
946 , const unsigned char *in, size_t size );
947
967 MPG123_EXPORT int mpg123_decode( mpg123_handle *mh
968 , const unsigned char *inmemory, size_t inmemsize
969 , void *outmemory, size_t outmemsize, size_t *done );
970
971 #ifndef MPG123_PORTABLE_API
972
980 MPG123_EXPORT int mpg123_decode_frame( mpg123_handle *mh
981 , off_t *num, unsigned char **audio, size_t *bytes );
982
992 MPG123_EXPORT int mpg123_framebyframe_decode( mpg123_handle *mh
993 , off_t *num, unsigned char **audio, size_t *bytes );
994 #endif /* un-portable API */
995
1004 MPG123_EXPORT int mpg123_decode_frame64( mpg123_handle *mh
1005 , int64_t *num, unsigned char **audio, size_t *bytes );
1006
1016 MPG123_EXPORT int mpg123_framebyframe_decode64( mpg123_handle *mh
1017 , int64_t *num, unsigned char **audio, size_t *bytes );
1018
1025 MPG123_EXPORT int mpg123_framebyframe_next(mpg123_handle *mh);
1026
1042 MPG123_EXPORT int mpg123_framedata( mpg123_handle *mh
1043 , unsigned long *header, unsigned char **bodydata, size_t *bodybytes );
1044
1045 #ifndef MPG123_PORTABLE_API
1046
1053 MPG123_EXPORT off_t mpg123_framepos(mpg123_handle *mh);
1054 #endif
1055
1063 MPG123_EXPORT int64_t mpg123_framepos64(mpg123_handle *mh);
1064
1116 #ifndef MPG123_PORTABLE_API
1117
1122 MPG123_EXPORT off_t mpg123_tell(mpg123_handle *mh);
1123 #endif
1124
1130 MPG123_EXPORT int64_t mpg123_tell64(mpg123_handle *mh);
1131
1132 #ifndef MPG123_PORTABLE_API
1133
1137 MPG123_EXPORT off_t mpg123_tellframe(mpg123_handle *mh);
1138 #endif
1139
1144 MPG123_EXPORT int64_t mpg123_tellframe64(mpg123_handle *mh);
1145
1146 #ifndef MPG123_PORTABLE_API
1147
1151 MPG123_EXPORT off_t mpg123_tell_stream(mpg123_handle *mh);
1152 #endif
1153
1158 MPG123_EXPORT int64_t mpg123_tell_stream64(mpg123_handle *mh);
1159
1160
1161 #ifndef MPG123_PORTABLE_API
1162
1171 MPG123_EXPORT off_t mpg123_seek( mpg123_handle *mh
1172 , off_t sampleoff, int whence );
1173 #endif
1174
1183 MPG123_EXPORT int64_t mpg123_seek64( mpg123_handle *mh
1184 , int64_t sampleoff, int whence );
1185
1186 #ifndef MPG123_PORTABLE_API
1187
1199 MPG123_EXPORT off_t mpg123_feedseek( mpg123_handle *mh
1200 , off_t sampleoff, int whence, off_t *input_offset );
1201 #endif
1202
1214 MPG123_EXPORT int64_t mpg123_feedseek64( mpg123_handle *mh
1215 , int64_t sampleoff, int whence, int64_t *input_offset );
1216
1217 #ifndef MPG123_PORTABLE_API
1218
1226 MPG123_EXPORT off_t mpg123_seek_frame( mpg123_handle *mh
1227 , off_t frameoff, int whence );
1228 #endif
1229
1237 MPG123_EXPORT int64_t mpg123_seek_frame64( mpg123_handle *mh
1238 , int64_t frameoff, int whence );
1239
1240 #ifndef MPG123_PORTABLE_API
1241
1244 MPG123_EXPORT off_t mpg123_timeframe(mpg123_handle *mh, double sec);
1245
1257 MPG123_EXPORT int mpg123_index( mpg123_handle *mh
1258 , off_t **offsets, off_t *step, size_t *fill );
1259 #endif
1260
1264 MPG123_EXPORT int64_t mpg123_timeframe64(mpg123_handle *mh, double sec);
1265
1275 MPG123_EXPORT int mpg123_index64( mpg123_handle *mh
1276 , int64_t **offsets, int64_t *step, size_t *fill );
1277
1278 #ifndef MPG123_PORTABLE_API
1279
1290 MPG123_EXPORT int mpg123_set_index( mpg123_handle *mh
1291 , off_t *offsets, off_t step, size_t fill );
1292 #endif
1293
1303 MPG123_EXPORT int mpg123_set_index64( mpg123_handle *mh
1304 , int64_t *offsets, int64_t step, size_t fill );
1305
1306
1307 #ifndef MPG123_PORTABLE_API
1308
1315 MPG123_EXPORT int mpg123_position( mpg123_handle *mh, off_t INT123_frame_offset, off_t buffered_bytes, off_t *current_frame, off_t *frames_left, double *current_seconds, double *seconds_left);
1316 #endif
1317
1327 enum mpg123_channels
1328 {
1329 MPG123_LEFT=0x1
1330 ,MPG123_RIGHT=0x2
1331 ,MPG123_LR=0x3
1332 };
1333
1334 #ifdef MPG123_ENUM_API
1335
1347 MPG123_EXPORT int mpg123_eq( mpg123_handle *mh
1348 , enum mpg123_channels channel, int band, double val );
1349 #endif
1350
1363 MPG123_EXPORT int mpg123_eq2( mpg123_handle *mh
1364 , int channel, int band, double val );
1365
1375 MPG123_EXPORT int mpg123_eq_bands( mpg123_handle *mh
1376 , int channel, int a, int b, double factor );
1377
1387 MPG123_EXPORT int mpg123_eq_change( mpg123_handle *mh
1388 , int channel, int a, int b, double db );
1389
1390 #ifdef MPG123_ENUM_API
1391
1401 MPG123_EXPORT double mpg123_geteq(mpg123_handle *mh
1402 , enum mpg123_channels channel, int band);
1403 #endif
1404
1415 MPG123_EXPORT double mpg123_geteq2(mpg123_handle *mh, int channel, int band);
1416
1421 MPG123_EXPORT int mpg123_reset_eq(mpg123_handle *mh);
1422
1429 MPG123_EXPORT int mpg123_volume(mpg123_handle *mh, double vol);
1430
1436 MPG123_EXPORT int mpg123_volume_change(mpg123_handle *mh, double change);
1437
1443 MPG123_EXPORT int mpg123_volume_change_db(mpg123_handle *mh, double db);
1444
1455 MPG123_EXPORT int mpg123_getvolume(mpg123_handle *mh, double *base, double *really, double *rva_db);
1456
1457 /* TODO: Set some preamp in addition / to replace internal RVA handling? */
1458
1468 enum mpg123_vbr {
1469 MPG123_CBR=0,
1470 MPG123_VBR,
1471 MPG123_ABR
1472 };
1473
1475 enum mpg123_version {
1476 MPG123_1_0=0,
1477 MPG123_2_0,
1478 MPG123_2_5
1479 };
1480
1481
1484 enum mpg123_mode {
1485 MPG123_M_STEREO=0,
1486 MPG123_M_JOINT,
1487 MPG123_M_DUAL,
1488 MPG123_M_MONO
1489 };
1490
1491
1493 enum mpg123_flags {
1494 MPG123_CRC=0x1,
1495 MPG123_COPYRIGHT=0x2,
1496 MPG123_PRIVATE=0x4,
1497 MPG123_ORIGINAL=0x8
1498 };
1499
1500 #ifdef MPG123_ENUM_API
1501
1502 struct mpg123_frameinfo
1503 {
1504 enum mpg123_version version;
1505 int layer;
1506 long rate;
1507 enum mpg123_mode mode;
1508 int mode_ext;
1509 int framesize;
1510 enum mpg123_flags flags;
1511 int emphasis;
1512 int bitrate;
1513 int abr_rate;
1514 enum mpg123_vbr vbr;
1515 };
1516 #endif
1517
1519 struct mpg123_frameinfo2
1520 {
1521 int version;
1522 int layer;
1523 long rate;
1524 int mode;
1525 int mode_ext;
1526 int framesize;
1527 int flags;
1528 int emphasis;
1529 int bitrate;
1530 int abr_rate;
1531 int vbr;
1532 };
1533
1539 struct mpg123_moreinfo
1540 {
1541 double xr[2][2][576];
1542 double sfb[2][2][22];
1543 double sfb_s[2][2][3*13];
1544 int qss[2][2];
1545 int big_values[2][2];
1546 int sub_gain[2][2][3];
1547 int scalefac_scale[2][2];
1548 int preflag[2][2];
1549 int blocktype[2][2];
1550 int mixed[2][2];
1551 int mainbits[2][2];
1552 int sfbits[2][2];
1553 int scfsi[2];
1554 int maindata;
1555 int padding;
1556 };
1557
1558 #ifdef MPG123_ENUM_API
1559
1569 MPG123_EXPORT int mpg123_info(mpg123_handle *mh, struct mpg123_frameinfo *mi);
1570 #endif
1571
1582 MPG123_EXPORT int mpg123_info2(mpg123_handle *mh, struct mpg123_frameinfo2 *mi);
1583
1590 MPG123_EXPORT int mpg123_set_moreinfo( mpg123_handle *mh
1591 , struct mpg123_moreinfo *mi );
1592
1597 MPG123_EXPORT size_t mpg123_safe_buffer(void);
1598
1606 MPG123_EXPORT int mpg123_scan(mpg123_handle *mh);
1607
1608 #ifndef MPG123_PORTABLE_API
1609
1614 MPG123_EXPORT off_t mpg123_framelength(mpg123_handle *mh);
1615
1628 MPG123_EXPORT off_t mpg123_length(mpg123_handle *mh);
1629
1636 MPG123_EXPORT int mpg123_set_filesize(mpg123_handle *mh, off_t size);
1637 #endif
1638
1644 MPG123_EXPORT int64_t mpg123_framelength64(mpg123_handle *mh);
1645
1658 MPG123_EXPORT int64_t mpg123_length64(mpg123_handle *mh);
1659
1666 MPG123_EXPORT int mpg123_set_filesize64(mpg123_handle *mh, int64_t size);
1667
1672 MPG123_EXPORT double mpg123_tpf(mpg123_handle *mh);
1673
1678 MPG123_EXPORT int mpg123_spf(mpg123_handle *mh);
1679
1684 MPG123_EXPORT long mpg123_clip(mpg123_handle *mh);
1685
1686
1688 enum mpg123_state
1689 {
1690 MPG123_ACCURATE = 1
1691 ,MPG123_BUFFERFILL
1692 ,MPG123_FRANKENSTEIN
1693 ,MPG123_FRESH_DECODER
1694 ,MPG123_ENC_DELAY
1695 ,MPG123_ENC_PADDING
1696 ,MPG123_DEC_DELAY
1697 };
1698
1699 #ifdef MPG123_ENUM_API
1700
1711 MPG123_EXPORT int mpg123_getstate( mpg123_handle *mh
1712 , enum mpg123_state key, long *val, double *fval );
1713 #endif
1714
1726 MPG123_EXPORT int mpg123_getstate2( mpg123_handle *mh
1727 , int key, long *val, double *fval );
1728
1742 typedef struct
1743 {
1744 char* p;
1745 size_t size;
1746 size_t fill;
1747 } mpg123_string;
1748
1752 MPG123_EXPORT mpg123_string* mpg123_new_string(const char* val);
1753
1757 MPG123_EXPORT void mpg123_delete_string(mpg123_string* sb);
1758
1764 MPG123_EXPORT void mpg123_init_string(mpg123_string* sb);
1765
1771 MPG123_EXPORT void mpg123_free_string(mpg123_string* sb);
1772
1778 MPG123_EXPORT int mpg123_resize_string(mpg123_string* sb, size_t news);
1779
1789 MPG123_EXPORT int mpg123_grow_string(mpg123_string* sb, size_t news);
1790
1797 MPG123_EXPORT int mpg123_copy_string(mpg123_string* from, mpg123_string* to);
1798
1811 MPG123_EXPORT int mpg123_move_string(mpg123_string* from, mpg123_string* to);
1812
1818 MPG123_EXPORT int mpg123_add_string(mpg123_string* sb, const char* stuff);
1819
1827 MPG123_EXPORT int mpg123_add_substring( mpg123_string *sb
1828 , const char *stuff, size_t from, size_t count );
1829
1835 MPG123_EXPORT int mpg123_set_string(mpg123_string* sb, const char* stuff);
1836
1844 MPG123_EXPORT int mpg123_set_substring( mpg123_string *sb
1845 , const char *stuff, size_t from, size_t count );
1846
1855 MPG123_EXPORT size_t mpg123_strlen(mpg123_string *sb, int utf8);
1856
1861 MPG123_EXPORT int mpg123_chomp_string(mpg123_string *sb);
1862
1870 MPG123_EXPORT int mpg123_same_string(mpg123_string *a, mpg123_string *b);
1871
1873 enum mpg123_text_encoding
1874 {
1875 mpg123_text_unknown = 0
1876 ,mpg123_text_utf8 = 1
1877 ,mpg123_text_latin1 = 2
1878 ,mpg123_text_icy = 3
1879 ,mpg123_text_cp1252 = 4
1880 ,mpg123_text_utf16 = 5
1884 ,mpg123_text_utf16bom = 6
1885 ,mpg123_text_utf16be = 7
1889 ,mpg123_text_max = 7
1890 };
1891
1893 enum mpg123_id3_enc
1894 {
1895 mpg123_id3_latin1 = 0
1896 ,mpg123_id3_utf16bom = 1
1897 ,mpg123_id3_utf16be = 2
1898 ,mpg123_id3_utf8 = 3
1899 ,mpg123_id3_enc_max = 3
1900 };
1901
1902 #ifdef MPG123_ENUM_API
1903
1911 MPG123_EXPORT enum mpg123_text_encoding mpg123_enc_from_id3(unsigned char id3_enc_byte);
1912 #endif
1913
1922 MPG123_EXPORT int mpg123_enc_from_id3_2(unsigned char id3_enc_byte);
1923
1924 #ifdef MPG123_ENUM_API
1925
1938 MPG123_EXPORT int mpg123_store_utf8(mpg123_string *sb, enum mpg123_text_encoding enc, const unsigned char *source, size_t source_size);
1939 #endif
1940
1954 MPG123_EXPORT int mpg123_store_utf8_2(mpg123_string *sb
1955 , int enc, const unsigned char *source, size_t source_size);
1956
1963 typedef struct
1964 {
1965 char lang[3];
1966 char id[4];
1967 mpg123_string description;
1968 mpg123_string text;
1969 } mpg123_text;
1970
1972 enum mpg123_id3_pic_type
1973 {
1974 mpg123_id3_pic_other = 0
1975 ,mpg123_id3_pic_icon = 1
1976 ,mpg123_id3_pic_other_icon = 2
1977 ,mpg123_id3_pic_front_cover = 3
1978 ,mpg123_id3_pic_back_cover = 4
1979 ,mpg123_id3_pic_leaflet = 5
1980 ,mpg123_id3_pic_media = 6
1981 ,mpg123_id3_pic_lead = 7
1982 ,mpg123_id3_pic_artist = 8
1983 ,mpg123_id3_pic_conductor = 9
1984 ,mpg123_id3_pic_orchestra = 10
1985 ,mpg123_id3_pic_composer = 11
1986 ,mpg123_id3_pic_lyricist = 12
1987 ,mpg123_id3_pic_location = 13
1988 ,mpg123_id3_pic_recording = 14
1989 ,mpg123_id3_pic_performance = 15
1990 ,mpg123_id3_pic_video = 16
1991 ,mpg123_id3_pic_fish = 17
1992 ,mpg123_id3_pic_illustration = 18
1993 ,mpg123_id3_pic_artist_logo = 19
1994 ,mpg123_id3_pic_publisher_logo = 20
1995 };
1996
2001 typedef struct
2002 {
2003 char type;
2004 mpg123_string description;
2005 mpg123_string mime_type;
2006 size_t size;
2007 unsigned char* data;
2008 } mpg123_picture;
2009
2015 typedef struct
2016 {
2017 unsigned char version;
2018 mpg123_string *title;
2019 mpg123_string *artist;
2020 mpg123_string *album;
2021 mpg123_string *year;
2022 mpg123_string *genre;
2023 mpg123_string *comment;
2024 /* Encountered ID3v2 fields are appended to these lists.
2025 There can be multiple occurences, the pointers above always point to the last encountered data. */
2026 mpg123_text *comment_list;
2027 size_t comments;
2028 mpg123_text *text;
2029 size_t texts;
2030 mpg123_text *extra;
2031 size_t extras;
2032 mpg123_picture *picture;
2034 size_t pictures;
2035 } mpg123_id3v2;
2036
2041 typedef struct
2042 {
2043 char tag[3];
2044 char title[30];
2045 char artist[30];
2046 char album[30];
2047 char year[4];
2048 char comment[30];
2049 unsigned char genre;
2050 } mpg123_id3v1;
2051
2052 #define MPG123_ID3 0x3
2053 #define MPG123_NEW_ID3 0x1
2054 #define MPG123_ICY 0xc
2055 #define MPG123_NEW_ICY 0x4
2061 MPG123_EXPORT int mpg123_meta_check(mpg123_handle *mh);
2062
2066 MPG123_EXPORT void mpg123_meta_free(mpg123_handle *mh);
2067
2072 MPG123_EXPORT int mpg123_id3( mpg123_handle *mh
2073 , mpg123_id3v1 **v1, mpg123_id3v2 **v2 );
2074
2088 MPG123_EXPORT int mpg123_id3_raw( mpg123_handle *mh
2089 , unsigned char **v1, size_t *v1_size
2090 , unsigned char **v2, size_t *v2_size );
2091
2097 MPG123_EXPORT int mpg123_icy(mpg123_handle *mh, char **icy_meta);
2098
2103 MPG123_EXPORT char* mpg123_icy2utf8(const char* icy_text);
2104
2105
2125 struct mpg123_pars_struct;
2126
2128 typedef struct mpg123_pars_struct mpg123_pars;
2129
2136 MPG123_EXPORT mpg123_handle *mpg123_parnew( mpg123_pars *mp
2137 , const char* decoder, int *error );
2138
2143 MPG123_EXPORT mpg123_pars *mpg123_new_pars(int *error);
2144
2148 MPG123_EXPORT void mpg123_delete_pars(mpg123_pars* mp);
2149
2155 MPG123_EXPORT int mpg123_fmt_none(mpg123_pars *mp);
2156
2162 MPG123_EXPORT int mpg123_fmt_all(mpg123_pars *mp);
2163
2173 MPG123_EXPORT int mpg123_fmt(mpg123_pars *mp
2174 , long rate, int channels, int encodings);
2175
2186 MPG123_EXPORT int mpg123_fmt2(mpg123_pars *mp
2187 , long rate, int channels, int encodings);
2188
2196 MPG123_EXPORT int mpg123_fmt_support(mpg123_pars *mp, long rate, int encoding);
2197
2198 #ifdef MPG123_ENUM_API
2199
2210 MPG123_EXPORT int mpg123_par( mpg123_pars *mp
2211 , enum mpg123_parms type, long value, double fvalue );
2212 #endif
2213
2225 MPG123_EXPORT int mpg123_par2( mpg123_pars *mp
2226 , int type, long value, double fvalue );
2227
2228 #ifdef MPG123_ENUM_API
2229
2240 MPG123_EXPORT int mpg123_getpar( mpg123_pars *mp
2241 , enum mpg123_parms type, long *value, double *fvalue );
2242 #endif
2243
2255 MPG123_EXPORT int mpg123_getpar2( mpg123_pars *mp
2256 , int type, long *value, double *fvalue );
2257
2280 MPG123_EXPORT int mpg123_replace_buffer(mpg123_handle *mh
2281 , void *data, size_t size);
2282
2288 MPG123_EXPORT size_t mpg123_outblock(mpg123_handle *mh);
2289
2290 #ifndef MPG123_PORTABLE_API
2291
2304 MPG123_EXPORT int mpg123_replace_reader( mpg123_handle *mh
2305 , mpg123_ssize_t (*r_read) (int, void *, size_t)
2306 , off_t (*r_lseek)(int, off_t, int)
2307 );
2308
2323 MPG123_EXPORT int mpg123_replace_reader_handle( mpg123_handle *mh
2324 , mpg123_ssize_t (*r_read) (void *, void *, size_t)
2325 , off_t (*r_lseek)(void *, off_t, int)
2326 , void (*cleanup)(void*) );
2327 #endif
2328
2348 MPG123_EXPORT int mpg123_reader64( mpg123_handle *mh, int (*r_read) (void *, void *, size_t, size_t *), int64_t (*r_lseek)(void *, int64_t, int), void (*cleanup)(void*) );
2349
2352 #ifdef __cplusplus
2353 }
2354 #endif
2355
2356 #endif
MPG123_REMOVE_FLAGS
@ MPG123_REMOVE_FLAGS
Definition: mpg123.h:300
mpg123_picture::description
mpg123_string description
Definition: mpg123.h:2004
MPG123_FEATURE_OUTPUT_32BIT
@ MPG123_FEATURE_OUTPUT_32BIT
Definition: mpg123.h:453
mpg123_tpf
MPG123_EXPORT double mpg123_tpf(mpg123_handle *mh)
mpg123_id3v2::version
unsigned char version
Definition: mpg123.h:2017
MPG123_MONO_RIGHT
@ MPG123_MONO_RIGHT
Definition: mpg123.h:318
MPG123_BAD_VALUE
@ MPG123_BAD_VALUE
Definition: mpg123.h:572
mpg123_text_icy
@ mpg123_text_icy
Definition: mpg123.h:1878
mpg123_set_index
MPG123_EXPORT int mpg123_set_index(mpg123_handle *mh, off_t *offsets, off_t step, size_t fill)
mpg123_format2
MPG123_EXPORT int mpg123_format2(mpg123_handle *mh, long rate, int channels, int encodings)
MPG123_NULL_BUFFER
@ MPG123_NULL_BUFFER
Definition: mpg123.h:564
MPG123_FEEDPOOL
@ MPG123_FEEDPOOL
Definition: mpg123.h:304
cleanup
void cleanup(mpg123_handle *mh, out123_handle *ao)
Definition: mpg123_to_out123.c:27
MPG123_BAD_KEY
@ MPG123_BAD_KEY
Definition: mpg123.h:567
MPG123_NO_BUFFERS
@ MPG123_NO_BUFFERS
Definition: mpg123.h:544
mpg123_moreinfo::sfb_s
double sfb_s[2][2][3 *13]
Definition: mpg123.h:1543
fmt123.h
mpg123_id3_enc_max
@ mpg123_id3_enc_max
Definition: mpg123.h:1899
MPG123_ENC_PADDING
@ MPG123_ENC_PADDING
Definition: mpg123.h:1695
MPG123_PREFRAMES
@ MPG123_PREFRAMES
Definition: mpg123.h:303
MPG123_FEATURE_ABI_UTF8OPEN
@ MPG123_FEATURE_ABI_UTF8OPEN
Definition: mpg123.h:450
MPG123_DOWN_SAMPLE
@ MPG123_DOWN_SAMPLE
Definition: mpg123.h:290
MPG123_SEEKBUFFER
@ MPG123_SEEKBUFFER
Definition: mpg123.h:325
mpg123_plain_strerror
const MPG123_EXPORT char * mpg123_plain_strerror(int errcode)
mpg123_param_flags
mpg123_param_flags
Definition: mpg123.h:314
mpg123_frameinfo::bitrate
int bitrate
Definition: mpg123.h:1512
mpg123_id3_pic_other
@ mpg123_id3_pic_other
Definition: mpg123.h:1974
MPG123_FEATURE_INDEX
@ MPG123_FEATURE_INDEX
Definition: mpg123.h:454
mpg123_frameinfo2::framesize
int framesize
Definition: mpg123.h:1526
mpg123_info
MPG123_EXPORT int mpg123_info(mpg123_handle *mh, struct mpg123_frameinfo *mi)
MPG123_NO_FRANKENSTEIN
@ MPG123_NO_FRANKENSTEIN
Definition: mpg123.h:368
mpg123_framebyframe_next
MPG123_EXPORT int mpg123_framebyframe_next(mpg123_handle *mh)
MPG123_CRC
@ MPG123_CRC
Definition: mpg123.h:1494
MPG123_NO_INDEX
@ MPG123_NO_INDEX
Definition: mpg123.h:568
mpg123_frameinfo2::abr_rate
int abr_rate
Definition: mpg123.h:1530
MPG123_FREEFORMAT_SIZE
@ MPG123_FREEFORMAT_SIZE
Definition: mpg123.h:306
MPG123_SKIP_ID3V2
@ MPG123_SKIP_ID3V2
Definition: mpg123.h:330
mpg123_id3v2::artist
mpg123_string * artist
Definition: mpg123.h:2019
mpg123_seek64
MPG123_EXPORT int64_t mpg123_seek64(mpg123_handle *mh, int64_t sampleoff, int whence)
MPG123_LEFT
@ MPG123_LEFT
Definition: mpg123.h:1329
MPG123_ENC_DELAY
@ MPG123_ENC_DELAY
Definition: mpg123.h:1694
mpg123_string::fill
size_t fill
Definition: mpg123.h:1746
mpg123_frameinfo2::vbr
int vbr
Definition: mpg123.h:1531
mpg123_eq
MPG123_EXPORT int mpg123_eq(mpg123_handle *mh, enum mpg123_channels channel, int band, double val)
MPG123_FEATURE_MOREINFO
@ MPG123_FEATURE_MOREINFO
Definition: mpg123.h:465
mpg123_getpar
MPG123_EXPORT int mpg123_getpar(mpg123_pars *mp, enum mpg123_parms type, long *value, double *fvalue)
mpg123_errcode
MPG123_EXPORT int mpg123_errcode(mpg123_handle *mh)
mpg123_current_decoder
const MPG123_EXPORT char * mpg123_current_decoder(mpg123_handle *mh)
mpg123_replace_reader
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))
MPG123_DEC_DELAY
@ MPG123_DEC_DELAY
Definition: mpg123.h:1696
MPG123_AUTO_RESAMPLE
@ MPG123_AUTO_RESAMPLE
Definition: mpg123.h:332
mpg123_strlen
MPG123_EXPORT size_t mpg123_strlen(mpg123_string *sb, int utf8)
mpg123_framelength
MPG123_EXPORT off_t mpg123_framelength(mpg123_handle *mh)
MPG123_FEATURE_OUTPUT_FLOAT32
@ MPG123_FEATURE_OUTPUT_FLOAT32
Definition: mpg123.h:466
MPG123_COPYRIGHT
@ MPG123_COPYRIGHT
Definition: mpg123.h:1495
MPG123_ERR_16TO8TABLE
@ MPG123_ERR_16TO8TABLE
Definition: mpg123.h:537
mpg123_errors
mpg123_errors
Definition: mpg123.h:527
mpg123_flags
mpg123_flags
Definition: mpg123.h:1493
mpg123_set_substring
MPG123_EXPORT int mpg123_set_substring(mpg123_string *sb, const char *stuff, size_t from, size_t count)
mpg123_getformat
MPG123_EXPORT int mpg123_getformat(mpg123_handle *mh, long *rate, int *channels, int *encoding)
mpg123_id3_pic_media
@ mpg123_id3_pic_media
Definition: mpg123.h:1980
mpg123_feature_set
mpg123_feature_set
Definition: mpg123.h:448
MPG123_NO_PEEK_END
@ MPG123_NO_PEEK_END
Definition: mpg123.h:334
MPG123_MONO_LEFT
@ MPG123_MONO_LEFT
Definition: mpg123.h:317
mpg123_framepos
MPG123_EXPORT off_t mpg123_framepos(mpg123_handle *mh)
MPG123_FEATURE_DECODE_LAYER1
@ MPG123_FEATURE_DECODE_LAYER1
Definition: mpg123.h:456
mpg123_same_string
MPG123_EXPORT int mpg123_same_string(mpg123_string *a, mpg123_string *b)
mpg123_moreinfo
Definition: mpg123.h:1539
MPG123_FEATURE_DECODE_LAYER2
@ MPG123_FEATURE_DECODE_LAYER2
Definition: mpg123.h:457
mpg123_info2
MPG123_EXPORT int mpg123_info2(mpg123_handle *mh, struct mpg123_frameinfo2 *mi)
mpg123_id3v2::title
mpg123_string * title
Definition: mpg123.h:2018
mpg123_delete
MPG123_EXPORT void mpg123_delete(mpg123_handle *mh)
mpg123_frameinfo::mode
enum mpg123_mode mode
Definition: mpg123.h:1507
mpg123_clip
MPG123_EXPORT long mpg123_clip(mpg123_handle *mh)
mpg123_id3_pic_back_cover
@ mpg123_id3_pic_back_cover
Definition: mpg123.h:1978
mpg123_tellframe64
MPG123_EXPORT int64_t mpg123_tellframe64(mpg123_handle *mh)
MPG123_2_0
@ MPG123_2_0
Definition: mpg123.h:1477
MPG123_RVA_ALBUM
@ MPG123_RVA_ALBUM
Definition: mpg123.h:383
mpg123_spf
MPG123_EXPORT int mpg123_spf(mpg123_handle *mh)
mpg123_add_substring
MPG123_EXPORT int mpg123_add_substring(mpg123_string *sb, const char *stuff, size_t from, size_t count)
mpg123_set_string
MPG123_EXPORT int mpg123_set_string(mpg123_string *sb, const char *stuff)
mpg123_id3_raw
MPG123_EXPORT int mpg123_id3_raw(mpg123_handle *mh, unsigned char **v1, size_t *v1_size, unsigned char **v2, size_t *v2_size)
mpg123_id3_utf16bom
@ mpg123_id3_utf16bom
Definition: mpg123.h:1896
mpg123_enc_from_id3_2
MPG123_EXPORT int mpg123_enc_from_id3_2(unsigned char id3_enc_byte)
MPG123_ERR_READER
@ MPG123_ERR_READER
Definition: mpg123.h:551
mpg123_frameinfo::layer
int layer
Definition: mpg123.h:1505
mpg123_framebyframe_decode
MPG123_EXPORT int mpg123_framebyframe_decode(mpg123_handle *mh, off_t *num, unsigned char **audio, size_t *bytes)
mpg123_eq_bands
MPG123_EXPORT int mpg123_eq_bands(mpg123_handle *mh, int channel, int a, int b, double factor)
mpg123_volume
MPG123_EXPORT int mpg123_volume(mpg123_handle *mh, double vol)
mpg123_reader64
MPG123_EXPORT int mpg123_reader64(mpg123_handle *mh, int(*r_read)(void *, void *, size_t, size_t *), int64_t(*r_lseek)(void *, int64_t, int), void(*cleanup)(void *))
mpg123_text_encoding
mpg123_text_encoding
Definition: mpg123.h:1873
MPG123_FEATURE_OUTPUT_8BIT
@ MPG123_FEATURE_OUTPUT_8BIT
Definition: mpg123.h:451
MPG123_ERR
@ MPG123_ERR
Definition: mpg123.h:532
mpg123_timeframe64
MPG123_EXPORT int64_t mpg123_timeframe64(mpg123_handle *mh, double sec)
mpg123_vbr
mpg123_vbr
Definition: mpg123.h:1468
mpg123_rates
MPG123_EXPORT void mpg123_rates(const long **list, size_t *number)
MPG123_NO_SEEK_FROM_END
@ MPG123_NO_SEEK_FROM_END
Definition: mpg123.h:552
mpg123_seek
MPG123_EXPORT off_t mpg123_seek(mpg123_handle *mh, off_t sampleoff, int whence)
MPG123_GAPLESS
@ MPG123_GAPLESS
Definition: mpg123.h:323
mpg123_param_rva
mpg123_param_rva
Definition: mpg123.h:379
MPG123_NO_TIMEOUT
@ MPG123_NO_TIMEOUT
Definition: mpg123.h:554
mpg123_framedata
MPG123_EXPORT int mpg123_framedata(mpg123_handle *mh, unsigned long *header, unsigned char **bodydata, size_t *bodybytes)
mpg123_moreinfo::big_values
int big_values[2][2]
Definition: mpg123.h:1545
MPG123_ADD_FLAGS
@ MPG123_ADD_FLAGS
Definition: mpg123.h:288
MPG123_BUFFERFILL
@ MPG123_BUFFERFILL
Definition: mpg123.h:1691
mpg123_add_string
MPG123_EXPORT int mpg123_add_string(mpg123_string *sb, const char *stuff)
MPG123_BAD_TYPES
@ MPG123_BAD_TYPES
Definition: mpg123.h:548
mpg123_id3_utf8
@ mpg123_id3_utf8
Definition: mpg123.h:1898
mpg123_outblock
MPG123_EXPORT size_t mpg123_outblock(mpg123_handle *mh)
mpg123_frameinfo2::bitrate
int bitrate
Definition: mpg123.h:1529
MPG123_IGNORE_INFOFRAME
@ MPG123_IGNORE_INFOFRAME
Definition: mpg123.h:331
mpg123_id3v2::text
mpg123_text * text
Definition: mpg123.h:2028
MPG123_MONO
@ MPG123_MONO
Definition: mpg123.h:672
mpg123_frameinfo2::mode
int mode
Definition: mpg123.h:1524
MPG123_RESYNC_FAIL
@ MPG123_RESYNC_FAIL
Definition: mpg123.h:561
mpg123_id3_pic_front_cover
@ mpg123_id3_pic_front_cover
Definition: mpg123.h:1977
mpg123_id3v2::comments
size_t comments
Definition: mpg123.h:2027
mpg123_text
Definition: mpg123.h:1963
mpg123_set_filesize64
MPG123_EXPORT int mpg123_set_filesize64(mpg123_handle *mh, int64_t size)
MPG123_INDEX_SIZE
@ MPG123_INDEX_SIZE
Definition: mpg123.h:302
mpg123_id3v2::extras
size_t extras
Definition: mpg123.h:2031
mpg123_feature
MPG123_EXPORT int mpg123_feature(const enum mpg123_feature_set key)
MPG123_IGNORE_STREAMLENGTH
@ MPG123_IGNORE_STREAMLENGTH
Definition: mpg123.h:329
MPG123_FORCE_SEEKABLE
@ MPG123_FORCE_SEEKABLE
Definition: mpg123.h:340
mpg123_resize_string
MPG123_EXPORT int mpg123_resize_string(mpg123_string *sb, size_t news)
MPG123_RVA_MIX
@ MPG123_RVA_MIX
Definition: mpg123.h:382
mpg123_frameinfo::version
enum mpg123_version version
Definition: mpg123.h:1504
mpg123_id3_pic_illustration
@ mpg123_id3_pic_illustration
Definition: mpg123.h:1992
mpg123_id3_pic_lyricist
@ mpg123_id3_pic_lyricist
Definition: mpg123.h:1986
MPG123_NO_READAHEAD
@ MPG123_NO_READAHEAD
Definition: mpg123.h:353
mpg123_handle
struct mpg123_handle_struct mpg123_handle
Definition: mpg123.h:222
MPG123_NULL_POINTER
@ MPG123_NULL_POINTER
Definition: mpg123.h:566
MPG123_ICY_INTERVAL
@ MPG123_ICY_INTERVAL
Definition: mpg123.h:296
mpg123_id3
MPG123_EXPORT int mpg123_id3(mpg123_handle *mh, mpg123_id3v1 **v1, mpg123_id3v2 **v2)
mpg123_getformat2
MPG123_EXPORT int mpg123_getformat2(mpg123_handle *mh, long *rate, int *channels, int *encoding, int clear_flag)
mpg123_strerror
const MPG123_EXPORT char * mpg123_strerror(mpg123_handle *mh)
MPG123_FEATURE_TIMEOUT_READ
@ MPG123_FEATURE_TIMEOUT_READ
Definition: mpg123.h:463
MPG123_FEATURE_DECODE_LAYER3
@ MPG123_FEATURE_DECODE_LAYER3
Definition: mpg123.h:458
mpg123_tell
MPG123_EXPORT off_t mpg123_tell(mpg123_handle *mh)
mpg123_id3_pic_conductor
@ mpg123_id3_pic_conductor
Definition: mpg123.h:1983
mpg123_framelength64
MPG123_EXPORT int64_t mpg123_framelength64(mpg123_handle *mh)
MPG123_FORCE_RATE
@ MPG123_FORCE_RATE
Definition: mpg123.h:289
mpg123_text::description
mpg123_string description
Definition: mpg123.h:1967
mpg123_open_fixed64
MPG123_EXPORT int mpg123_open_fixed64(mpg123_handle *mh, const char *path, int channels, int encoding)
mpg123_id3_pic_location
@ mpg123_id3_pic_location
Definition: mpg123.h:1987
mpg123_id3v2::year
mpg123_string * year
Definition: mpg123.h:2021
MPG123_NO_8BIT
@ MPG123_NO_8BIT
Definition: mpg123.h:562
MPG123_2_5
@ MPG123_2_5
Definition: mpg123.h:1478
MPG123_ERR_NULL
@ MPG123_ERR_NULL
Definition: mpg123.h:550
MPG123_FORCE_8BIT
@ MPG123_FORCE_8BIT
Definition: mpg123.h:321
mpg123_exit
MPG123_EXPORT void mpg123_exit(void)
mpg123_frameinfo::flags
enum mpg123_flags flags
Definition: mpg123.h:1510
MPG123_START_FRAME
@ MPG123_START_FRAME
Definition: mpg123.h:294
mpg123_picture::data
unsigned char * data
Definition: mpg123.h:2007
mpg123_grow_string
MPG123_EXPORT int mpg123_grow_string(mpg123_string *sb, size_t news)
MPG123_BAD_HANDLE
@ MPG123_BAD_HANDLE
Definition: mpg123.h:543
MPG123_VERBOSE
@ MPG123_VERBOSE
Definition: mpg123.h:286
MPG123_MONO_MIX
@ MPG123_MONO_MIX
Definition: mpg123.h:319
mpg123_format
MPG123_EXPORT int mpg123_format(mpg123_handle *mh, long rate, int channels, int encodings)
MPG123_ORIGINAL
@ MPG123_ORIGINAL
Definition: mpg123.h:1497
mpg123_icy2utf8
MPG123_EXPORT char * mpg123_icy2utf8(const char *icy_text)
mpg123_fmt
MPG123_EXPORT int mpg123_fmt(mpg123_pars *mp, long rate, int channels, int encodings)
MPG123_FEATURE_OUTPUT_FLOAT64
@ MPG123_FEATURE_OUTPUT_FLOAT64
Definition: mpg123.h:467
mpg123_tell64
MPG123_EXPORT int64_t mpg123_tell64(mpg123_handle *mh)
mpg123_moreinfo::scfsi
int scfsi[2]
Definition: mpg123.h:1553
mpg123_decoder
MPG123_EXPORT int mpg123_decoder(mpg123_handle *mh, const char *decoder_name)
mpg123_frameinfo::mode_ext
int mode_ext
Definition: mpg123.h:1508
mpg123_open_handle64
MPG123_EXPORT int mpg123_open_handle64(mpg123_handle *mh, void *iohandle)
mpg123_close
MPG123_EXPORT int mpg123_close(mpg123_handle *mh)
mpg123_string
Definition: mpg123.h:1742
mpg123_id3_pic_lead
@ mpg123_id3_pic_lead
Definition: mpg123.h:1981
mpg123_eq2
MPG123_EXPORT int mpg123_eq2(mpg123_handle *mh, int channel, int band, double val)
mpg123_frameinfo::abr_rate
int abr_rate
Definition: mpg123.h:1513
mpg123_feedseek
MPG123_EXPORT off_t mpg123_feedseek(mpg123_handle *mh, off_t sampleoff, int whence, off_t *input_offset)
mpg123_frameinfo2
Definition: mpg123.h:1519
mpg123_fmt2
MPG123_EXPORT int mpg123_fmt2(mpg123_pars *mp, long rate, int channels, int encodings)
mpg123_decode
MPG123_EXPORT int mpg123_decode(mpg123_handle *mh, const unsigned char *inmemory, size_t inmemsize, void *outmemory, size_t outmemsize, size_t *done)
MPG123_RESYNC_LIMIT
@ MPG123_RESYNC_LIMIT
Definition: mpg123.h:301
mpg123_encodings
MPG123_EXPORT void mpg123_encodings(const int **list, size_t *number)
mpg123_text_cp1252
@ mpg123_text_cp1252
Definition: mpg123.h:1879
mpg123_frameinfo::framesize
int framesize
Definition: mpg123.h:1509
mpg123_feed
MPG123_EXPORT int mpg123_feed(mpg123_handle *mh, const unsigned char *in, size_t size)
MPG123_UPSPEED
@ MPG123_UPSPEED
Definition: mpg123.h:293
mpg123_par2
MPG123_EXPORT int mpg123_par2(mpg123_pars *mp, int type, long value, double fvalue)
mpg123_replace_buffer
MPG123_EXPORT int mpg123_replace_buffer(mpg123_handle *mh, void *data, size_t size)
mpg123_volume_change_db
MPG123_EXPORT int mpg123_volume_change_db(mpg123_handle *mh, double db)
MPG123_NO_RELSEEK
@ MPG123_NO_RELSEEK
Definition: mpg123.h:565
mpg123_chomp_string
MPG123_EXPORT int mpg123_chomp_string(mpg123_string *sb)
mpg123_decoders
const MPG123_EXPORT char ** mpg123_decoders(void)
MPG123_NO_RESYNC
@ MPG123_NO_RESYNC
Definition: mpg123.h:324
mpg123_pars
struct mpg123_pars_struct mpg123_pars
Definition: mpg123.h:2128
mpg123_open_feed
MPG123_EXPORT int mpg123_open_feed(mpg123_handle *mh)
mpg123_text_utf16bom
@ mpg123_text_utf16bom
Definition: mpg123.h:1884
mpg123_getparam
MPG123_EXPORT int mpg123_getparam(mpg123_handle *mh, enum mpg123_parms type, long *value, double *fvalue)
mpg123_format_all
MPG123_EXPORT int mpg123_format_all(mpg123_handle *mh)
mpg123_frameinfo
Definition: mpg123.h:1502
mpg123_open_fixed
MPG123_EXPORT int mpg123_open_fixed(mpg123_handle *mh, const char *path, int channels, int encoding)
mpg123_frameinfo::emphasis
int emphasis
Definition: mpg123.h:1511
mpg123_fmt_support
MPG123_EXPORT int mpg123_fmt_support(mpg123_pars *mp, long rate, int encoding)
mpg123_new
MPG123_EXPORT mpg123_handle * mpg123_new(const char *decoder, int *error)
mpg123_open64
MPG123_EXPORT int mpg123_open64(mpg123_handle *mh, const char *path)
mpg123_frameinfo2::rate
long rate
Definition: mpg123.h:1523
MPG123_NO_SEEK
@ MPG123_NO_SEEK
Definition: mpg123.h:556
MPG123_FEATURE_DECODE_DOWNSAMPLE
@ MPG123_FEATURE_DECODE_DOWNSAMPLE
Definition: mpg123.h:460
mpg123_framepos64
MPG123_EXPORT int64_t mpg123_framepos64(mpg123_handle *mh)
mpg123_id3v2::texts
size_t texts
Definition: mpg123.h:2029
mpg123_moreinfo::preflag
int preflag[2][2]
Definition: mpg123.h:1548
mpg123_moreinfo::maindata
int maindata
Definition: mpg123.h:1554
MPG123_FEATURE_OUTPUT_16BIT
@ MPG123_FEATURE_OUTPUT_16BIT
Definition: mpg123.h:452
MPG123_NO_READER
@ MPG123_NO_READER
Definition: mpg123.h:557
mpg123_id3v1
Definition: mpg123.h:2041
mpg123_id3v2::genre
mpg123_string * genre
Definition: mpg123.h:2022
mpg123_id3_pic_publisher_logo
@ mpg123_id3_pic_publisher_logo
Definition: mpg123.h:1994
mpg123_index64
MPG123_EXPORT int mpg123_index64(mpg123_handle *mh, int64_t **offsets, int64_t *step, size_t *fill)
mpg123_new_string
MPG123_EXPORT mpg123_string * mpg123_new_string(const char *val)
mpg123_id3v2::comment
mpg123_string * comment
Definition: mpg123.h:2023
mpg123_text_utf16
@ mpg123_text_utf16
Definition: mpg123.h:1880
MPG123_FEATURE_DECODE_ACCURATE
@ MPG123_FEATURE_DECODE_ACCURATE
Definition: mpg123.h:459
MPG123_BAD_DECODER_SETUP
@ MPG123_BAD_DECODER_SETUP
Definition: mpg123.h:570
mpg123_id3_utf16be
@ mpg123_id3_utf16be
Definition: mpg123.h:1897
mpg123_format_support
MPG123_EXPORT int mpg123_format_support(mpg123_handle *mh, long rate, int encoding)
MPG123_PLAIN_ID3TEXT
@ MPG123_PLAIN_ID3TEXT
Definition: mpg123.h:328
mpg123_moreinfo::xr
double xr[2][2][576]
Definition: mpg123.h:1541
MPG123_BIG_ENDIAN
@ MPG123_BIG_ENDIAN
Definition: mpg123.h:352
mpg123_feedseek64
MPG123_EXPORT int64_t mpg123_feedseek64(mpg123_handle *mh, int64_t sampleoff, int whence, int64_t *input_offset)
MPG123_FORCE_STEREO
@ MPG123_FORCE_STEREO
Definition: mpg123.h:320
mpg123_geteq
MPG123_EXPORT double mpg123_geteq(mpg123_handle *mh, enum mpg123_channels channel, int band)
MPG123_BAD_BUFFER
@ MPG123_BAD_BUFFER
Definition: mpg123.h:539
mpg123_new_pars
MPG123_EXPORT mpg123_pars * mpg123_new_pars(int *error)
mpg123_moreinfo::mixed
int mixed[2][2]
Definition: mpg123.h:1550
MPG123_BAD_FLOAT
@ MPG123_BAD_FLOAT
Definition: mpg123.h:577
mpg123_text_unknown
@ mpg123_text_unknown
Definition: mpg123.h:1875
mpg123_text_utf8
@ mpg123_text_utf8
Definition: mpg123.h:1876
mpg123_libversion
unsigned int mpg123_libversion(unsigned int *patch)
mpg123_channelcount
mpg123_channelcount
Definition: mpg123.h:670
mpg123_frameinfo2::mode_ext
int mode_ext
Definition: mpg123.h:1525
mpg123_text_utf16be
@ mpg123_text_utf16be
Definition: mpg123.h:1885
MPG123_MISSING_FEATURE
@ MPG123_MISSING_FEATURE
Definition: mpg123.h:571
mpg123_enc_from_id3
MPG123_EXPORT enum mpg123_text_encoding mpg123_enc_from_id3(unsigned char id3_enc_byte)
mpg123_frameinfo::rate
long rate
Definition: mpg123.h:1506
MPG123_NO_GAPLESS
@ MPG123_NO_GAPLESS
Definition: mpg123.h:546
mpg123_picture::mime_type
mpg123_string mime_type
Definition: mpg123.h:2005
MPG123_FUZZY
@ MPG123_FUZZY
Definition: mpg123.h:326
MPG123_EXPORT
#define MPG123_EXPORT
Definition: mpg123.h:45
mpg123_state
mpg123_state
Definition: mpg123.h:1688
MPG123_BAD_PARAM
@ MPG123_BAD_PARAM
Definition: mpg123.h:538
MPG123_FORCE_ENDIAN
@ MPG123_FORCE_ENDIAN
Definition: mpg123.h:346
MPG123_LR
@ MPG123_LR
Definition: mpg123.h:1331
MPG123_FLOAT_FALLBACK
@ MPG123_FLOAT_FALLBACK
Definition: mpg123.h:360
mpg123_frameinfo2::version
int version
Definition: mpg123.h:1521
MPG123_RVA_OFF
@ MPG123_RVA_OFF
Definition: mpg123.h:381
mpg123_scan
MPG123_EXPORT int mpg123_scan(mpg123_handle *mh)
mpg123_text::text
mpg123_string text
Definition: mpg123.h:1968
mpg123_fmt_all
MPG123_EXPORT int mpg123_fmt_all(mpg123_pars *mp)
mpg123_string::p
char * p
Definition: mpg123.h:1744
mpg123_position
MPG123_EXPORT int mpg123_position(mpg123_handle *mh, off_t INT123_frame_offset, off_t buffered_bytes, off_t *current_frame, off_t *frames_left, double *current_seconds, double *seconds_left)
mpg123_init_string
MPG123_EXPORT void mpg123_init_string(mpg123_string *sb)
mpg123_channels
mpg123_channels
Definition: mpg123.h:1327
mpg123_decode_frame64
MPG123_EXPORT int mpg123_decode_frame64(mpg123_handle *mh, int64_t *num, unsigned char **audio, size_t *bytes)
MPG123_BAD_PARS
@ MPG123_BAD_PARS
Definition: mpg123.h:558
mpg123_meta_free
MPG123_EXPORT void mpg123_meta_free(mpg123_handle *mh)
mpg123_moreinfo::sfb
double sfb[2][2][22]
Definition: mpg123.h:1542
MPG123_PICTURE
@ MPG123_PICTURE
Definition: mpg123.h:333
MPG123_LSEEK_FAILED
@ MPG123_LSEEK_FAILED
Definition: mpg123.h:573
MPG123_OUT_OF_SYNC
@ MPG123_OUT_OF_SYNC
Definition: mpg123.h:560
mpg123_moreinfo::qss
int qss[2][2]
Definition: mpg123.h:1544
mpg123_id3v2::comment_list
mpg123_text * comment_list
Definition: mpg123.h:2026
MPG123_FORCE_MONO
@ MPG123_FORCE_MONO
Definition: mpg123.h:316
mpg123_getvolume
MPG123_EXPORT int mpg123_getvolume(mpg123_handle *mh, double *base, double *really, double *rva_db)
mpg123_free_string
MPG123_EXPORT void mpg123_free_string(mpg123_string *sb)
mpg123_timeframe
MPG123_EXPORT off_t mpg123_timeframe(mpg123_handle *mh, double sec)
mpg123_id3_pic_artist
@ mpg123_id3_pic_artist
Definition: mpg123.h:1982
mpg123_seek_frame
MPG123_EXPORT off_t mpg123_seek_frame(mpg123_handle *mh, off_t frameoff, int whence)
MPG123_FLAGS
@ MPG123_FLAGS
Definition: mpg123.h:287
MPG123_RVA
@ MPG123_RVA
Definition: mpg123.h:291
mpg123_id3_pic_leaflet
@ mpg123_id3_pic_leaflet
Definition: mpg123.h:1979
mpg123_format_none
MPG123_EXPORT int mpg123_format_none(mpg123_handle *mh)
MPG123_INDEX_FAIL
@ MPG123_INDEX_FAIL
Definition: mpg123.h:569
MPG123_BAD_CHANNEL
@ MPG123_BAD_CHANNEL
Definition: mpg123.h:535
mpg123_supported_decoders
const MPG123_EXPORT char ** mpg123_supported_decoders(void)
mpg123_version
mpg123_version
Definition: mpg123.h:1475
MPG123_BAD_FILE
@ MPG123_BAD_FILE
Definition: mpg123.h:555
MPG123_M_MONO
@ MPG123_M_MONO
Definition: mpg123.h:1488
mpg123_id3_pic_other_icon
@ mpg123_id3_pic_other_icon
Definition: mpg123.h:1976
MPG123_FRANKENSTEIN
@ MPG123_FRANKENSTEIN
Definition: mpg123.h:1692
MPG123_VBR
@ MPG123_VBR
Definition: mpg123.h:1470
mpg123_id3_enc
mpg123_id3_enc
Definition: mpg123.h:1893
mpg123_getstate
MPG123_EXPORT int mpg123_getstate(mpg123_handle *mh, enum mpg123_state key, long *val, double *fval)
MPG123_NO_SPACE
@ MPG123_NO_SPACE
Definition: mpg123.h:547
mpg123_frameinfo::vbr
enum mpg123_vbr vbr
Definition: mpg123.h:1514
mpg123_id3_latin1
@ mpg123_id3_latin1
Definition: mpg123.h:1895
mpg123_framebyframe_decode64
MPG123_EXPORT int mpg123_framebyframe_decode64(mpg123_handle *mh, int64_t *num, unsigned char **audio, size_t *bytes)
MPG123_FEATURE_EQUALIZER
@ MPG123_FEATURE_EQUALIZER
Definition: mpg123.h:464
mpg123_read
MPG123_EXPORT int mpg123_read(mpg123_handle *mh, void *outmemory, size_t outmemsize, size_t *done)
mpg123_ssize_t
ssize_t mpg123_ssize_t
Definition: mpg123.h:104
mpg123_id3_pic_type
mpg123_id3_pic_type
Definition: mpg123.h:1972
mpg123_id3_pic_video
@ mpg123_id3_pic_video
Definition: mpg123.h:1990
MPG123_ACCURATE
@ MPG123_ACCURATE
Definition: mpg123.h:1690
mpg123_id3_pic_orchestra
@ mpg123_id3_pic_orchestra
Definition: mpg123.h:1984
mpg123_id3v2::album
mpg123_string * album
Definition: mpg123.h:2020
MPG123_NEW_FORMAT
@ MPG123_NEW_FORMAT
Definition: mpg123.h:530
MPG123_STORE_RAW_ID3
@ MPG123_STORE_RAW_ID3
Definition: mpg123.h:341
MPG123_FEEDBUFFER
@ MPG123_FEEDBUFFER
Definition: mpg123.h:305
mpg123_feature2
MPG123_EXPORT int mpg123_feature2(int key)
mpg123_geteq2
MPG123_EXPORT double mpg123_geteq2(mpg123_handle *mh, int channel, int band)
mpg123_open_fd
MPG123_EXPORT int mpg123_open_fd(mpg123_handle *mh, int fd)
MPG123_INT_OVERFLOW
@ MPG123_INT_OVERFLOW
Definition: mpg123.h:576
MPG123_BAD_RATE
@ MPG123_BAD_RATE
Definition: mpg123.h:536
MPG123_TIMEOUT
@ MPG123_TIMEOUT
Definition: mpg123.h:299
mpg123_moreinfo::mainbits
int mainbits[2][2]
Definition: mpg123.h:1551
MPG123_FEATURE_DECODE_NTOM
@ MPG123_FEATURE_DECODE_NTOM
Definition: mpg123.h:461
mpg123_parnew
MPG123_EXPORT mpg123_handle * mpg123_parnew(mpg123_pars *mp, const char *decoder, int *error)
mpg123_init
MPG123_EXPORT int mpg123_init(void)
mpg123_length64
MPG123_EXPORT int64_t mpg123_length64(mpg123_handle *mh)
MPG123_RVA_MAX
@ MPG123_RVA_MAX
Definition: mpg123.h:384
mpg123_move_string
MPG123_EXPORT int mpg123_move_string(mpg123_string *from, mpg123_string *to)
mpg123_mode
mpg123_mode
Definition: mpg123.h:1484
mpg123_index
MPG123_EXPORT int mpg123_index(mpg123_handle *mh, off_t **offsets, off_t *step, size_t *fill)
mpg123_parms
mpg123_parms
Definition: mpg123.h:284
MPG123_FRESH_DECODER
@ MPG123_FRESH_DECODER
Definition: mpg123.h:1693
MPG123_PRIVATE
@ MPG123_PRIVATE
Definition: mpg123.h:1496
mpg123_frameinfo2::layer
int layer
Definition: mpg123.h:1522
MPG123_OUTSCALE
@ MPG123_OUTSCALE
Definition: mpg123.h:298
mpg123_id3v2::picture
mpg123_picture * picture
Definition: mpg123.h:2032
mpg123_moreinfo::padding
int padding
Definition: mpg123.h:1555
MPG123_FORCE_FLOAT
@ MPG123_FORCE_FLOAT
Definition: mpg123.h:327
mpg123_id3_pic_artist_logo
@ mpg123_id3_pic_artist_logo
Definition: mpg123.h:1993
mpg123_id3v1::genre
unsigned char genre
Definition: mpg123.h:2049
MPG123_M_STEREO
@ MPG123_M_STEREO
Definition: mpg123.h:1485
mpg123_moreinfo::blocktype
int blocktype[2][2]
Definition: mpg123.h:1549
mpg123_frameinfo2::flags
int flags
Definition: mpg123.h:1527
MPG123_DONE
@ MPG123_DONE
Definition: mpg123.h:529
MPG123_STEREO
@ MPG123_STEREO
Definition: mpg123.h:673
mpg123_open
MPG123_EXPORT int mpg123_open(mpg123_handle *mh, const char *path)
MPG123_FEATURE_PARSE_ID3V2
@ MPG123_FEATURE_PARSE_ID3V2
Definition: mpg123.h:455
MPG123_BAD_DECODER
@ MPG123_BAD_DECODER
Definition: mpg123.h:542
MPG123_BAD_ALIGN
@ MPG123_BAD_ALIGN
Definition: mpg123.h:563
MPG123_M_JOINT
@ MPG123_M_JOINT
Definition: mpg123.h:1486
mpg123_id3_pic_fish
@ mpg123_id3_pic_fish
Definition: mpg123.h:1991
MPG123_LFS_OVERFLOW
@ MPG123_LFS_OVERFLOW
Definition: mpg123.h:575
mpg123_picture
Definition: mpg123.h:2001
mpg123_param2
MPG123_EXPORT int mpg123_param2(mpg123_handle *mh, int type, long value, double fvalue)
MPG123_BAD_OUTFORMAT
@ MPG123_BAD_OUTFORMAT
Definition: mpg123.h:534
mpg123_store_utf8_2
MPG123_EXPORT int mpg123_store_utf8_2(mpg123_string *sb, int enc, const unsigned char *source, size_t source_size)
MPG123_BAD_INDEX_PAR
@ MPG123_BAD_INDEX_PAR
Definition: mpg123.h:559
mpg123_eq_change
MPG123_EXPORT int mpg123_eq_change(mpg123_handle *mh, int channel, int a, int b, double db)
mpg123_length
MPG123_EXPORT off_t mpg123_length(mpg123_handle *mh)
MPG123_1_0
@ MPG123_1_0
Definition: mpg123.h:1476
mpg123_set_moreinfo
MPG123_EXPORT int mpg123_set_moreinfo(mpg123_handle *mh, struct mpg123_moreinfo *mi)
mpg123_getpar2
MPG123_EXPORT int mpg123_getpar2(mpg123_pars *mp, int type, long *value, double *fvalue)
mpg123_id3_pic_icon
@ mpg123_id3_pic_icon
Definition: mpg123.h:1975
MPG123_NOT_INITIALIZED
@ MPG123_NOT_INITIALIZED
Definition: mpg123.h:541
mpg123_getstate2
MPG123_EXPORT int mpg123_getstate2(mpg123_handle *mh, int key, long *val, double *fval)
mpg123_fmt_none
MPG123_EXPORT int mpg123_fmt_none(mpg123_pars *mp)
mpg123_seek_frame64
MPG123_EXPORT int64_t mpg123_seek_frame64(mpg123_handle *mh, int64_t frameoff, int whence)
mpg123_picture::size
size_t size
Definition: mpg123.h:2006
mpg123_delete_string
MPG123_EXPORT void mpg123_delete_string(mpg123_string *sb)
mpg123_id3_pic_composer
@ mpg123_id3_pic_composer
Definition: mpg123.h:1985
mpg123_volume_change
MPG123_EXPORT int mpg123_volume_change(mpg123_handle *mh, double change)
mpg123_text_latin1
@ mpg123_text_latin1
Definition: mpg123.h:1877
mpg123_tell_stream
MPG123_EXPORT off_t mpg123_tell_stream(mpg123_handle *mh)
MPG123_M_DUAL
@ MPG123_M_DUAL
Definition: mpg123.h:1487
mpg123_id3_pic_recording
@ mpg123_id3_pic_recording
Definition: mpg123.h:1988
MPG123_CBR
@ MPG123_CBR
Definition: mpg123.h:1469
MPG123_OK
@ MPG123_OK
Definition: mpg123.h:533
MPG123_BAD_BAND
@ MPG123_BAD_BAND
Definition: mpg123.h:549
mpg123_getparam2
MPG123_EXPORT int mpg123_getparam2(mpg123_handle *mh, int type, long *value, double *fvalue)
mpg123_id3_pic_performance
@ mpg123_id3_pic_performance
Definition: mpg123.h:1989
mpg123_replace_reader_handle
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_free
MPG123_EXPORT void mpg123_free(void *ptr)
MPG123_BAD_WHENCE
@ MPG123_BAD_WHENCE
Definition: mpg123.h:553
mpg123_id3v2::pictures
size_t pictures
Definition: mpg123.h:2034
mpg123_reset_eq
MPG123_EXPORT int mpg123_reset_eq(mpg123_handle *mh)
mpg123_id3v2::extra
mpg123_text * extra
Definition: mpg123.h:2030
mpg123_tellframe
MPG123_EXPORT off_t mpg123_tellframe(mpg123_handle *mh)
mpg123_picture::type
char type
Definition: mpg123.h:2003
MPG123_QUIET
@ MPG123_QUIET
Definition: mpg123.h:322
MPG123_OUT_OF_MEM
@ MPG123_OUT_OF_MEM
Definition: mpg123.h:540
mpg123_store_utf8
MPG123_EXPORT int mpg123_store_utf8(mpg123_string *sb, enum mpg123_text_encoding enc, const unsigned char *source, size_t source_size)
mpg123_set_index64
MPG123_EXPORT int mpg123_set_index64(mpg123_handle *mh, int64_t *offsets, int64_t step, size_t fill)
MPG123_FEATURE_PARSE_ICY
@ MPG123_FEATURE_PARSE_ICY
Definition: mpg123.h:462
mpg123_moreinfo::sub_gain
int sub_gain[2][2][3]
Definition: mpg123.h:1546
mpg123_icy
MPG123_EXPORT int mpg123_icy(mpg123_handle *mh, char **icy_meta)
mpg123_set_filesize
MPG123_EXPORT int mpg123_set_filesize(mpg123_handle *mh, off_t size)
mpg123_decode_frame
MPG123_EXPORT int mpg123_decode_frame(mpg123_handle *mh, off_t *num, unsigned char **audio, size_t *bytes)
mpg123_distversion
const char * mpg123_distversion(unsigned int *major, unsigned int *minor, unsigned int *patch)
mpg123_delete_pars
MPG123_EXPORT void mpg123_delete_pars(mpg123_pars *mp)
MPG123_DECODE_FRAMES
@ MPG123_DECODE_FRAMES
Definition: mpg123.h:295
mpg123_open_handle
MPG123_EXPORT int mpg123_open_handle(mpg123_handle *mh, void *iohandle)
mpg123_par
MPG123_EXPORT int mpg123_par(mpg123_pars *mp, enum mpg123_parms type, long value, double fvalue)
mpg123_param
MPG123_EXPORT int mpg123_param(mpg123_handle *mh, enum mpg123_parms type, long value, double fvalue)
mpg123_frameinfo2::emphasis
int emphasis
Definition: mpg123.h:1528
mpg123_moreinfo::scalefac_scale
int scalefac_scale[2][2]
Definition: mpg123.h:1547
MPG123_BAD_RVA
@ MPG123_BAD_RVA
Definition: mpg123.h:545
mpg123_text_max
@ mpg123_text_max
Definition: mpg123.h:1889
MPG123_DOWNSPEED
@ MPG123_DOWNSPEED
Definition: mpg123.h:292
mpg123_copy_string
MPG123_EXPORT int mpg123_copy_string(mpg123_string *from, mpg123_string *to)
MPG123_BAD_CUSTOM_IO
@ MPG123_BAD_CUSTOM_IO
Definition: mpg123.h:574
MPG123_NEED_MORE
@ MPG123_NEED_MORE
Definition: mpg123.h:531
MPG123_ABR
@ MPG123_ABR
Definition: mpg123.h:1471
mpg123_encsize
MPG123_EXPORT int mpg123_encsize(int encoding)
mpg123_id3v2
Definition: mpg123.h:2015
mpg123_string::size
size_t size
Definition: mpg123.h:1745
mpg123_safe_buffer
MPG123_EXPORT size_t mpg123_safe_buffer(void)
MPG123_RIGHT
@ MPG123_RIGHT
Definition: mpg123.h:1330
mpg123_moreinfo::sfbits
int sfbits[2][2]
Definition: mpg123.h:1552
mpg123_tell_stream64
MPG123_EXPORT int64_t mpg123_tell_stream64(mpg123_handle *mh)