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 data_packet_t * p_data;
47 /* Store i_pts for syncing audio frames */
48 mtime_t i_current_pts, i_next_pts;
53 aout_fifo_t * p_aout_fifo; /* stores the decompressed audio frames */
54 enum mad_scaling audio_scaling;
58 /*****************************************************************************
60 *****************************************************************************/
61 vlc_thread_t mad_adec_CreateThread( decoder_fifo_t * p_fifo );