1 /***************************************************************************
2 mad_libmad.h - description
5 copyright : (C) 2001 by Jean-Paul Saman
7 ***************************************************************************/
9 /***************************************************************************
11 * This program is free software; you can redistribute it and/or modify *
12 * it under the terms of the GNU General Public License as published by *
13 * the Free Software Foundation; either version 2 of the License, or *
14 * (at your option) any later version. *
16 ***************************************************************************/
18 #ifndef _VLC_MAD_LIBMAD_H_
19 #define _VLC_MAD_LIBMAD_H_
22 * Function prototypes for libmad callback functions.
26 * Each of the following functions will return one of:
27 * MAD_FLOW_CONTINUE = continue normally
28 * MAD_FLOW_STOP = stop decoding normally
29 * MAD_FLOW_BREAK = stop decoding and signal an error
30 * MAD_FLOW_IGNORE = ignore the current frame
33 /* enum mad_flow (*input_func)(void *, struct mad_stream *);*/
34 enum mad_flow libmad_input(void *, struct mad_stream *);
36 /* enum mad_flow (*header_func)(void *, struct mad_header const *);*/
37 enum mad_flow libmad_header(void *, struct mad_header const *);
39 /* enum mad_flow (*output_func)(void *, struct mad_header const *, struct mad_pcm *); */
40 enum mad_flow libmad_output(void *, struct mad_header const *, struct mad_pcm *);
42 /* enum mad_flow (*error_func)(void *, struct mad_stream *, struct mad_frame *); */
43 enum mad_flow libmad_error(void *, struct mad_stream *, struct mad_frame *);
45 /* enum mad_flow (*message_func)(void *, void *, unsigned int *); */
46 /* enum mad_flow libmad_message(void *, void*, unsigned int*); */