MythTV  0.26-pre
premieredescriptors.h
Go to the documentation of this file.
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_
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends