OSDN Git Service

EPG解析処理再考中
[iptd/iPTd.git] / src / mpeg2 / ts / Header.h
1 /*
2  *  Header.h
3  */
4 #pragma once
5
6 #include <stdint.h>
7
8 namespace MPEG2
9 {
10 namespace TS
11 {
12
13 enum
14 {
15     SYNC_BYTE   = 0x47,
16     PACKET_SIZE = 188,
17 };
18
19 enum
20 {
21     PID_PAT         = 0x0000,
22     PID_CAT         = 0x0001,
23     PID_NIT         = 0x0010,
24     PID_SDT_BAT     = 0x0011,
25     PID_EIT_0012    = 0x0012,
26     PID_EIT_0026    = 0x0026,
27     PID_EIT_0027    = 0x0027,
28     PID_RST         = 0x0013,
29     PID_TDT         = 0x0014,
30 };
31
32 class Header
33 {
34 public:
35     uint8_t     _sync_byte;                     //  8
36     uint8_t     _transport_error;               //  1
37     uint8_t     _payload_unit_start;            //  1
38     uint8_t     _transport_priority;            //  1
39     uint16_t    _pid;                           // 13
40     uint8_t     _transport_scramble_control;    //  2
41     uint8_t     _adaptation_field_control;      //  2
42     uint8_t     _continuity_counter;            //  4
43
44     Header(uint8_t *packet);
45 };
46
47 } // TS
48 } // MPEG2