version 1.3, 2005/01/04 22:25:48
|
version 1.4, 2006/07/14 17:54:51
|
Line 71 static unsigned char nextversion[TABLEID
|
Line 71 static unsigned char nextversion[TABLEID
|
#define TS_PACKET_SIZE 188 |
#define TS_PACKET_SIZE 188 |
#define TS_HEADSLEN 3 |
#define TS_HEADSLEN 3 |
#define TS_PACKET_HEADSIZE 4 |
#define TS_PACKET_HEADSIZE 4 |
|
#define TS_PFIELDLEN 1 |
#define TS_SYNC_BYTE 0x47 |
#define TS_SYNC_BYTE 0x47 |
#define OUTBUF_PACKETS 256 |
#define OUTBUF_PACKETS 256 |
#define OUTBUF_SIZE (TS_PACKET_SIZE*OUTBUF_PACKETS) |
#define OUTBUF_SIZE (TS_PACKET_SIZE*OUTBUF_PACKETS) |
Line 2330 static unsigned int tab2ts(unsigned char
|
Line 2331 static unsigned int tab2ts(unsigned char
|
unsigned char *i = &t[2]; |
unsigned char *i = &t[2]; |
unsigned char *o; |
unsigned char *o; |
unsigned char c = *conticnt; |
unsigned char c = *conticnt; |
l = ((t[3] & 0x0F) << 8) + t[4] + TS_HEADSLEN; |
l = ((t[3] & 0x0F) << 8) + t[4] + TS_HEADSLEN + TS_PFIELDLEN; |
d = (l-1) % (TS_PACKET_SIZE - TS_PACKET_HEADSIZE) + 1; |
d = (l-1) % (TS_PACKET_SIZE - TS_PACKET_HEADSIZE) + 1; |
if (outin >= OUTBUF_SIZE) { |
if (outin >= OUTBUF_SIZE) { |
outin = 0; |
outin = 0; |
Line 2346 static unsigned int tab2ts(unsigned char
|
Line 2347 static unsigned int tab2ts(unsigned char
|
} else { |
} else { |
o[3] = (0x00 << 6) | (0x01 << 4) | c; |
o[3] = (0x00 << 6) | (0x01 << 4) | c; |
} |
} |
|
o[TS_PACKET_SIZE - d] = 0; /* pointer_field */ |
|
d -= TS_PFIELDLEN; |
memcpy(&o[TS_PACKET_SIZE - d], i, d); |
memcpy(&o[TS_PACKET_SIZE - d], i, d); |
i += d; |
i += d; |
d = l - d; |
d = l - d - TS_PFIELDLEN; |
o[1] = (0 << 7) | (1 << 6) | (0 << 5) | t[0]; |
o[1] = (0 << 7) | (1 << 6) | (0 << 5) | t[0]; |
o[2] = t[1]; |
o[2] = t[1]; |
o[0] = TS_SYNC_BYTE; |
o[0] = TS_SYNC_BYTE; |
Line 2411 static void argloop(int f0)
|
Line 2414 static void argloop(int f0)
|
for (i = 0; i <= TABLE_PID_LAST-TABLE_PID_FIRST; i++) { |
for (i = 0; i <= TABLE_PID_LAST-TABLE_PID_FIRST; i++) { |
if ((tabin[i] > tabout[i]) |
if ((tabin[i] > tabout[i]) |
&& (r >= (((((tabbuf[i][tabout[i]+3] & 0x0F) << 8) |
&& (r >= (((((tabbuf[i][tabout[i]+3] & 0x0F) << 8) |
+ tabbuf[i][tabout[i]+4] + TS_HEADSLEN |
+ tabbuf[i][tabout[i]+4] + TS_HEADSLEN + TS_PFIELDLEN |
+ TS_PACKET_SIZE - TS_PACKET_HEADSIZE) |
+ TS_PACKET_SIZE - TS_PACKET_HEADSIZE) |
* 131) / 128))) { |
* 131) / 128))) { |
tmo = 0; |
tmo = 0; |
Line 2445 static void argloop(int f0)
|
Line 2448 static void argloop(int f0)
|
for (i = 0; i <= TABLE_PID_LAST-TABLE_PID_FIRST; i++) { |
for (i = 0; i <= TABLE_PID_LAST-TABLE_PID_FIRST; i++) { |
while ((tabin[i] > tabout[i]) |
while ((tabin[i] > tabout[i]) |
&& (r >= (((((tabbuf[i][tabout[i]+3] & 0x0F) << 8) |
&& (r >= (((((tabbuf[i][tabout[i]+3] & 0x0F) << 8) |
+ tabbuf[i][tabout[i]+4] + TS_HEADSLEN |
+ tabbuf[i][tabout[i]+4] + TS_HEADSLEN + TS_PFIELDLEN |
+ TS_PACKET_SIZE - TS_PACKET_HEADSIZE) |
+ TS_PACKET_SIZE - TS_PACKET_HEADSIZE) |
* 131) / 128))) { |
* 131) / 128))) { |
tabout[i] += tab2ts(&tabbuf[i][tabout[i]], &conticnt[i]); |
tabout[i] += tab2ts(&tabbuf[i][tabout[i]], &conticnt[i]); |