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