+static int open_mixer_and_set_channel(const struct mixer *m, struct mixer_handle **h)
+{
+ int ret;
+
+ ret = m->open(OPT_STRING_VAL(PARA_MIXER, MIXER_DEVICE), h);
+ if (ret < 0)
+ return ret;
+ ret = set_channel(m, *h, OPT_STRING_VAL(PARA_MIXER, MIXER_CHANNEL));
+ if (ret == -E_BAD_CHANNEL) {
+ char *channels = m->get_channels(*h);
+ printf("Available channels: %s\n", channels);
+ free(channels);
+ }
+ if (ret < 0)
+ m->close(h);
+ return ret;
+}
+
+static int com_fade(const struct mixer *m)