1 /***************************************************************************
2 mad_adec.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_ADEC_H_
19 #define _VLC_MAD_ADEC_H_
21 /*****************************************************************************
22 * mad_adec_thread_t : mad decoder thread descriptor
23 *****************************************************************************/
25 enum mad_scaling { FAST_SCALING, MPG321_SCALING };
27 typedef struct mad_adec_thread_s
32 struct mad_decoder libmad_decoder;
33 mad_timer_t libmad_timer;
34 byte_t buffer[MAD_BUFFER_MDLEN];
39 vlc_thread_t thread_id; /* id for thread functions */
44 decoder_fifo_t * p_fifo; /* stores the PES stream data */
45 bit_stream_t bit_stream; /* handle PES stream at the bit level */
47 /* Store i_pts for syncing audio frames */
48 mtime_t i_current_pts, i_next_pts;
53 aout_instance_t * p_aout; /* opaque */
54 aout_input_t * p_aout_input; /* opaque */
55 audio_sample_format_t output_format;
56 audio_date_t end_date;
59 /*****************************************************************************
61 *****************************************************************************/
62 vlc_thread_t mad_adec_CreateThread( decoder_fifo_t * p_fifo );