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.8 2001/05/31 03:12:49 sam Exp $
7 * Authors: Christophe Massiot <massiot@via.ecp.fr>
8 * Cyril Deguet <asmax@via.ecp.fr>
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.
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.
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 *****************************************************************************/
25 /*****************************************************************************
26 * thread_ps_data_t: extension of input_thread_t
27 *****************************************************************************/
28 typedef struct thread_ps_data_s
30 /* We're necessarily reading a file. */
35 #define DATA_CACHE_SIZE 150
36 #define PES_CACHE_SIZE 150
37 #define SMALL_CACHE_SIZE 150
38 #define LARGE_CACHE_SIZE 150
39 #define MAX_SMALL_SIZE 50 // frontier between small and large packets
43 data_packet_t ** p_stack;
45 } data_packet_cache_t;
50 pes_packet_t ** p_stack;
64 packet_buffer_t * p_stack;
66 } small_buffer_cache_t;
71 packet_buffer_t * p_stack;
73 } large_buffer_cache_t;
79 data_packet_cache_t data;
80 pes_packet_cache_t pes;
81 small_buffer_cache_t smallbuffer;
82 large_buffer_cache_t largebuffer;