/*
- * Copyright (C) 2005-2011 Andre Noll <maan@systemlinux.org>
+ * Copyright (C) 2005-2012 Andre Noll <maan@systemlinux.org>
*
* Licensed under the GPL v2. For licencing details see COPYING.
*/
#include <sys/types.h>
#include <alsa/asoundlib.h>
#include <sys/time.h>
-#include <stdbool.h>
#include "para.h"
#include "fd.h"
NULL);
if (ret < 0 || buffer_time == 0)
goto fail;
+ /* buffer at most 500 milliseconds */
+ buffer_time = PARA_MIN(buffer_time, 500U * 1000U);
msg = "could not set buffer time";
ret = snd_pcm_hw_params_set_buffer_time_near(pad->handle, hwparams,
&buffer_time, NULL);
ret = -E_ALSA;
err:
assert(ret < 0);
- btr_remove_node(btrn);
+ btr_remove_node(&wn->btrn);
t->error = ret;
}
w->pre_select = alsa_write_pre_select;
w->post_select = alsa_write_post_select;
w->parse_config_or_die = alsa_parse_config_or_die;
- w->shutdown = NULL; /* nothing to do */
w->free_config = alsa_free_config;
w->help = (struct ggo_help) {
.short_help = alsa_write_args_info_help,