|
MythTV
0.26-pre
|
00001 // -*- Mode: c++ -*- 00002 #ifndef _PRIVATE_DESCRIPTORS_H_ 00003 #define _PRIVATE_DESCRIPTORS_H_ 00004 00005 #include <stdint.h> 00006 #include <inttypes.h> 00007 00008 // C++ headers 00009 #include <vector> 00010 using namespace std; 00011 00012 // Qt headers 00013 #include <QString> 00014 #include <QDateTime> 00015 00016 // MythTV headers 00017 #include "mpegdescriptors.h" 00018 00019 class PremiereContentTransmissionDescriptor : public MPEGDescriptor 00020 { 00021 public: 00022 PremiereContentTransmissionDescriptor( 00023 const unsigned char *data, int len = 300) : 00024 MPEGDescriptor( 00025 data, len, PrivateDescriptorID::premiere_content_transmission) 00026 { 00027 if (_data && !Parse()) 00028 _data = NULL; 00029 } 00030 00031 // descriptor_tag 8 0.0 00032 00033 // descriptor_length 8 1.0 00034 00035 // transport id 16 2.0 00036 uint TSID() const 00037 { return (_data[2] << 8) | _data[3]; } 00038 // original network id 16 4.0 00039 uint OriginalNetworkID() const 00040 { return (_data[4] << 8) | _data[5]; } 00041 // service id 16 6.0 00042 uint ServiceID() const 00043 { return (_data[6] << 8) | _data[7]; } 00044 00045 // start date 16 8.0 00046 // transmission count 8 10.0 00047 // for(i=0;i<N;i++) 00048 // start_time 24 11.0+x 00049 00050 uint TransmissionCount(void) const { return _transmission_count; } 00051 00052 QDateTime StartTimeUTC(uint i) const; 00053 00054 private: 00055 virtual bool Parse(void); 00056 00057 uint _transmission_count; 00058 mutable vector<const uint8_t*> _date_ptrs; 00059 mutable vector<const uint8_t*> _time_ptrs; 00060 }; 00061 00062 #endif // _PRIVATE_DESCRIPTORS_H_
1.7.6.1