Lines Matching defs:info
126 struct feed_format_info *info;
155 info = malloc(sizeof(*info), M_DEVBUF, M_NOWAIT | M_ZERO);
156 if (info == NULL)
159 info->channels = AFMT_CHANNEL(f->desc->in);
161 info->ibps = AFMT_BPS(f->desc->in);
162 info->ialign = info->ibps * info->channels;
163 info->read = rd_op;
165 info->obps = AFMT_BPS(f->desc->out);
166 info->oalign = info->obps * info->channels;
167 info->write = wr_op;
169 f->data = info;
177 struct feed_format_info *info;
179 info = f->data;
180 if (info != NULL)
181 free(info, M_DEVBUF);
191 struct feed_format_info *info;
193 info = f->data;
199 info->channels = (uint32_t)value;
200 info->ialign = info->ibps * info->channels;
201 info->oalign = info->obps * info->channels;
215 struct feed_format_info *info;
220 info = f->data;
222 count = SND_FXROUND(count, info->oalign);
225 if (count < info->oalign)
228 if (count < info->ialign) {
229 src = info->reservoir;
230 j = info->ialign;
232 if (info->ialign == info->oalign)
234 else if (info->ialign > info->oalign)
235 j = SND_FXROUND(count, info->ialign);
237 j = SND_FXDIV(count, info->oalign) *
238 info->ialign;
243 info->ialign);
247 j *= info->channels;
248 count -= j * info->obps;
251 v = info->read(src);
252 info->write(dst, v);
253 dst += info->obps;
254 src += info->ibps;