version 1.7, 2010/04/03 17:59:17 |
version 1.8, 2010/04/06 20:07:01 |
|
|
#define HDR_RAW 1 /* no headers, ie openbsd native ;-) */ |
#define HDR_RAW 1 /* no headers, ie openbsd native ;-) */ |
#define HDR_WAV 2 /* microsoft riff wave */ |
#define HDR_WAV 2 /* microsoft riff wave */ |
unsigned hdr; /* HDR_RAW or HDR_WAV */ |
unsigned hdr; /* HDR_RAW or HDR_WAV */ |
|
unsigned xrun; /* xrun policy */ |
struct aparams hpar; /* parameters to write on the header */ |
struct aparams hpar; /* parameters to write on the header */ |
off_t rbytes; /* bytes to read, -1 if no limit */ |
off_t rbytes; /* bytes to read, -1 if no limit */ |
off_t wbytes; /* bytes to write, -1 if no limit */ |
off_t wbytes; /* bytes to write, -1 if no limit */ |
|
off_t startpos; /* beginning of the data chunk */ |
|
off_t endpos; /* end of the data chunk */ |
|
off_t mmcpos; /* play/rec start point set by MMC */ |
short *map; /* mulaw/alaw -> s16 conversion table */ |
short *map; /* mulaw/alaw -> s16 conversion table */ |
|
int slot; /* mixer ctl slot number */ |
|
int tr; /* use MMC control */ |
|
unsigned vol; /* current volume */ |
|
unsigned maxweight; /* dynamic range when vol == 127 */ |
|
#define WAV_INIT 0 /* not trying to do anything */ |
|
#define WAV_START 1 /* buffer allocated */ |
|
#define WAV_READY 2 /* buffer filled enough */ |
|
#define WAV_RUN 3 /* buffer attached to device */ |
|
#define WAV_FAILED 4 /* failed to seek */ |
|
unsigned pstate; /* one of above */ |
|
unsigned mode; /* bitmap of MODE_* */ |
}; |
}; |
|
|
extern struct fileops wav_ops; |
extern struct fileops wav_ops; |
|
|
struct wav *wav_new_in(struct fileops *, char *, unsigned, |
struct wav *wav_new_in(struct fileops *, unsigned, char *, unsigned, |
struct aparams *, unsigned, unsigned); |
struct aparams *, unsigned, unsigned, int); |
struct wav *wav_new_out(struct fileops *, char *, unsigned, |
struct wav *wav_new_out(struct fileops *, unsigned, char *, unsigned, |
struct aparams *, unsigned); |
struct aparams *, unsigned, int); |
unsigned wav_read(struct file *, unsigned char *, unsigned); |
unsigned wav_read(struct file *, unsigned char *, unsigned); |
unsigned wav_write(struct file *, unsigned char *, unsigned); |
unsigned wav_write(struct file *, unsigned char *, unsigned); |
void wav_close(struct file *); |
void wav_close(struct file *); |
int wav_readhdr(int, struct aparams *, off_t *, short **); |
int wav_readhdr(int, struct aparams *, off_t *, off_t *, short **); |
int wav_writehdr(int, struct aparams *); |
int wav_writehdr(int, struct aparams *, off_t *, off_t); |
void wav_conv(unsigned char *, unsigned, short *); |
void wav_conv(unsigned char *, unsigned, short *); |
|
|
/* legacy */ |
/* legacy */ |