--- multiplexer/global.h 2001/04/25 16:17:05 1.9 +++ multiplexer/global.h 2001/04/30 15:58:29 1.10 @@ -189,6 +189,22 @@ typedef struct { n = p->next; free (p); p = n; \ } } +/* Supported input file types */ +typedef enum { + ct_packetized, /* packetized elementary stream */ + ct_program, /* program stream */ + ct_transport, /* transport stream */ + ct_unknown +} content_type; + +/* stream data types, dependend on buffer contents */ +typedef enum { + sd_data, /* PES packet */ + sd_map, /* mapreference containing descriptors */ + sd_unparsedsi, /* TS packet containing raw partial SI sections */ + sd_unknown +} streamdata_type; + /* Reference descriptors as these are parsed from PSI */ typedef struct { int programnumber; @@ -228,15 +244,6 @@ typedef struct tssidescr { short pid_high; } tssi_descr; -/* Supported input file types */ -typedef enum { - ct_none, - ct_packetized, - ct_program, - ct_transport, - ct_unknown -} content_type; - /* Source file */ typedef struct { refr_data data; @@ -250,7 +257,7 @@ typedef struct { int total; /* split total (skipped, used, wasted) */ int sequence; /* source counter for PES sequence */ short opendatastreams; - short openmapstreams; + short openotherstreams; char *append_name; int append_filerefnum; int append_repeatitions; @@ -325,7 +332,7 @@ typedef struct streamdescr { byte *elemdvld[NUMBER_ELEMD]; /* as valid for out */ byte elemdescr[MAX_PSI_SIZE]; /*what if a stream is leftupper corner in one prog, but elsewhere in another?*/ - boolean isamap; + streamdata_type streamdata; union { struct { struct streamdescr *mapstream; @@ -348,6 +355,9 @@ typedef struct streamdescr { int psi_length; byte psi_data[MAX_PSI_SIZE+TS_PACKET_SIZE]; } m; + struct { + t_msec delta; + } usi; } u; } stream_descr;