- if (powd->fd < 0) {
- int32_t rate, ch;
- ret = -1;
- if (!conf->samplerate_given) /* config option trumps btr_exec */
- ret = get_btr_samplerate(wn->btrn, &rate);
- if (ret < 0)
- rate = conf->samplerate_arg;
- ret = -1;
- if (!conf->channels_given)
- ret = get_btr_channels(wn->btrn, &ch);
- if (ret < 0)
- ch = conf->channels_arg;
- ret = oss_init(wn, rate, ch);
+ if (!powd) {
+ int32_t rate, ch, format;
+ get_btr_sample_rate(btrn, &rate);
+ get_btr_channels(btrn, &ch);
+ get_btr_sample_format(btrn, &format);
+ ret = oss_init(wn, rate, ch, format);