X-Git-Url: http://git.tuebingen.mpg.de/?a=blobdiff_plain;f=check_wav.h;h=31417de6e1a4fe9ec2c5b8f996ff6c37ff669398;hb=870fcd0379ab096184f42481541d668694da7c83;hp=102e9514b960411dd667c349da2e4b0c0b30fca2;hpb=1af65c31171b35e5a5e931e3a4467786e932e145;p=paraslash.git diff --git a/check_wav.h b/check_wav.h index 102e9514..31417de6 100644 --- a/check_wav.h +++ b/check_wav.h @@ -1,4 +1,12 @@ -struct check_wav_task; +/* + * Copyright (C) 2012 Andre Noll + * + * Licensed under the GPL v2. For licencing details see COPYING. + */ + +/** \file check_wav.h Detect, process and cut a wav header. */ + +struct check_wav_context; /** * These come from the command line arguments. @@ -38,6 +46,23 @@ struct wav_params { (dst)->sample_format_arg = (src)->sample_format_arg; \ (dst)->sample_format_given = (src)->sample_format_given; -struct check_wav_task *check_wav_init(struct sched *s, struct btr_node *parent, - struct wav_params *params, struct btr_node **cwt_btrn); -void check_wav_shutdown(struct check_wav_task *cwt); +#define LLS_COPY_WAV_PARMS(_dst, _pfx, _lpr) \ + (_dst)->channels_given = lls_opt_given(lls_opt_result( \ + _pfx ## _OPT_CHANNELS, (_lpr))); \ + (_dst)->sample_rate_given = lls_opt_given(lls_opt_result( \ + _pfx ## _OPT_SAMPLE_RATE, (_lpr))); \ + (_dst)->sample_format_given = lls_opt_given(lls_opt_result( \ + _pfx ## _OPT_SAMPLE_FORMAT, (_lpr))); \ + (_dst)->channels_arg = lls_uint32_val(0, lls_opt_result( \ + _pfx ## _OPT_CHANNELS, (_lpr))); \ + (_dst)->sample_rate_arg = lls_uint32_val(0, lls_opt_result( \ + _pfx ## _OPT_SAMPLE_RATE, (_lpr))); \ + (_dst)->sample_format_arg = lls_uint32_val(0, lls_opt_result( \ + _pfx ## _OPT_SAMPLE_FORMAT, (_lpr))); + +struct check_wav_context *check_wav_init(struct btr_node *parent, + struct btr_node *child, struct wav_params *params, + struct btr_node **cw_btrn); +void check_wav_pre_select(struct sched *s, struct check_wav_context *cwc); +int check_wav_post_select(struct check_wav_context *cwc); +void check_wav_shutdown(struct check_wav_context *cwc);