Mercurial > SDL_sound_CoreAudio
annotate decoders/mpglib/mpglib_sdlsound.h @ 433:f1c16afd9ebe
Read until buffer is full in Sound_Decode() rather than one packet per call.
author | Ryan C. Gordon <icculus@icculus.org> |
---|---|
date | Sat, 21 Dec 2002 11:32:14 +0000 |
parents | a9e211c3faa4 |
children | 5b00e43ec23c |
rev | line source |
---|---|
261 | 1 |
2 struct buf { | |
292
a9e211c3faa4
Cleanups and audio format determination.
Ryan C. Gordon <icculus@icculus.org>
parents:
261
diff
changeset
|
3 unsigned char *pnt; |
261 | 4 long size; |
5 long pos; | |
292
a9e211c3faa4
Cleanups and audio format determination.
Ryan C. Gordon <icculus@icculus.org>
parents:
261
diff
changeset
|
6 struct buf *next; |
a9e211c3faa4
Cleanups and audio format determination.
Ryan C. Gordon <icculus@icculus.org>
parents:
261
diff
changeset
|
7 struct buf *prev; |
261 | 8 }; |
9 | |
10 struct framebuf { | |
11 struct buf *buf; | |
12 long pos; | |
13 struct frame *next; | |
14 struct frame *prev; | |
15 }; | |
16 | |
17 struct mpstr { | |
18 struct buf *head,*tail; | |
19 int bsize; | |
20 int framesize; | |
292
a9e211c3faa4
Cleanups and audio format determination.
Ryan C. Gordon <icculus@icculus.org>
parents:
261
diff
changeset
|
21 int fsizeold; |
261 | 22 struct frame fr; |
292
a9e211c3faa4
Cleanups and audio format determination.
Ryan C. Gordon <icculus@icculus.org>
parents:
261
diff
changeset
|
23 unsigned char bsspace[2][MAXFRAMESIZE+512]; /* MAXFRAMESIZE */ |
261 | 24 real hybrid_block[2][2][SBLIMIT*SSLIMIT]; |
25 int hybrid_blc[2]; | |
26 unsigned long header; | |
27 int bsnum; | |
28 real synth_buffs[2][2][0x110]; | |
292
a9e211c3faa4
Cleanups and audio format determination.
Ryan C. Gordon <icculus@icculus.org>
parents:
261
diff
changeset
|
29 int synth_bo; |
261 | 30 }; |
31 | |
32 #ifndef BOOL | |
33 #define BOOL int | |
34 #endif | |
35 | |
36 #define MP3_ERR -1 | |
37 #define MP3_OK 0 | |
38 #define MP3_NEED_MORE 1 | |
39 | |
40 | |
41 #ifdef __cplusplus | |
42 extern "C" { | |
43 #endif | |
44 | |
45 BOOL InitMP3(struct mpstr *mp); | |
46 int decodeMP3(struct mpstr *mp,char *inmemory,int inmemsize, | |
292
a9e211c3faa4
Cleanups and audio format determination.
Ryan C. Gordon <icculus@icculus.org>
parents:
261
diff
changeset
|
47 char *outmemory,int outmemsize,int *done); |
261 | 48 void ExitMP3(struct mpstr *mp); |
49 | |
50 #ifdef __cplusplus | |
51 } | |
52 #endif | |
53 | |
54 |