]> git.sesse.net Git - vlc/blob - src/input/input_netlist.h
. no need to add "\n" at the end of intf_*Msg() messages anymore.
[vlc] / src / input / input_netlist.h
1 /*****************************************************************************
2  * netlist_t: structure to manage a netlist
3  *****************************************************************************/
4 typedef struct netlist_s
5 {
6     vlc_mutex_t             lock;
7
8     size_t                  i_buffer_size;
9
10     /* Buffers */
11     byte_t *                p_buffers;                 /* Big malloc'ed area */
12     data_packet_t *         p_data;                        /* malloc'ed area */
13     pes_packet_t *          p_pes;                         /* malloc'ed area */
14
15     /* FIFOs of free packets */
16     data_packet_t **        pp_free_data;
17     pes_packet_t **         pp_free_pes;
18     struct iovec *          p_free_iovec;
19     
20     /* FIFO size */
21     unsigned int            i_nb_pes;
22     unsigned int            i_nb_data;
23
24     /* Index */
25     unsigned int            i_data_start, i_data_end;
26     unsigned int            i_pes_start, i_pes_end;
27     unsigned int            i_iovec_start, i_iovec_end;
28 } netlist_t;
29
30 /*****************************************************************************
31  * Prototypes
32  *****************************************************************************/
33 int                     input_NetlistInit( struct input_thread_s *,
34                                            int i_nb_data, int i_nb_pes,
35                                            size_t i_buffer_size );
36 struct iovec *          input_NetlistGetiovec( void * );
37 void                    input_NetlistMviovec( void *, size_t );
38 struct data_packet_s *  input_NetlistNewPacket( void *, size_t );
39 struct pes_packet_s *   input_NetlistNewPES( void * );
40 void            input_NetlistDeletePacket( void *, struct data_packet_s * );
41 void            input_NetlistDeletePES( void *, struct pes_packet_s * );
42 void            input_NetlistEnd( struct input_thread_s * );
43