aboutsummaryrefslogtreecommitdiff
path: root/lib/dvb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/dvb')
-rw-r--r--lib/dvb/idvb.h14
1 files changed, 14 insertions, 0 deletions
diff --git a/lib/dvb/idvb.h b/lib/dvb/idvb.h
index 5909e76d..13f20081 100644
--- a/lib/dvb/idvb.h
+++ b/lib/dvb/idvb.h
@@ -162,6 +162,20 @@ struct eServiceReferenceDVB: public eServiceReference
eTransportStreamID getParentTransportStreamID() const { return eTransportStreamID(data[6]); }
void setParentTransportStreamID( eTransportStreamID tsid ) { data[6]=tsid.get(); }
+ eServiceReferenceDVB getParentServiceReference() const
+ {
+ eServiceReferenceDVB tmp(*this);
+ if (data[4] && data[5])
+ {
+ tmp.data[1] = data[5];
+ tmp.data[2] = data[6];
+ tmp.data[5] = tmp.data[6] = 0;
+ }
+ else
+ tmp.type = idInvalid;
+ return tmp;
+ }
+
eServiceReferenceDVB(eDVBNamespace dvbnamespace, eTransportStreamID transport_stream_id, eOriginalNetworkID original_network_id, eServiceID service_id, int service_type)
:eServiceReference(eServiceReference::idDVB, 0)
{