version 1.5, 2008/08/14 09:58:55 |
version 1.6, 2008/10/26 08:49:43 |
|
|
void (*newout)(struct aproc *, struct abuf *); |
void (*newout)(struct aproc *, struct abuf *); |
|
|
/* |
/* |
|
* Real-time record position changed (for input buffer), |
|
* by the given amount of _frames_ |
|
*/ |
|
void (*ipos)(struct aproc *, struct abuf *, int); |
|
|
|
/* |
|
* Real-time play position changed (for output buffer), |
|
* by the given amount of _frames_ |
|
*/ |
|
void (*opos)(struct aproc *, struct abuf *, int); |
|
|
|
/* |
* destroy the aproc, called just before to free the |
* destroy the aproc, called just before to free the |
* aproc structure |
* aproc structure |
*/ |
*/ |
|
|
int snext; /* bytes to skip to reach the next sample */ |
int snext; /* bytes to skip to reach the next sample */ |
unsigned cmin; /* provided/consumed channels */ |
unsigned cmin; /* provided/consumed channels */ |
unsigned bpf; /* bytes per frame: bpf = nch * bps */ |
unsigned bpf; /* bytes per frame: bpf = nch * bps */ |
int ctx[CHAN_MAX]; /* current frame (for resampling) */ |
int ctx[NCHAN_MAX]; /* current frame (for resampling) */ |
}; |
}; |
|
|
/* |
/* |
|
|
} io; |
} io; |
struct { |
struct { |
struct aconv ist, ost; |
struct aconv ist, ost; |
|
int idelta, odelta; /* reminder of conv_[io]pos */ |
} conv; |
} conv; |
struct { |
struct { |
#define MIX_DROP 1 |
#define MIX_DROP 1 |
#define MIX_AUTOQUIT 2 |
#define MIX_AUTOQUIT 2 |
unsigned flags; |
unsigned flags; /* bit mask of above */ |
|
int lat; /* current latency */ |
|
int maxlat; /* max latency allowed*/ |
} mix; |
} mix; |
struct { |
struct { |
#define SUB_DROP 1 |
#define SUB_DROP 1 |
#define SUB_AUTOQUIT 2 |
#define SUB_AUTOQUIT 2 |
unsigned flags; |
unsigned flags; /* bit mask of above */ |
|
int lat; /* current latency */ |
|
int maxlat; /* max latency allowed*/ |
} sub; |
} sub; |
} u; |
} u; |
}; |
}; |
|
|
void wpipe_eof(struct aproc *, struct abuf *); |
void wpipe_eof(struct aproc *, struct abuf *); |
void wpipe_hup(struct aproc *, struct abuf *); |
void wpipe_hup(struct aproc *, struct abuf *); |
|
|
struct aproc *mix_new(void); |
struct aproc *mix_new(char *, int); |
struct aproc *sub_new(void); |
struct aproc *sub_new(char *, int); |
struct aproc *conv_new(char *, struct aparams *, struct aparams *); |
struct aproc *conv_new(char *, struct aparams *, struct aparams *); |
|
|
void mix_pushzero(struct aproc *); |
void mix_pushzero(struct aproc *); |