--- margi2/dvb_demux.h 2001/03/14 01:43:11 1.3 +++ margi2/dvb_demux.h 2001/03/29 23:12:01 1.4 @@ -51,8 +51,6 @@ #define DMX_STATE_GO 4 #define DVB_DEMUX_MASK_MAX 18 -#define DVB_DEMUX_FILTER_MAX 32 -#define DVB_DEMUX_FEED_MAX 32 typedef struct dvb_demux_filter_s { dmx_section_filter_t filter; @@ -113,6 +111,7 @@ typedef struct dvb_demux_s { dmx_demux_t dmx; void *priv; int filternum; + int feednum; int (*start_feed)(dvb_demux_feed_t *); int (*stop_feed)(dvb_demux_feed_t *); int (*write_to_decoder)(dvb_demux_feed_t *, u8 *, size_t); @@ -121,11 +120,11 @@ typedef struct dvb_demux_s { int users; #define MAX_DVB_DEMUX_USERS 10 dvb_demux_filter_t *filter; - dvb_demux_feed_t feed[DVB_DEMUX_FEED_MAX]; + dvb_demux_feed_t *feed; struct list_head frontend_list; - dvb_demux_feed_t *pesfilter[DMX_TS_PES_OTHER]; //special PES filters + dvb_demux_feed_t *pesfilter[DMX_TS_PES_OTHER]; u16 pids[DMX_TS_PES_OTHER-1]; int playing; int recording; @@ -134,6 +133,7 @@ typedef struct dvb_demux_s { u8 tsbuf[188]; int tsbufp; + struct semaphore mutex; } dvb_demux_t;