X-Git-Url: http://git.tuebingen.mpg.de/?p=paraslash.git;a=blobdiff_plain;f=check_wav.h;h=79b11962baea9b3fe743f08ad68bca6a70e552bc;hp=102e9514b960411dd667c349da2e4b0c0b30fca2;hb=e7f035b3ad7ecc64ec87d9ce890f89365dec1411;hpb=1af65c31171b35e5a5e931e3a4467786e932e145 diff --git a/check_wav.h b/check_wav.h index 102e9514..79b11962 100644 --- a/check_wav.h +++ b/check_wav.h @@ -1,4 +1,8 @@ -struct check_wav_task; +/* Copyright (C) 2012 Andre Noll , see file COPYING. */ + +/** \file check_wav.h Detect, process and cut a wav header. */ + +struct check_wav_context; /** * These come from the command line arguments. @@ -21,23 +25,23 @@ struct wav_params { int sample_format_given; }; -/** - * Copy the wav parameters. - * - * \param dst Usually a pointer to struct wav_params. - * \param src Usually a pointer to some args_info struct. - * - * This can not be implemented as a function since the type of the structure - * pointed to by \a src depends on the application. - */ -#define COPY_WAV_PARMS(dst, src) \ - (dst)->channels_arg = (src)->channels_arg; \ - (dst)->channels_given = (src)->channels_given; \ - (dst)->sample_rate_arg = (src)->sample_rate_arg; \ - (dst)->sample_rate_given = (src)->sample_rate_given; \ - (dst)->sample_format_arg = (src)->sample_format_arg; \ - (dst)->sample_format_given = (src)->sample_format_given; +#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_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); +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);