|
|
|
@@ -128,6 +128,8 @@ static int mpegts_write_section1(MpegTSSection *s, int tid, int id, |
|
|
|
{ |
|
|
|
uint8_t section[1024], *q; |
|
|
|
unsigned int tot_len; |
|
|
|
/* reserved_future_use field must be set to 1 for SDT */ |
|
|
|
unsigned int flags = tid == SDT_TID ? 0xf000 : 0xb000; |
|
|
|
|
|
|
|
tot_len = 3 + 5 + len + 4; |
|
|
|
/* check if not too big */ |
|
|
|
@@ -136,7 +138,7 @@ static int mpegts_write_section1(MpegTSSection *s, int tid, int id, |
|
|
|
|
|
|
|
q = section; |
|
|
|
*q++ = tid; |
|
|
|
put16(&q, 0xb000 | (len + 5 + 4)); /* 5 byte header + 4 byte CRC */ |
|
|
|
put16(&q, flags | (len + 5 + 4)); /* 5 byte header + 4 byte CRC */ |
|
|
|
put16(&q, id); |
|
|
|
*q++ = 0xc1 | (version << 1); /* current_next_indicator = 1 */ |
|
|
|
*q++ = sec_num; |
|
|
|
|