]> git.sesse.net Git - vlc/blob - plugins/a52/a52.h
* ALL: the first libvlc commit.
[vlc] / plugins / a52 / a52.h
1 /*****************************************************************************
2  * a52.h: ATSC A/52 aka AC-3 decoder plugin for vlc.
3  *   This plugin makes use of liba52 to decode A/52 audio
4  *   (http://liba52.sf.net/).
5  *****************************************************************************
6  * Copyright (C) 2001 VideoLAN
7  * $Id: a52.h,v 1.4 2002/06/01 12:31:58 sam Exp $
8  *
9  * Authors: Gildas Bazin <gbazin@netcourrier.com>
10  *      
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.
15  * 
16  * This program is distributed in the hope that it will be useful,
17  * but WITHOUT ANY WARRANTY; without even the implied warranty of
18  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
19  * GNU General Public License for more details.
20  *
21  * You should have received a copy of the GNU General Public License
22  * along with this program; if not, write to the Free Software
23  * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111, USA.
24  *****************************************************************************/
25
26 /*****************************************************************************
27  * a52_adec_thread_t : a52 decoder thread descriptor
28  *****************************************************************************/
29 typedef struct a52_adec_thread_s
30 {
31     /*
32      * liba52 properties
33      */
34     a52_state_t *p_a52_state;
35     int         frame_size;
36     int         flags;
37     int         sample_rate;
38     int         bit_rate;
39     vlc_bool_t  b_dynrng;
40
41     /* The bit stream structure handles the PES stream at the bit level */
42     bit_stream_t        bit_stream;
43
44     /*
45      * Input properties
46      */
47     decoder_fifo_t     *p_fifo;                /* stores the PES stream data */
48     data_packet_t      *p_data;
49
50     /*
51      * Output properties
52      */
53     aout_fifo_t        *p_aout_fifo; /* stores the decompressed audio frames */
54     int                i_channels;
55
56     /* temporary buffer to store the raw frame to be decoded */
57     u8 p_frame_buffer[3840];
58
59 } a52_adec_thread_t;