mirror of
https://github.com/vdr-projects/vdr.git
synced 2025-03-01 10:50:46 +00:00
Added VBITeletextDescriptorTag, TeletextDescriptorTag, LocalTimeOffsetDescriptorTag and PremiereContentTransmissionDescriptor to 'libsi'
This commit is contained in:
41
libsi/si.c
41
libsi/si.c
@@ -6,7 +6,7 @@
|
||||
* the Free Software Foundation; either version 2 of the License, or *
|
||||
* (at your option) any later version. *
|
||||
* *
|
||||
* $Id: si.c 1.15 2006/02/18 10:38:20 kls Exp $
|
||||
* $Id: si.c 1.16 2006/04/14 10:53:44 kls Exp $
|
||||
* *
|
||||
***************************************************************************/
|
||||
|
||||
@@ -373,6 +373,9 @@ Descriptor *Descriptor::getDescriptor(CharArray da, DescriptorTagDomain domain,
|
||||
case MultilingualComponentDescriptorTag:
|
||||
d=new MultilingualComponentDescriptor();
|
||||
break;
|
||||
case PrivateDataSpecifierDescriptorTag:
|
||||
d=new PrivateDataSpecifierDescriptor();
|
||||
break;
|
||||
case ServiceMoveDescriptorTag:
|
||||
d=new ServiceMoveDescriptor();
|
||||
break;
|
||||
@@ -400,9 +403,16 @@ Descriptor *Descriptor::getDescriptor(CharArray da, DescriptorTagDomain domain,
|
||||
case ParentalRatingDescriptorTag:
|
||||
d=new ParentalRatingDescriptor();
|
||||
break;
|
||||
case TeletextDescriptorTag:
|
||||
case VBITeletextDescriptorTag:
|
||||
d=new TeletextDescriptor();
|
||||
break;
|
||||
case ApplicationSignallingDescriptorTag:
|
||||
d=new ApplicationSignallingDescriptor();
|
||||
break;
|
||||
case LocalTimeOffsetDescriptorTag:
|
||||
d=new LocalTimeOffsetDescriptor();
|
||||
break;
|
||||
case LinkageDescriptorTag:
|
||||
d=new LinkageDescriptor();
|
||||
break;
|
||||
@@ -412,6 +422,9 @@ Descriptor *Descriptor::getDescriptor(CharArray da, DescriptorTagDomain domain,
|
||||
case PDCDescriptorTag:
|
||||
d=new PDCDescriptor();
|
||||
break;
|
||||
case AncillaryDataDescriptorTag:
|
||||
d=new AncillaryDataDescriptor();
|
||||
break;
|
||||
|
||||
//note that it is no problem to implement one
|
||||
//of the unimplemented descriptors.
|
||||
@@ -436,13 +449,9 @@ Descriptor *Descriptor::getDescriptor(CharArray da, DescriptorTagDomain domain,
|
||||
//defined in ETSI EN 300 468
|
||||
case StuffingDescriptorTag:
|
||||
case VBIDataDescriptorTag:
|
||||
case VBITeletextDescriptorTag:
|
||||
case CountryAvailabilityDescriptorTag:
|
||||
case MocaicDescriptorTag:
|
||||
case TeletextDescriptorTag:
|
||||
case TelephoneDescriptorTag:
|
||||
case LocalTimeOffsetDescriptorTag:
|
||||
case PrivateDataSpecifierDescriptorTag:
|
||||
case CellListDescriptorTag:
|
||||
case CellFrequencyLinkDescriptorTag:
|
||||
case ServiceAvailabilityDescriptorTag:
|
||||
@@ -453,7 +462,6 @@ Descriptor *Descriptor::getDescriptor(CharArray da, DescriptorTagDomain domain,
|
||||
case CaSystemDescriptorTag:
|
||||
case AC3DescriptorTag:
|
||||
case DSNGDescriptorTag:
|
||||
case AncillaryDataDescriptorTag:
|
||||
case AnnouncementSupportDescriptorTag:
|
||||
case AdaptationFieldDataDescriptorTag:
|
||||
case TransportStreamDescriptorTag:
|
||||
@@ -500,6 +508,27 @@ Descriptor *Descriptor::getDescriptor(CharArray da, DescriptorTagDomain domain,
|
||||
break;
|
||||
}
|
||||
break;
|
||||
case PCIT:
|
||||
switch ((DescriptorTag)da.getData<DescriptorHeader>()->descriptor_tag) {
|
||||
case ContentDescriptorTag:
|
||||
d=new ContentDescriptor();
|
||||
break;
|
||||
case ShortEventDescriptorTag:
|
||||
d=new ShortEventDescriptor();
|
||||
break;
|
||||
case ExtendedEventDescriptorTag:
|
||||
d=new ExtendedEventDescriptor();
|
||||
break;
|
||||
case PremiereContentTransmissionDescriptorTag:
|
||||
d=new PremiereContentTransmissionDescriptor();
|
||||
break;
|
||||
default:
|
||||
if (!returnUnimplemetedDescriptor)
|
||||
return 0;
|
||||
d=new UnimplementedDescriptor();
|
||||
break;
|
||||
}
|
||||
break;
|
||||
}
|
||||
d->setData(da);
|
||||
return d;
|
||||
|
Reference in New Issue
Block a user