summaryrefslogtreecommitdiff
path: root/libsi/descriptor.h
diff options
context:
space:
mode:
authorKlaus Schmidinger <vdr@tvdr.de>2013-10-30 10:18:26 +0100
committerKlaus Schmidinger <vdr@tvdr.de>2013-10-30 10:18:26 +0100
commit512cd24e5396bf2d027ff6dd698ad77f9b266ff5 (patch)
treefab44cf1937b474e61c4769e1e8d35286ecd2fe7 /libsi/descriptor.h
parent83a8d5a5617e0d54025a41fae69bf0105b25a2a4 (diff)
downloadvdr-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.h59
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