ao_shutdown();
}
-static void aow_pre_select(struct sched *s, void *context)
+static void aow_pre_monitor(struct sched *s, void *context)
{
struct writer_node *wn = context;
struct private_aow_data *pawd = wn->private_data;
case SF_U8:
case SF_U16_LE:
case SF_U16_BE:
- return -E_AO_BAD_SAMPLE_FORMAT;
+ return -E_BAD_SAMPLE_FORMAT;
case SF_S8:
/* no need to set byte_format */
result->bits = 8;
if (info->type == AO_TYPE_FILE)
continue;
- PARA_DEBUG_LOG("%s: %s", info->short_name, info->name);
- PARA_DEBUG_LOG("priority: %d", info->priority);
+ PARA_DEBUG_LOG("name: %s: %s\n", info->short_name, info->name);
+ PARA_DEBUG_LOG("priority: %d\n", info->priority);
for (j = 0; j < info->option_count; j++) {
tmp = make_message("%s%s%s", keys? keys : "",
keys? ", " : "",
free(keys);
keys = tmp;
}
- PARA_DEBUG_LOG("keys: %s", keys? keys : "[none]");
+ PARA_DEBUG_LOG("keys: %s\n", keys? keys : "[none]");
free(keys);
- PARA_DEBUG_LOG("comment: %s", info->comment?
+ PARA_DEBUG_LOG("comment: %s\n", info->comment?
info->comment : "[none]");
}
}
ao_info *info;
const struct lls_opt_result *r;
unsigned n;
- struct private_aow_data *pawd = para_malloc(sizeof(*pawd));
+ struct private_aow_data *pawd = alloc(sizeof(*pawd));
ao_initialize();
aow_show_drivers();
return ret;
}
-__noreturn static void *aow_play(void *priv)
+static void *aow_play(void *priv)
{
struct writer_node *wn = priv;
struct private_aow_data *pawd = wn->private_data;
return -E_AO_PTHREAD;
}
-static int aow_post_select(__a_unused struct sched *s, void *context)
+static int aow_post_monitor(__a_unused struct sched *s, void *context)
{
struct writer_node *wn = context;
struct private_aow_data *pawd = wn->private_data;
goto remove_btrn;
if (ret == 0)
return 0;
- get_btr_sample_rate(wn->btrn, &rate);
- get_btr_channels(wn->btrn, &ch);
- get_btr_sample_format(wn->btrn, &format);
+ ret = get_btr_sample_rate(wn->btrn, &rate);
+ if (ret < 0)
+ goto remove_btrn;
+ ret = get_btr_channels(wn->btrn, &ch);
+ if (ret < 0)
+ goto remove_btrn;
+ ret = get_btr_sample_format(wn->btrn, &format);
+ if (ret < 0)
+ goto remove_btrn;
ret = aow_init(wn, rate, ch, format);
if (ret < 0)
goto remove_btrn;
struct writer lsg_write_cmd_com_ao_user_data = {
.close = aow_close,
- .pre_select = aow_pre_select,
- .post_select = aow_post_select,
+ .pre_monitor = aow_pre_monitor,
+ .post_monitor = aow_post_monitor,
};