Audio-Play-MPG123
view release on metacpan or search on metacpan
mpg123/mpg123.h view on Meta::CPAN
};
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;
mpg123/mpglib/interface.c view on Meta::CPAN
struct mpstr *gmp;
BOOL InitMP3(struct mpstr *mp)
{
static int init = 0;
memset(mp,0,sizeof(struct mpstr));
mp->framesize = 0;
mp->fsizeold = -1;
mp->bsize = 0;
mp->head = mp->tail = NULL;
mp->fr.single = -1;
mp->bsnum = 0;
mp->synth_bo = 1;
if(!init) {
init = 1;
make_decode_tables(32767);
init_layer2();
mpg123/mpglib/interface.c view on Meta::CPAN
do_layer1(&mp->fr,(unsigned char *) out,done);
break;
case 2:
do_layer2(&mp->fr,(unsigned char *) out,done);
break;
case 3:
do_layer3(&mp->fr,(unsigned char *) out,done);
break;
}
mp->fsizeold = mp->framesize;
mp->framesize = 0;
return MP3_OK;
}
int set_pointer(long backstep)
{
unsigned char *bsbufold;
if(gmp->fsizeold < 0 && backstep > 0) {
fprintf(stderr,"Can't step back %ld!\n",backstep);
return MP3_ERR;
}
bsbufold = gmp->bsspace[gmp->bsnum] + 512;
wordpointer -= backstep;
if (backstep)
memcpy(wordpointer,bsbufold+gmp->fsizeold-backstep,backstep);
bitindex = 0;
return MP3_OK;
}
mpg123/mpglib/mpglib.h view on Meta::CPAN
struct buf *buf;
long pos;
struct frame *next;
struct frame *prev;
};
struct mpstr {
struct buf *head,*tail;
int bsize;
int framesize;
int fsizeold;
struct frame fr;
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;
};
( run in 1.660 second using v1.01-cache-2.11-cpan-8f98c5d2c55 )