revamp decoder process calls
[flac.git] / src / flac / decode.h
index f09e3cc..871dbc7 100644 (file)
@@ -1,5 +1,5 @@
 /* flac - Command-line FLAC encoder/decoder
- * Copyright (C) 2000  Josh Coalson
+ * Copyright (C) 2000,2001,2002  Josh Coalson
  *
  * This program is free software; you can redistribute it and/or
  * modify it under the terms of the GNU General Public License
 #ifndef flac__decode_h
 #define flac__decode_h
 
+#include "analyze.h"
+
+typedef struct {
+       FLAC__bool verbose;
+       FLAC__bool continue_through_decode_errors;
+#ifdef FLAC__HAS_OGG
+       FLAC__bool is_ogg;
+#endif
+       FLAC__uint64 skip;
+} decode_options_t;
+
+typedef struct {
+       decode_options_t common;
+} wav_decode_options_t;
+
+typedef struct {
+       decode_options_t common;
+
+       FLAC__bool is_big_endian;
+       FLAC__bool is_unsigned_samples;
+} raw_decode_options_t;
+
 /* outfile == 0 => test only */
-int decode_wav(const char *infile, const char *outfile, bool verbose, uint64 skip);
-int decode_raw(const char *infile, const char *outfile, bool verbose, uint64 skip, bool is_big_endian, bool is_unsigned_samples);
+int flac__decode_wav(const char *infilename, const char *outfilename, FLAC__bool analysis_mode, analysis_options aopts, wav_decode_options_t options);
+int flac__decode_raw(const char *infilename, const char *outfilename, FLAC__bool analysis_mode, analysis_options aopts, raw_decode_options_t options);
 
 #endif