Mercurial > mplayer.hg
annotate mp3lib/mp3.h @ 17711:8aa18d8e5eb6
add forward_ptr to syncpoint (+0.006% overhead)
give syncpoint and frameheader their own checksums (worst case overhead increase <0.006%)
fix filestructure so that extendability is restored
move index_ptr to the fileend so that index packets arent a special case with their reserved_bytes position
-> all packets follow the same structure now
remove "optional" word from info packets, they are not more optional then index packets
split index packets
note, this is entirely optional and a muxer which has difficulty with it can always output a single index packet
remove the index MUST be at the file end if anywher rule, its not needed anymore as index_ptr will always be at the end
info frames must be keyframes
last info frame is the most correct
comments, flames?
author | michael |
---|---|
date | Wed, 01 Mar 2006 14:19:37 +0000 |
parents | f580a7755ac5 |
children | e7c989f7a7c9 |
rev | line source |
---|---|
1 | 1 /* MP3 Player Library 2.0 (C) 1999 A'rpi/Astral&ESP-team */ |
2 | |
3 /* decoder level: */ | |
732
e14114170e01
applied 'fakemono' patch by Bryan Chan scorpio@acm.org
arpi_esp
parents:
1
diff
changeset
|
4 #ifdef USE_FAKE_MONO |
e14114170e01
applied 'fakemono' patch by Bryan Chan scorpio@acm.org
arpi_esp
parents:
1
diff
changeset
|
5 extern void MP3_Init(int fakemono); |
e14114170e01
applied 'fakemono' patch by Bryan Chan scorpio@acm.org
arpi_esp
parents:
1
diff
changeset
|
6 #else |
1 | 7 extern void MP3_Init(); |
732
e14114170e01
applied 'fakemono' patch by Bryan Chan scorpio@acm.org
arpi_esp
parents:
1
diff
changeset
|
8 #endif |
1 | 9 extern int MP3_Open(char *filename,int buffsize); |
10 extern void MP3_SeekFrame(int num,int dir); | |
11 extern void MP3_SeekForward(int num); | |
17566 | 12 extern int MP3_PrintTAG(void); |
1 | 13 extern int MP3_DecodeFrame(unsigned char *hova,short single); |
17566 | 14 extern int MP3_FillBuffers(void); |
15 extern void MP3_PrintHeader(void); | |
16 extern void MP3_Close(void); | |
1 | 17 /* public variables: */ |
18 extern int MP3_eof; // set if EOF reached | |
19 extern int MP3_pause; // lock playing | |
20 /* informational: */ | |
21 extern int MP3_filesize; // filesize | |
22 extern int MP3_frames; // current frame no | |
23 extern int MP3_fpos; // current file pos | |
24 extern int MP3_framesize; // current framesize in bytes (including header) | |
25 extern int MP3_bitrate; // current bitrate (kbits) | |
26 extern int MP3_samplerate; // current sampling freq (Hz) | |
27 extern int MP3_channels; | |
28 extern int MP3_bps; | |
29 | |
30 /* player level: */ | |
31 extern int MP3_OpenDevice(char *devname); /* devname can be NULL for default) */ | |
17566 | 32 extern void MP3_Play(void); |
33 extern void MP3_Stop(void); | |
34 extern void MP3_CloseDevice(void); | |
1 | 35 |