summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKlaus Schmidinger <vdr@tvdr.de>2019-03-15 16:28:16 +0100
committerKlaus Schmidinger <vdr@tvdr.de>2019-03-15 16:28:16 +0100
commit4b3fec660a5a8da7f52a0779e0b883de6d787287 (patch)
tree4ec446782bf8fbaa92f9a3ed73e4c7011b9dc113
parentdc160ab5705455db52c18fda26409ffedad856f0 (diff)
downloadvdr-4b3fec660a5a8da7f52a0779e0b883de6d787287.tar.gz
vdr-4b3fec660a5a8da7f52a0779e0b883de6d787287.tar.bz2
Fixed processing SI::T2DeliverySystemDescriptor when typecasting it over an SI::ExtensionDescriptor
-rw-r--r--CONTRIBUTORS2
-rw-r--r--HISTORY2
-rw-r--r--libsi/descriptor.c7
-rw-r--r--libsi/descriptor.h4
4 files changed, 13 insertions, 2 deletions
diff --git a/CONTRIBUTORS b/CONTRIBUTORS
index 70ac90d8..14ddedb3 100644
--- a/CONTRIBUTORS
+++ b/CONTRIBUTORS
@@ -3575,6 +3575,8 @@ Helmut Binder <cco@aon.at>
for fixing processing the last entry in the scan list of the EIT scanner
for fixing processing transponder data in the NIT
for fixing triggering the SDT filter when parsing the NIT
+ for reporting a bug in processing SI::T2DeliverySystemDescriptor when typecasting it
+ over an SI::ExtensionDescriptor
Ulrich Eckhardt <uli@uli-eckhardt.de>
for reporting a problem with shutdown after user inactivity in case a plugin is
diff --git a/HISTORY b/HISTORY
index 9d027eb3..21315b2c 100644
--- a/HISTORY
+++ b/HISTORY
@@ -9383,3 +9383,5 @@ Video Disk Recorder Revision History
- Added support for EAC3 audio from other sources (thanks to Jürgen Schneider).
- No longer logging tuning timeouts for transponders that are announced in the NIT but
are not currently broadcasting.
+- Fixed processing SI::T2DeliverySystemDescriptor when typecasting it over an
+ SI::ExtensionDescriptor (reported by Helmut Binder).
diff --git a/libsi/descriptor.c b/libsi/descriptor.c
index f763d62b..6b00fc77 100644
--- a/libsi/descriptor.c
+++ b/libsi/descriptor.c
@@ -6,7 +6,7 @@
* the Free Software Foundation; either version 2 of the License, or *
* (at your option) any later version. *
* *
- * $Id: descriptor.c 3.1 2013/10/30 10:16:18 kls Exp $
+ * $Id: descriptor.c 4.1 2019/03/15 16:12:43 kls Exp $
* *
***************************************************************************/
@@ -870,6 +870,11 @@ int S2SatelliteDeliverySystemDescriptor::getScramblingSequenceIndex() const {
void ExtensionDescriptor::Parse() {
int offset=0;
data.setPointerAndOffset<const descr_extension>(s, offset);
+ extended_data_flag = s->descriptor_length > 0x04;
+}
+
+int ExtensionDescriptor::getExtendedDataFlag() const {
+ return extended_data_flag;
}
int ExtensionDescriptor::getExtensionDescriptorTag() const {
diff --git a/libsi/descriptor.h b/libsi/descriptor.h
index 30c9f6b1..3c8b0f90 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 3.2 2014/02/08 12:44:17 kls Exp $
+ * $Id: descriptor.h 4.1 2019/03/15 16:12:09 kls Exp $
* *
***************************************************************************/
@@ -529,11 +529,13 @@ private:
class ExtensionDescriptor : public Descriptor {
public:
+ int getExtendedDataFlag() const;
int getExtensionDescriptorTag() const;
protected:
virtual void Parse();
private:
const descr_extension *s;
+ int extended_data_flag;
};
class T2DeliverySystemDescriptor : public Descriptor {