]> git.sesse.net Git - vlc/blob - include/ac3_decoder_thread.h
Created a small&clean public interface for the ac3 decoder (see ac3_decoder.h)
[vlc] / include / ac3_decoder_thread.h
1 /*****************************************************************************
2  * ac3_decoder_thread.h : ac3 decoder thread interface
3  * (c)1999 VideoLAN
4  *****************************************************************************/
5
6 /*****************************************************************************
7  * ac3dec_thread_t : ac3 decoder thread descriptor
8  *****************************************************************************/
9 typedef struct ac3dec_thread_s
10 {
11     /*
12      * Thread properties
13      */
14     vlc_thread_t        thread_id;                /* id for thread functions */
15     boolean_t           b_die;                                 /* `die' flag */
16     boolean_t           b_error;                             /* `error' flag */
17
18     /*
19      * Input properties
20      */
21     decoder_fifo_t      fifo;                  /* stores the PES stream data */
22     input_thread_t *    p_input;
23     ts_packet_t *       p_ts;
24     int                 sync_ptr;       /* sync ptr from ac3 magic header */
25
26     /*
27      * Decoder properties
28      */
29
30     ac3dec_t            ac3_decoder;
31
32     /*
33      * Output properties
34      */
35     aout_fifo_t *       p_aout_fifo; /* stores the decompressed audio frames */
36     aout_thread_t *     p_aout;           /* needed to create the audio fifo */
37
38 } ac3dec_thread_t;
39
40 /*****************************************************************************
41  * Prototypes
42  *****************************************************************************/
43 ac3dec_thread_t *       ac3dec_CreateThread( input_thread_t * p_input );
44 void                    ac3dec_DestroyThread( ac3dec_thread_t * p_ac3dec );