00001 00002 #ifndef plotting_data_defined 00003 #define plotting_data_defined 00004 struct plotting_data; 00005 typedef struct plotting_data plotting_data; 00006 #endif 00007 00008 00009 #ifndef NOANALYSIS 00010 extern plotting_data *mpg123_pinfo; 00011 #endif 00012 00013 struct buf { 00014 unsigned char *pnt; 00015 long size; 00016 long pos; 00017 struct buf *next; 00018 struct buf *prev; 00019 }; 00020 00021 struct framebuf { 00022 struct buf *buf; 00023 long pos; 00024 struct frame *next; 00025 struct frame *prev; 00026 }; 00027 00028 typedef struct mpstr_tag { 00029 struct buf *head,*tail; 00030 int vbr_header; /* 1 if valid Xing vbr header detected */ 00031 int num_frames; /* set if vbr header present */ 00032 int enc_delay; /* set if vbr header present */ 00033 int enc_padding; /* set if vbr header present */ 00034 int header_parsed; 00035 int side_parsed; 00036 int data_parsed; 00037 int free_format; /* 1 = free format frame */ 00038 int old_free_format; /* 1 = last frame was free format */ 00039 int bsize; 00040 int framesize; 00041 int ssize; 00042 int dsize; 00043 int fsizeold; 00044 int fsizeold_nopadding; 00045 struct frame fr; 00046 unsigned char bsspace[2][MAXFRAMESIZE+512]; /* MAXFRAMESIZE */ 00047 real hybrid_block[2][2][SBLIMIT*SSLIMIT]; 00048 int hybrid_blc[2]; 00049 unsigned long header; 00050 int bsnum; 00051 real synth_buffs[2][2][0x110]; 00052 int synth_bo; 00053 int sync_bitstream; 00054 00055 int bitindex; 00056 unsigned char* wordpointer; 00057 } MPSTR, *PMPSTR; 00058 00059 00060 #if ( defined(_MSC_VER) || defined(__BORLANDC__) ) 00061 typedef int BOOL; /* windef.h contains the same definition */ 00062 #else 00063 #define BOOL int 00064 #endif 00065 00066 #define MP3_ERR -1 00067 #define MP3_OK 0 00068 #define MP3_NEED_MORE 1 00069 00070 00071 00072