version 1.2, 2001/03/19 22:20:32
|
version 1.3, 2001/03/29 13:27:43
|
Line 23
|
Line 23
|
|
|
#define MAX_MSEC_OUTDELAY 500 |
#define MAX_MSEC_OUTDELAY 500 |
#define MAX_MSEC_PUSHJTTR (2 * 250) |
#define MAX_MSEC_PUSHJTTR (2 * 250) |
#define MAX_MSEC_PCRDIST 100 |
#define MAX_MSEC_PCRDIST (100 * 80/100) |
#define PCR_INTERPOLSIZE 8 |
|
|
|
#define MAX_POLLFD (MAX_INFILE+3) |
#define MAX_POLLFD (MAX_INFILE+3) |
|
|
Line 41
|
Line 40
|
|
|
#define MAX_CTRL_INB 32 * BUFSIZ_FACTOR |
#define MAX_CTRL_INB 32 * BUFSIZ_FACTOR |
#define MAX_DATA_INB 4096 * BUFSIZ_FACTOR |
#define MAX_DATA_INB 4096 * BUFSIZ_FACTOR |
#define MAX_DATA_RAWB 4096 * BUFSIZ_FACTOR |
|
#define HIGHWATER_IN (512 * 4 * 8) |
#define HIGHWATER_IN (512 * 4 * 8) |
#define MAX_READ_IN (1024 * 8) |
|
#define IN_TRIGCOND (MAX_DATA_INB / 2) |
#define IN_TRIGCOND (MAX_DATA_INB / 2) |
|
|
|
#define MAX_DATA_RAWB 4096 * BUFSIZ_FACTOR |
|
#define HIGHWATER_RAW (512 * 4 * 8) |
|
#define MAX_READ_IN (1024 * 8) |
|
|
#define MAX_INSTREAM 64 /* ? */ |
#define MAX_INSTREAM 64 /* ? */ |
#define MAX_INFILE 8 /* ? */ |
#define MAX_INFILE 8 /* ? */ |
|
|
Line 56
|
Line 57
|
#define MAX_PRGFORSTR 12 /* ? */ |
#define MAX_PRGFORSTR 12 /* ? */ |
#define MAX_OUTPROG 16 /* ? */ |
#define MAX_OUTPROG 16 /* ? */ |
|
|
/* |
|
#define MAX_CTRL_MAPSTR 4 |
|
#define MAX_DATA_MAPSTR 4096 |
|
*/ |
|
|
|
#define MAX_PSI_SIZE 1025 |
#define MAX_PSI_SIZE 1025 |
#define MAX_PMTSTREAMS (MAX_PSI_SIZE / 4) |
#define MAX_PMTSTREAMS (MAX_PSI_SIZE / 4) |
|
|
Line 87
|
Line 83
|
typedef struct { |
typedef struct { |
unsigned long base; |
unsigned long base; |
unsigned short ext; |
unsigned short ext; |
unsigned char ba33; |
byte ba33; |
boolean valid; |
boolean valid; |
} clockref; |
} clockref; |
|
|
/* |
|
#define MIXTIME_MSEC 0x01 |
|
#define MIXTIME_TVAL 0x02 |
|
#define MIXTIME_CREF 0x04 |
|
#define mixflag cr.flags |
|
typedef struct { |
typedef struct { |
|
unsigned long base; |
int msec; |
int msec; |
struct timeval tv; |
} conversion_base; |
clockref cr; |
|
clockref *localrelativeclockref; |
|
} mixtime; |
|
*/ |
|
|
|
typedef struct { |
|
int read; |
|
int push; |
|
} time_stamp; |
|
|
|
typedef struct { |
typedef struct { |
int index; |
int index; |
int length; |
int length; |
int sequence; |
int sequence; |
int scramble; |
int scramble; |
time_stamp time; |
int msecread; |
clockref pcr; /* FIXME: this goes parallel to time.push */ |
int msecpush; |
|
clockref pcr; |
clockref opcr; |
clockref opcr; |
} ctrl_buffer; |
} ctrl_buffer; |
|
|
Line 160 typedef struct {
|
Line 144 typedef struct {
|
#define list_incr(var,refr,incr) \ |
#define list_incr(var,refr,incr) \ |
((var) = (((var) + (incr)) & (refr).mask)) |
((var) = (((var) + (incr)) & (refr).mask)) |
|
|
|
/* |
#define clockref2msec(cref) \ |
#define clockref2msec(cref) \ |
((cref).base / 90) |
((cref).base / 90) |
|
|
#define msec2clockref(msec,cref) \ |
#define msec2clockref(msec,cref) \ |
(((cref).base = (msec) * 90), ((cref).ext = 0), ((cref).ba33 = 0)) |
(((cref).base = (msec) * 90), ((cref).ext = 0), ((cref).ba33 = 0)) |
|
*/ |
|
|
#define marker_check(data,val,mask) \ |
#define marker_check(data,val,mask) \ |
(((data & mask) != val) ? \ |
(((data & mask) != val) ? \ |
Line 206 typedef struct {
|
Line 192 typedef struct {
|
|
|
typedef enum { |
typedef enum { |
ct_none, |
ct_none, |
/* ct_elementary, */ |
|
ct_packetized, |
ct_packetized, |
ct_program, |
ct_program, |
ct_transport, |
ct_transport, |
Line 235 typedef struct {
|
Line 220 typedef struct {
|
struct streamdescr *stream; |
struct streamdescr *stream; |
} pes; |
} pes; |
struct { |
struct { |
time_stamp time; |
|
struct { |
struct { |
clockref scr; |
clockref scr; |
long muxrate; |
long muxrate; |
Line 274 typedef struct {
|
Line 258 typedef struct {
|
int program_number; |
int program_number; |
int pcr_pid; |
int pcr_pid; |
int pmt_pid; |
int pmt_pid; |
int map_sequence; /* don't need ? */ |
|
byte pmt_conticnt; |
byte pmt_conticnt; |
byte pmt_version; |
byte pmt_version; |
boolean changed; |
boolean changed; |
Line 307 typedef struct streamdescr {
|
Line 290 typedef struct streamdescr {
|
boolean has_clockref; /* in output */ |
boolean has_clockref; /* in output */ |
int next_clockref; |
int next_clockref; |
int delta; |
int delta; |
|
conversion_base conv; |
int lasttime; |
int lasttime; |
int progs; |
int progs; |
prog_descr *pdescr[MAX_PRGFORSTR]; |
prog_descr *pdescr[MAX_PRGFORSTR]; |
} d; |
} d; |
struct { |
struct { |
int readtime; |
int msectime; |
|
conversion_base conv; |
int psi_length; |
int psi_length; |
byte psi_data[MAX_PSI_SIZE+TS_PACKET_SIZE]; |
byte psi_data[MAX_PSI_SIZE+TS_PACKET_SIZE]; |
} m; |
} m; |
Line 328 extern boolean psi_frequency_changed;
|
Line 313 extern boolean psi_frequency_changed;
|
|
|
int msec_now (void); |
int msec_now (void); |
|
|
|
void cref2msec (conversion_base *b, |
|
clockref c, |
|
int *m); |
|
|
|
void msec2cref (conversion_base *b, |
|
int m, |
|
clockref *c); |
|
|
void global_init (void); |
void global_init (void); |
|
|
|
|