Lines Matching refs:info
124 struct feed_format_info *info;
153 info = malloc(sizeof(*info), M_DEVBUF, M_NOWAIT | M_ZERO);
154 if (info == NULL)
157 info->channels = AFMT_CHANNEL(f->desc->in);
159 info->ibps = AFMT_BPS(f->desc->in);
160 info->ialign = info->ibps * info->channels;
161 info->read = rd_op;
163 info->obps = AFMT_BPS(f->desc->out);
164 info->oalign = info->obps * info->channels;
165 info->write = wr_op;
167 f->data = info;
175 struct feed_format_info *info;
177 info = f->data;
178 if (info != NULL)
179 free(info, M_DEVBUF);
189 struct feed_format_info *info;
191 info = f->data;
197 info->channels = (uint32_t)value;
198 info->ialign = info->ibps * info->channels;
199 info->oalign = info->obps * info->channels;
213 struct feed_format_info *info;
218 info = f->data;
220 count = SND_FXROUND(count, info->oalign);
223 if (count < info->oalign)
226 if (count < info->ialign) {
227 src = info->reservoir;
228 j = info->ialign;
230 if (info->ialign == info->oalign)
232 else if (info->ialign > info->oalign)
233 j = SND_FXROUND(count, info->ialign);
235 j = SND_FXDIV(count, info->oalign) *
236 info->ialign;
241 info->ialign);
245 j *= info->channels;
246 count -= j * info->obps;
249 v = info->read(src);
250 info->write(dst, v);
251 dst += info->obps;
252 src += info->ibps;