Audio-Play-MPG123
view release on metacpan or search on metacpan
mpg123/mpg123.h view on Meta::CPAN
};
#define VBR_TOC_SIZE 100
#define VBR_FRAMES_FLAG 0x0001
#define VBR_BYTES_FLAG 0x0002
#define VBR_TOC_FLAG 0x0004
#define VBR_SCALE_FLAG 0x0008
struct vbrHeader {
unsigned long flags;
unsigned long frames;
unsigned long bytes;
unsigned long scale;
unsigned char toc[100];
};
struct parameter {
int aggressive; /* renice to max. priority */
int shuffle; /* shuffle/random play */
int remote; /* remote operation */
int outmode; /* where to out the decoded sampels */
int quiet; /* shut up! */
int xterm_title; /* print filename in xterm title */
long usebuffer; /* second level buffer size */
int tryresync; /* resync stream after error */
int verbose; /* verbose level */
#ifdef TERM_CONTROL
int term_ctrl;
#endif
int force_mono;
int force_stereo;
int force_8bit;
long force_rate;
double pitch;
int down_sample;
int checkrange;
long doublespeed;
long halfspeed;
int force_reopen;
int stat_3dnow; /* automatic/force/force-off 3DNow! optimized code */
int test_3dnow;
int realtime;
char filename[256];
char *esdserver;
char *equalfile;
int enable_equalizer;
long outscale;
long startFrame;
int print_version;
};
struct bitstream_info {
int bitindex;
unsigned char *wordpointer;
};
struct mpstr {
int bsize;
int framesize;
int fsizeold;
struct frame fr;
/* int (*do_layer)(struct mpstr *,struct frame *fr,int,struct audio_info_struct *); */
unsigned char bsspace[2][MAXFRAMESIZE+512]; /* MAXFRAMESIZE */
real hybrid_block[2][2][SBLIMIT*SSLIMIT];
int hybrid_blc[2];
unsigned long header;
int bsnum;
real synth_buffs[2][2][0x110];
int synth_bo;
struct bitstream_info bsi;
};
extern struct bitstream_info bsi;
struct reader {
int (*init)(struct reader *);
void (*close)(struct reader *);
int (*head_read)(struct reader *,unsigned long *newhead);
int (*head_shift)(struct reader *,unsigned long *head);
int (*skip_bytes)(struct reader *,int len);
int (*read_frame_body)(struct reader *,unsigned char *,int size);
int (*back_bytes)(struct reader *,int bytes);
int (*back_frame)(struct reader *,struct frame *,int num);
long (*tell)(struct reader *);
void (*rewind)(struct reader *);
long filelen;
long filepos;
int filept;
int flags;
unsigned char id3buf[128];
unsigned char *backbuf;
int mark;
int bufpos,bufstart,bufend;
int bufsize;
};
#define READER_FD_OPENED 0x1
#define READER_ID3TAG 0x2
extern struct reader *rd,readers[];
extern int halfspeed;
extern int buffer_fd[2];
extern txfermem *buffermem;
extern char *prgName, *prgVersion;
#ifndef NOXFERMEM
extern void buffer_loop(struct audio_info_struct *ai,sigset_t *oldsigset);
#endif
extern void readers_pushback_header(struct reader *rds,unsigned long aLong);
extern void readers_mark_pos(struct reader *rds);
extern void readers_goto_mark(struct reader *rds);
/* ------ Declarations from "httpget.c" ------ */
extern char *proxyurl;
extern unsigned long proxyip;
( run in 1.862 second using v1.01-cache-2.11-cpan-800906f7e73 )