if (audio_bug(__func__, !voice_size && max_voices)) {
dolog ("drv=`%s' voice_size=0 max_voices=%d\n",
drv->name, max_voices);
- glue (s->nb_hw_voices_, TYPE) = 0;
+ abort();
}
if (audio_bug(__func__, voice_size && !max_voices)) {
dolog ("drv=`%s' voice_size=%d max_voices=0\n",
drv->name, voice_size);
+ abort();
}
}
size_t samples = hw->samples;
if (audio_bug(__func__, samples == 0)) {
dolog("Attempted to allocate empty buffer\n");
+ abort();
}
HWBUF = g_malloc0(sizeof(STSampleBuffer) + sizeof(st_sample) * samples);
if (audio_bug(__func__, !drv)) {
dolog ("No host audio driver\n");
- return NULL;
+ abort();
}
if (audio_bug(__func__, !drv->pcm_ops)) {
dolog ("Host audio driver without pcm_ops\n");
- return NULL;
+ abort();
}
hw = audio_calloc(__func__, 1, glue(drv->voice_size_, TYPE));
QLIST_INIT (&hw->cap_head);
#endif
if (glue (hw->pcm_ops->init_, TYPE) (hw, as, s->drv_opaque)) {
- goto err0;
+ g_free(hw);
+ return NULL;
}
if (audio_bug(__func__, hw->samples <= 0)) {
dolog("hw->samples=%zd\n", hw->samples);
- goto err1;
+ abort();
}
if (hw->info.is_float) {
audio_attach_capture (hw);
#endif
return hw;
-
- err1:
- glue (hw->pcm_ops->fini_, TYPE) (hw);
- err0:
- g_free (hw);
- return NULL;
}
AudiodevPerDirectionOptions *glue(audio_get_pdo_, TYPE)(Audiodev *dev)
if (sw) {
if (audio_bug(__func__, !card)) {
dolog ("card=%p\n", card);
- return;
+ abort();
}
glue (audio_close_, TYPE) (sw);
if (audio_bug(__func__, !card || !name || !callback_fn || !as)) {
dolog ("card=%p name=%p callback_fn=%p as=%p\n",
card, name, callback_fn, as);
- goto fail;
+ abort();
}
s = card->state;
if (audio_bug(__func__, audio_validate_settings(as))) {
audio_print_settings (as);
- goto fail;
+ abort();
}
if (audio_bug(__func__, !s->drv)) {
dolog ("Can not open `%s' (no host audio driver)\n", name);
- goto fail;
+ abort();
}
if (sw && audio_pcm_info_eq (&sw->info, as)) {