]> git.sesse.net Git - vlc/blob - plugins/mpeg/input_ps.h
Fixed a cosmetic issue.
[vlc] / plugins / mpeg / input_ps.h
1 /*****************************************************************************
2  * input_ps.h: thread structure of the PS plugin
3  *****************************************************************************
4  * Copyright (C) 1999, 2000 VideoLAN
5  * $Id: input_ps.h,v 1.9 2001/10/02 16:46:59 massiot Exp $
6  *
7  * Authors: Christophe Massiot <massiot@via.ecp.fr>
8  *          Cyril Deguet <asmax@via.ecp.fr>
9  *
10  * This program is free software; you can redistribute it and/or modify
11  * it under the terms of the GNU General Public License as published by
12  * the Free Software Foundation; either version 2 of the License, or
13  * (at your option) any later version.
14  *
15  * This program is distributed in the hope that it will be useful,
16  * but WITHOUT ANY WARRANTY; without even the implied warranty of
17  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
18  * GNU General Public License for more details.
19  *
20  * You should have received a copy of the GNU General Public License
21  * along with this program; if not, write to the Free Software
22  * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111, USA.
23  *****************************************************************************/
24
25 #define DATA_CACHE_SIZE 150
26 #define PES_CACHE_SIZE 150
27 #define SMALL_CACHE_SIZE 150
28 #define LARGE_CACHE_SIZE 150
29 #define MAX_SMALL_SIZE 50     // frontier between small and large packets
30
31 typedef struct
32 {
33     data_packet_t **        p_stack;
34     long                    l_index;
35 } data_packet_cache_t;
36
37
38 typedef struct
39 {
40     pes_packet_t **         p_stack;
41     long                    l_index;
42 } pes_packet_cache_t;
43
44
45 typedef struct
46 {
47     byte_t *                p_data;
48     long                    l_size;
49 } packet_buffer_t;
50
51
52 typedef struct
53 {
54     packet_buffer_t *       p_stack;
55     long                    l_index;
56 } small_buffer_cache_t;
57
58
59 typedef struct
60 {
61     packet_buffer_t *       p_stack;
62     long                    l_index;
63 } large_buffer_cache_t;
64
65
66 typedef struct
67 {
68     vlc_mutex_t             lock;
69     data_packet_cache_t     data;
70     pes_packet_cache_t      pes;
71     small_buffer_cache_t    smallbuffer;
72     large_buffer_cache_t    largebuffer;
73 } packet_cache_t;
74
75