Home | History | Annotate | Download | only in audio

Lines Matching defs:hw

71     HWVoiceOut hw;
82 HWVoiceIn hw;
117 HWVoiceOut *hw = &esd->hw;
120 threshold = conf.divisor ? hw->samples / conf.divisor : 0;
144 rpos = hw->rpos;
152 int chunk = audio_MIN (to_mix, hw->samples - rpos);
153 struct st_sample *src = hw->mix_buf + rpos;
155 hw->clip (esd->pcm_buf, src, chunk);
158 written = write (esd->fd, esd->pcm_buf, chunk << hw->info.shift);
167 if (written != chunk << hw->info.shift) {
168 int wsamples = written >> hw->info.shift;
169 int wbytes = wsamples << hw->info.shift;
173 wbytes, written, hw->info.align + 1);
176 rpos = (rpos + wsamples) % hw->samples;
180 rpos = (rpos + chunk) % hw->samples;
198 static int qesd_run_out (HWVoiceOut *hw, int live)
201 ESDVoiceOut *esd = (ESDVoiceOut *) hw;
210 hw->rpos = esd->rpos;
225 static int qesd_init_out (HWVoiceOut *hw, struct audsettings *as)
227 ESDVoiceOut *esd = (ESDVoiceOut *) hw;
257 audio_pcm_init_info (&hw->info, &obt_as);
259 hw->samples = conf.samples;
260 esd->pcm_buf = audio_calloc (AUDIO_FUNC, hw->samples, 1 << hw->info.shift);
263 hw->samples << hw->info.shift);
292 static void qesd_fini_out (HWVoiceOut *hw)
295 ESDVoiceOut *esd = (ESDVoiceOut *) hw;
315 static int qesd_ctl_out (HWVoiceOut *hw, int cmd, ...)
317 (void) hw;
326 HWVoiceIn *hw = &esd->hw;
329 threshold = conf.divisor ? hw->samples / conf.divisor : 0;
353 wpos = hw->wpos;
361 int chunk = audio_MIN (to_grab, hw->samples - wpos);
365 nread = read (esd->fd, buf, chunk << hw->info.shift);
374 if (nread != chunk << hw->info.shift) {
375 int rsamples = nread >> hw->info.shift;
376 int rbytes = rsamples << hw->info.shift;
380 rbytes, nread, hw->info.align + 1);
383 wpos = (wpos + rsamples) % hw->samples;
387 hw->conv (hw->conv_buf + wpos, buf, nread >> hw->info.shift,
389 wpos = (wpos + chunk) % hw->samples;
407 static int qesd_run_in (HWVoiceIn *hw)
410 ESDVoiceIn *esd = (ESDVoiceIn *) hw;
416 live = audio_pcm_hw_get_live_in (hw);
417 dead = hw->samples - live;
421 hw->wpos = esd->wpos;
436 static int qesd_init_in (HWVoiceIn *hw, struct audsettings *as)
438 ESDVoiceIn *esd = (ESDVoiceIn *) hw;
465 audio_pcm_init_info (&hw->info, &obt_as);
467 hw->samples = conf.samples;
468 esd->pcm_buf = audio_calloc (AUDIO_FUNC, hw->samples, 1 << hw->info.shift);
471 hw->samples << hw->info.shift);
500 static void qesd_fini_in (HWVoiceIn *hw)
503 ESDVoiceIn *esd = (ESDVoiceIn *) hw;
523 static int qesd_ctl_in (HWVoiceIn *hw, int cmd, ...)
525 (void) hw;