]> git.sesse.net Git - vlc/blob - include/audio_decoder_thread.h
eb64c86545e9373e5ee5d0324d1ed651b0cfed62
[vlc] / include / audio_decoder_thread.h
1 /*****************************************************************************
2  * audio_decoder_thread.h : audio decoder thread interface
3  *****************************************************************************
4  * Copyright (C) 1999, 2000 VideoLAN
5  *
6  * Authors:
7  *
8  * This program is free software; you can redistribute it and/or modify
9  * it under the terms of the GNU General Public License as published by
10  * the Free Software Foundation; either version 2 of the License, or
11  * (at your option) any later version.
12  * 
13  * This program is distributed in the hope that it will be useful,
14  * but WITHOUT ANY WARRANTY; without even the implied warranty of
15  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16  * GNU General Public License for more details.
17  *
18  * You should have received a copy of the GNU General Public License
19  * along with this program; if not, write to the Free Software
20  * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111, USA.
21  *****************************************************************************/
22
23 /*****************************************************************************
24  * adec_thread_t : audio decoder thread descriptor
25  *****************************************************************************/
26 typedef struct adec_thread_s
27 {
28     /*
29      * Thread properties
30      */
31     vlc_thread_t        thread_id;                /* id for thread functions */
32     boolean_t           b_die;                                 /* `die' flag */
33     boolean_t           b_error;                             /* `error' flag */
34
35     /*
36      * Input properties
37      */
38     decoder_fifo_t      fifo;                  /* stores the PES stream data */
39     input_thread_t *    p_input;
40     ts_packet_t *       p_ts;
41     int                 align;
42
43     /*
44      * Decoder properties
45      */
46     audiodec_t          audio_decoder;
47
48     /*
49      * Output properties
50      */
51     aout_fifo_t *       p_aout_fifo; /* stores the decompressed audio frames */
52     aout_thread_t *     p_aout;           /* needed to create the audio fifo */
53
54 } adec_thread_t;
55
56 /*****************************************************************************
57  * Prototypes
58  *****************************************************************************/
59 adec_thread_t * adec_CreateThread       ( input_thread_t * p_input /* !! , aout_thread_t * p_aout !! */ );
60 void            adec_DestroyThread      ( adec_thread_t * p_adec );