/*
- * Copyright (C) 2005-2008 Andre Noll <maan@systemlinux.org>
+ * Copyright (C) 2005-2009 Andre Noll <maan@systemlinux.org>
*
* Licensed under the GPL v2. For licencing details see COPYING.
*/
#include "compress_filter.cmdline.h"
#include "list.h"
#include "sched.h"
+#include "ggo.h"
#include "filter.h"
#include "string.h"
#include "error.h"
/** Number of samples already seen. */
unsigned num_samples;
/** Absolute value of the maximal sample in the current block. */
- unsigned peak;
+ int peak;
};
static ssize_t compress(char *inbuf, size_t inbuf_len, struct filter_node *fn)
pcd->current_gain++;
} else
pcd->current_gain = PARA_MAX(pcd->current_gain - 2,
- 1 << pcd->conf->inertia_arg);
+ 1U << pcd->conf->inertia_arg);
pcd->peak = 0;
}
fn->loaded += length;
*/
void compress_filter_init(struct filter *f)
{
+ struct compress_filter_args_info dummy;
+
+ compress_cmdline_parser_init(&dummy);
f->open = open_compress;
f->close = close_compress;
f->convert = compress;
- f->print_help = compress_cmdline_parser_print_help;
f->parse_config = compress_parse_config;
+ f->help = (struct ggo_help) {
+ .short_help = compress_filter_args_info_help,
+ .detailed_help = compress_filter_args_info_detailed_help
+ };
}