Added support for "content identifier descriptor" and "default authority descriptor" to 'libsi'

This commit is contained in:
Klaus Schmidinger
2011-06-15 21:29:03 +02:00
parent 263dc29508
commit b2812b7e71
6 changed files with 87 additions and 7 deletions

View File

@@ -6,7 +6,7 @@
* the Free Software Foundation; either version 2 of the License, or *
* (at your option) any later version. *
* *
* $Id: descriptor.c 2.1 2010/11/01 15:24:31 kls Exp $
* $Id: descriptor.c 2.2 2011/06/15 21:26:00 kls Exp $
* *
***************************************************************************/
@@ -643,6 +643,33 @@ void ServiceIdentifierDescriptor::Parse() {
textualServiceIdentifier.setData(data+sizeof(descr_service_identifier), getLength()-sizeof(descr_service_identifier));
}
void ContentIdentifierDescriptor::Parse() {
identifierLoop.setData(data+sizeof(descr_content_identifier), getLength()-sizeof(descr_content_identifier));
}
void ContentIdentifierDescriptor::Identifier::Parse() {
int offset=0;
data.setPointerAndOffset<const content_identifier_entry>(s, offset);
if (s->crid_location == 0) {
identifier.setData(data+(offset-1), s->crid_length);
}
else {
identifier.setData(data+(offset-1), 2);
}
}
int ContentIdentifierDescriptor::Identifier::getCridType() const {
return s->crid_type;
}
int ContentIdentifierDescriptor::Identifier::getCridLocation() const {
return s->crid_location;
}
void DefaultAuthorityDescriptor::Parse() {
DefaultAuthority.setData(data+sizeof(descr_default_authority), getLength()-sizeof(descr_default_authority));
}
void MultilingualNameDescriptor::Parse() {
nameLoop.setData(data+sizeof(descr_multilingual_network_name), getLength()-sizeof(descr_multilingual_network_name));
}