diff options
author | Klaus Schmidinger <vdr@tvdr.de> | 2013-10-30 10:18:26 +0100 |
---|---|---|
committer | Klaus Schmidinger <vdr@tvdr.de> | 2013-10-30 10:18:26 +0100 |
commit | 512cd24e5396bf2d027ff6dd698ad77f9b266ff5 (patch) | |
tree | fab44cf1937b474e61c4769e1e8d35286ecd2fe7 /libsi/descriptor.h | |
parent | 83a8d5a5617e0d54025a41fae69bf0105b25a2a4 (diff) | |
download | vdr-512cd24e5396bf2d027ff6dd698ad77f9b266ff5.tar.gz vdr-512cd24e5396bf2d027ff6dd698ad77f9b266ff5.tar.bz2 |
Added code for parsing LCN and AVC descriptors to libsi
Diffstat (limited to 'libsi/descriptor.h')
-rw-r--r-- | libsi/descriptor.h | 59 |
1 files changed, 58 insertions, 1 deletions
diff --git a/libsi/descriptor.h b/libsi/descriptor.h index 3025876e..f931871a 100644 --- a/libsi/descriptor.h +++ b/libsi/descriptor.h @@ -6,7 +6,7 @@ * the Free Software Foundation; either version 2 of the License, or * * (at your option) any later version. * * * - * $Id: descriptor.h 2.4 2012/01/11 11:35:17 kls Exp $ + * $Id: descriptor.h 3.1 2013/10/30 10:16:18 kls Exp $ * * ***************************************************************************/ @@ -557,6 +557,42 @@ private: int extended_data_flag; }; +class LogicalChannelDescriptor : public Descriptor { +public: + class LogicalChannel : public LoopElement { + public: + int getServiceId() const; + int getVisibleServiceFlag() const; + int getLogicalChannelNumber() const; + virtual int getLength() { return sizeof(item_logical_channel); } + protected: + virtual void Parse(); + private: + const item_logical_channel *s; + }; + StructureLoop<LogicalChannel> logicalChannelLoop; +protected: + virtual void Parse(); +}; + +class HdSimulcastLogicalChannelDescriptor : public Descriptor { +public: + class HdSimulcastLogicalChannel : public LoopElement { + public: + int getServiceId() const; + int getVisibleServiceFlag() const; + int getLogicalChannelNumber() const; + virtual int getLength() { return sizeof(item_hd_simulcast_logical_channel); } + protected: + virtual void Parse(); + private: + const item_hd_simulcast_logical_channel *s; + }; + StructureLoop<HdSimulcastLogicalChannel> hdSimulcastLogicalChannelLoop; +protected: + virtual void Parse(); +}; + // Private DVB Descriptor Premiere.de // 0xF2 Content Transmission Descriptor // http://dvbsnoop.sourceforge.net/examples/example-private-section.html @@ -735,6 +771,27 @@ private: const descr_registration *s; }; +class AVCDescriptor : public Descriptor { +public: + int getProfileIdc() const; + int getConstraintSet0Flag() const; + int getConstraintSet1Flag() const; + int getConstraintSet2Flag() const; + int getConstraintSet3Flag() const; + int getConstraintSet4Flag() const; + int getConstraintSet5Flag() const; + int getAVCCompatibleFlags() const; + int getLevelIdc() const; + int getAVCStillPresent() const; + int getAVC24HourPictureFlag() const; + int getFramePackingSEINotPresentFlag() const; + CharArray privateData; +protected: + virtual void Parse(); +private: + const descr_avc *s; +}; + } //end of namespace #endif //LIBSI_TABLE_H |