Added ISO639LanguageDescriptor to 'libsi'

This commit is contained in:
Klaus Schmidinger 2004-01-24 14:49:51 +01:00
parent a4b743b355
commit 72189b5228
4 changed files with 24 additions and 4 deletions

View File

@ -2614,3 +2614,4 @@ Video Disk Recorder Revision History
2004-01-24: Version 1.3.3 2004-01-24: Version 1.3.3
- Completed the Finnish OSD texts (thanks to Rolf Ahrenberg). - Completed the Finnish OSD texts (thanks to Rolf Ahrenberg).
- Added ISO639LanguageDescriptor to 'libsi'.

View File

@ -6,7 +6,7 @@
* the Free Software Foundation; either version 2 of the License, or * * the Free Software Foundation; either version 2 of the License, or *
* (at your option) any later version. * * (at your option) any later version. *
* * * *
* $Id: descriptor.c 1.3 2004/01/12 16:17:20 kls Exp $ * $Id: descriptor.c 1.4 2004/01/24 14:49:00 kls Exp $
* * * *
***************************************************************************/ ***************************************************************************/
@ -514,6 +514,14 @@ LinkageType LinkageDescriptor::getLinkageType() const {
return (LinkageType)s->linkage_type; return (LinkageType)s->linkage_type;
} }
void ISO639LanguageDescriptor::Parse() {
unsigned int offset=0;
data.setPointerAndOffset<const descr_iso_639_language>(s, offset);
languageCode[0]=s->lang_code1;
languageCode[1]=s->lang_code2;
languageCode[2]=s->lang_code3;
}
void ApplicationSignallingDescriptor::Parse() { void ApplicationSignallingDescriptor::Parse() {
entryLoop.setData(data+sizeof(descr_application_signalling), getLength()-sizeof(descr_application_signalling)); entryLoop.setData(data+sizeof(descr_application_signalling), getLength()-sizeof(descr_application_signalling));
} }

View File

@ -6,7 +6,7 @@
* the Free Software Foundation; either version 2 of the License, or * * the Free Software Foundation; either version 2 of the License, or *
* (at your option) any later version. * * (at your option) any later version. *
* * * *
* $Id: descriptor.h 1.3 2004/01/12 16:17:47 kls Exp $ * $Id: descriptor.h 1.4 2004/01/24 14:49:00 kls Exp $
* * * *
***************************************************************************/ ***************************************************************************/
@ -374,6 +374,15 @@ private:
const descr_linkage *s; const descr_linkage *s;
}; };
class ISO639LanguageDescriptor : public Descriptor {
public:
char languageCode[3];
protected:
virtual void Parse();
private:
const descr_iso_639_language *s;
};
//a descriptor currently unimplemented in this library //a descriptor currently unimplemented in this library
class UnimplementedDescriptor : public Descriptor { class UnimplementedDescriptor : public Descriptor {
protected: protected:

View File

@ -6,7 +6,7 @@
* the Free Software Foundation; either version 2 of the License, or * * the Free Software Foundation; either version 2 of the License, or *
* (at your option) any later version. * * (at your option) any later version. *
* * * *
* $Id: si.c 1.5 2004/01/12 22:19:34 kls Exp $ * $Id: si.c 1.6 2004/01/24 14:49:00 kls Exp $
* * * *
***************************************************************************/ ***************************************************************************/
@ -323,6 +323,9 @@ Descriptor *Descriptor::getDescriptor(CharArray da, DescriptorTagDomain domain)
case LinkageDescriptorTag: case LinkageDescriptorTag:
d=new LinkageDescriptor(); d=new LinkageDescriptor();
break; break;
case ISO639LanguageDescriptorTag:
d=new ISO639LanguageDescriptor();
break;
//note that it is no problem to implement one //note that it is no problem to implement one
//of the unimplemented descriptors. //of the unimplemented descriptors.
@ -335,7 +338,6 @@ Descriptor *Descriptor::getDescriptor(CharArray da, DescriptorTagDomain domain)
case DataStreamAlignmentDescriptorTag: case DataStreamAlignmentDescriptorTag:
case TargetBackgroundGridDescriptorTag: case TargetBackgroundGridDescriptorTag:
case VideoWindowDescriptorTag: case VideoWindowDescriptorTag:
case ISO639LanguageDescriptorTag:
case SystemClockDescriptorTag: case SystemClockDescriptorTag:
case MultiplexBufferUtilizationDescriptorTag: case MultiplexBufferUtilizationDescriptorTag:
case CopyrightDescriptorTag: case CopyrightDescriptorTag: