• Home
  • Raw
  • Download

Lines Matching refs:hw

27 #define HWBUF hw->mix_buf
36 #define HWBUF hw->conv_buf
72 static void glue (audio_pcm_hw_free_resources_, TYPE) (HW *hw) in glue()
81 static int glue (audio_pcm_hw_alloc_resources_, TYPE) (HW *hw) in glue()
83 HWBUF = audio_calloc (AUDIO_FUNC, hw->samples, sizeof (struct st_sample)); in glue()
86 hw->samples); in glue()
112 samples = sw->hw->samples; in glue()
114 samples = ((int64_t) sw->hw->samples << 32) / sw->ratio; in glue()
125 sw->rate = st_rate_start (sw->info.freq, sw->hw->info.freq); in glue()
127 sw->rate = st_rate_start (sw->hw->info.freq, sw->info.freq); in glue()
139 HW *hw, in glue()
147 sw->hw = hw; in glue()
150 sw->ratio = ((int64_t) sw->hw->info.freq << 32) / sw->info.freq; in glue()
154 sw->ratio = ((int64_t) sw->info.freq << 32) / sw->hw->info.freq; in glue()
185 static void glue (audio_pcm_hw_add_sw_, TYPE) (HW *hw, SW *sw) in glue()
187 QLIST_INSERT_HEAD (&hw->sw_head, sw, entries); in glue()
198 HW *hw = *hwp; in glue() local
200 if (!hw->sw_head.lh_first) { in glue()
202 audio_detach_capture (hw); in glue()
204 QLIST_REMOVE (hw, entries); in glue()
206 glue (audio_pcm_hw_free_resources_ ,TYPE) (hw); in glue()
208 glue (hw->pcm_ops->fini_, TYPE) (hw); in glue() local
210 qemu_free (hw); in glue()
215 static HW *glue (audio_pcm_hw_find_any_, TYPE) (HW *hw) in glue()
218 return hw ? hw->entries.le_next : glue (s->hw_head_, TYPE).lh_first; in glue()
221 static HW *glue (audio_pcm_hw_find_any_enabled_, TYPE) (HW *hw) in glue()
223 while ((hw = glue (audio_pcm_hw_find_any_, TYPE) (hw))) { in glue()
224 if (hw->enabled) { in glue()
225 return hw; in glue()
232 HW *hw, in glue()
236 while ((hw = glue (audio_pcm_hw_find_any_, TYPE) (hw))) { in glue()
237 if (audio_pcm_info_eq (&hw->info, as)) { in glue()
238 return hw; in glue()
246 HW *hw; in glue() local
265 hw = audio_calloc (AUDIO_FUNC, 1, glue (drv->voice_size_, TYPE)); in glue()
266 if (!hw) { in glue()
272 hw->pcm_ops = drv->pcm_ops; in glue()
273 QLIST_INIT (&hw->sw_head); in glue()
275 QLIST_INIT (&hw->cap_head); in glue()
278 err = glue (hw->pcm_ops->init_, TYPE) (hw, as); in glue()
283 if (audio_bug (AUDIO_FUNC, hw->samples <= 0)) { in glue()
284 dolog ("hw->samples=%d\n", hw->samples); in glue()
289 hw->clip = mixeng_clip in glue()
291 hw->conv = mixeng_conv in glue()
293 [hw->info.nchannels == 2] in glue()
294 [hw->info.sign] in glue()
295 [hw->info.swap_endianness] in glue()
296 [audio_bits_to_index (hw->info.bits)]; in glue()
298 if (glue (audio_pcm_hw_alloc_resources_, TYPE) (hw)) { in glue()
302 QLIST_INSERT_HEAD (&s->glue (hw_head_, TYPE), hw, entries); in glue()
305 audio_attach_capture (hw); in glue()
307 return hw; in glue()
311 glue (hw->pcm_ops->fini_, TYPE) (hw); in glue()
314 qemu_free (hw); in glue()
320 HW *hw; in glue() local
323 hw = glue (audio_pcm_hw_add_new_, TYPE) (as); in glue()
324 if (hw) { in glue()
325 return hw; in glue()
329 hw = glue (audio_pcm_hw_find_specific_, TYPE) (NULL, as); in glue()
330 if (hw) { in glue()
331 return hw; in glue()
334 hw = glue (audio_pcm_hw_add_new_, TYPE) (as); in glue()
335 if (hw) { in glue()
336 return hw; in glue()
348 HW *hw; in glue() local
365 hw = glue (audio_pcm_hw_add_, TYPE) (&hw_as); in glue()
366 if (!hw) { in glue()
370 glue (audio_pcm_hw_add_sw_, TYPE) (hw, sw); in glue()
372 if (glue (audio_pcm_sw_init_, TYPE) (sw, hw, sw_name, as)) { in glue()
380 glue (audio_pcm_hw_gc_, TYPE) (&hw); in glue()
391 glue (audio_pcm_hw_gc_, TYPE) (&sw->hw); in glue()
474 HW *hw = sw->hw; in glue() local
476 if (!hw) { in glue()
483 if (glue (audio_pcm_sw_init_, TYPE) (sw, hw, name, as)) { in glue()
519 audio_pcm_print_info ("hw", &sw->hw->info); in glue()
541 ts->old_ts = sw->hw->ts_helper; in glue()
552 cur_ts = sw->hw->ts_helper; in glue()
567 return muldiv64 (delta, sw->hw->info.freq, 1000000); in glue()