summaryrefslogtreecommitdiff
path: root/libsi/descriptor.c
diff options
context:
space:
mode:
authorKlaus Schmidinger <vdr@tvdr.de>2004-01-12 22:19:34 +0100
committerKlaus Schmidinger <vdr@tvdr.de>2004-01-12 22:19:34 +0100
commit2a11c183b5cd6700edb89cf94515b8390a5f8a7a (patch)
treea280807ca2d8ff265d1d81c3fcf9c130443e11ac /libsi/descriptor.c
parent89ecc6b4527740bb4307602dc5fb5416d5c40cfc (diff)
downloadvdr-2a11c183b5cd6700edb89cf94515b8390a5f8a7a.tar.gz
vdr-2a11c183b5cd6700edb89cf94515b8390a5f8a7a.tar.bz2
Added LinkageDescriptor handling to 'libsi'
Diffstat (limited to 'libsi/descriptor.c')
-rw-r--r--libsi/descriptor.c24
1 files changed, 23 insertions, 1 deletions
diff --git a/libsi/descriptor.c b/libsi/descriptor.c
index 433d6802..4f4ef341 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 1.2 2003/12/13 10:42:05 kls Exp $
+ * $Id: descriptor.c 1.3 2004/01/12 16:17:20 kls Exp $
* *
***************************************************************************/
@@ -492,6 +492,28 @@ void MultilingualServiceNameDescriptor::Name::Parse() {
name.setData(data+offset, mid->service_name_length);
}
+void LinkageDescriptor::Parse() {
+ unsigned int offset=0;
+ data.setPointerAndOffset<const descr_linkage>(s, offset);
+ privateData.assign(data.getData(offset), getLength()-offset);
+}
+
+int LinkageDescriptor::getTransportStreamId() const {
+ return HILO(s->transport_stream_id);
+}
+
+int LinkageDescriptor::getOriginalNetworkId() const {
+ return HILO(s->original_network_id);
+}
+
+int LinkageDescriptor::getServiceId() const {
+ return HILO(s->service_id);
+}
+
+LinkageType LinkageDescriptor::getLinkageType() const {
+ return (LinkageType)s->linkage_type;
+}
+
void ApplicationSignallingDescriptor::Parse() {
entryLoop.setData(data+sizeof(descr_application_signalling), getLength()-sizeof(descr_application_signalling));
}