~ubuntu-branches/ubuntu/precise/me-tv/precise-proposed

« back to all changes in this revision

Viewing changes to src/dvb_si.hh

  • Committer: Bazaar Package Importer
  • Author(s): Philipp Kern
  • Date: 2008-07-23 14:03:56 UTC
  • mfrom: (1.1.3 upstream) (3.1.1 lenny)
  • Revision ID: james.westby@ubuntu.com-20080723140356-m6ze7fbkydes42c7
Tags: 0.5.33-3
Fix xine-lib ffmpeg dependency.

Show diffs side-by-side

added added

removed removed

Lines of Context:
33
33
#define PAT_PID         0x00
34
34
#define SDT_PID         0x11
35
35
#define EIT_PID         0x12
 
36
#define PSIP_PID        0x1FFB
36
37
 
37
38
#define PAT_ID          0x00
38
39
#define PMT_ID          0x02
39
40
#define SDT_ID          0x42
40
41
#define EIT_ID          0x4E
 
42
#define MGT_ID          0xC7
 
43
#define PSIP_EIT_ID     0xCB
41
44
 
42
45
#define STREAM_TYPE_MPEG1               0x01
43
46
#define STREAM_TYPE_MPEG2               0x02
49
52
public:
50
53
        Event();
51
54
 
52
 
        u_int      event_id;
53
 
        u_long     start_time_MJD;  // 16
54
 
        u_long     start_time_UTC;  // 24
55
 
        u_long     duration;
56
 
        u_int      running_status;
57
 
        u_int      free_CA_mode;
58
 
        
59
 
        long dur_hour;
60
 
        long dur_min;
61
 
        long dur_sec;
62
 
        
63
 
        long start_year;
64
 
        long start_month;
65
 
        long start_day;
66
 
        
67
 
        long start_hour;
68
 
        long start_min;
69
 
        long start_sec;
 
55
        guint   event_id;
 
56
        guint   start_time;
 
57
        gulong  duration;
 
58
        guint   running_status;
 
59
        guint   free_CA_mode;
70
60
        
71
61
        String title;
72
62
        String description;
109
99
        std::vector<ProgramAssociation> program_associations;
110
100
};
111
101
 
 
102
class MasterGuideTableTable
 
103
{
 
104
public:
 
105
        guint type;
 
106
        guint pid;
 
107
};
 
108
 
 
109
class MasterGuideTable
 
110
{
 
111
public:
 
112
        std::vector<MasterGuideTableTable> tables;
 
113
};
 
114
 
112
115
class VideoStream
113
116
{
114
117
public:
205
208
                const unsigned char **desc, int *desc_len);
206
209
        guint get_bits(const guchar* buffer, guint bitpos, gsize bitcount);
207
210
        String convert_iso6937(const guchar* buffer, gsize length);
208
 
        gsize decode_short_event (const guchar* buffer, Event& event);
 
211
        gsize decode_event_descriptor (const guchar* buffer, Event& event);
209
212
        gsize read_section(DvbDemuxer& demuxer);
210
213
public:
211
214
        DvbSectionParser();
215
218
        void parse_pas (DvbDemuxer& demuxer, ProgramAssociationSection& section);
216
219
        void parse_pms (DvbDemuxer& demuxer, ProgramMapSection& section);
217
220
        void parse_eis (DvbDemuxer& demuxer, EventInformationSection& section);
 
221
        void parse_psip_eis (DvbDemuxer& demuxer, EventInformationSection& section);
 
222
        void parse_psip_mgt(DvbDemuxer& demuxer, MasterGuideTable& table);
218
223
};
219
224
 
220
225
#endif