mirror of
https://github.com/VDR4Arch/vdr.git
synced 2023-10-10 13:36:52 +02:00
Adapted 'libsi' to DVB-S2
This commit is contained in:
parent
31820a5175
commit
f3bc8d1988
@ -1390,6 +1390,7 @@ Marco Schl
|
|||||||
for reporting a problem with displaying the replay mode symbol in case of "Multi
|
for reporting a problem with displaying the replay mode symbol in case of "Multi
|
||||||
speed mode"
|
speed mode"
|
||||||
for removing 'assert(0)' from cDvbSpuDecoder::setTime()
|
for removing 'assert(0)' from cDvbSpuDecoder::setTime()
|
||||||
|
for adapting 'libsi' to DVB-S2
|
||||||
|
|
||||||
Jürgen Schmitz <j.schmitz@web.de>
|
Jürgen Schmitz <j.schmitz@web.de>
|
||||||
for reporting a bug in displaying the current channel when switching via the SVDRP
|
for reporting a bug in displaying the current channel when switching via the SVDRP
|
||||||
|
1
HISTORY
1
HISTORY
@ -5105,3 +5105,4 @@ Video Disk Recorder Revision History
|
|||||||
with open file handles when starting background commands (thanks to Reinhard
|
with open file handles when starting background commands (thanks to Reinhard
|
||||||
Nissl).
|
Nissl).
|
||||||
- Removed 'assert(0)' from cDvbSpuDecoder::setTime() (thanks to Marco Schlüßler).
|
- Removed 'assert(0)' from cDvbSpuDecoder::setTime() (thanks to Marco Schlüßler).
|
||||||
|
- Adapted 'libsi' to DVB-S2 (thanks to Marco Schlüßler).
|
||||||
|
@ -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.21 2006/05/28 14:25:30 kls Exp $
|
* $Id: descriptor.c 1.22 2007/02/03 11:45:58 kls Exp $
|
||||||
* *
|
* *
|
||||||
***************************************************************************/
|
***************************************************************************/
|
||||||
|
|
||||||
@ -418,8 +418,16 @@ int SatelliteDeliverySystemDescriptor::getPolarization() const {
|
|||||||
return s->polarization;
|
return s->polarization;
|
||||||
}
|
}
|
||||||
|
|
||||||
int SatelliteDeliverySystemDescriptor::getModulation() const {
|
int SatelliteDeliverySystemDescriptor::getModulationSystem() const {
|
||||||
return s->modulation;
|
return s->modulation_system;
|
||||||
|
}
|
||||||
|
|
||||||
|
int SatelliteDeliverySystemDescriptor::getModulationType() const {
|
||||||
|
return s->modulation_type;
|
||||||
|
}
|
||||||
|
|
||||||
|
int SatelliteDeliverySystemDescriptor::getRollOff() const {
|
||||||
|
return s->roll_off;
|
||||||
}
|
}
|
||||||
|
|
||||||
int SatelliteDeliverySystemDescriptor::getSymbolRate() const {
|
int SatelliteDeliverySystemDescriptor::getSymbolRate() const {
|
||||||
@ -462,6 +470,18 @@ int TerrestrialDeliverySystemDescriptor::getFrequency() const {
|
|||||||
return (HILO(s->frequency_hi) << 16) | HILO(s->frequency_lo);
|
return (HILO(s->frequency_hi) << 16) | HILO(s->frequency_lo);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int TerrestrialDeliverySystemDescriptor::getPriority() const {
|
||||||
|
return s->priority;
|
||||||
|
}
|
||||||
|
|
||||||
|
int TerrestrialDeliverySystemDescriptor::getTimeSlicingIndicator() const {
|
||||||
|
return s->time_slicing_indicator;
|
||||||
|
}
|
||||||
|
|
||||||
|
int TerrestrialDeliverySystemDescriptor::getMpeFecIndicator() const {
|
||||||
|
return s->mpe_fec_indicator;
|
||||||
|
}
|
||||||
|
|
||||||
int TerrestrialDeliverySystemDescriptor::getBandwidth() const {
|
int TerrestrialDeliverySystemDescriptor::getBandwidth() const {
|
||||||
return s->bandwidth;
|
return s->bandwidth;
|
||||||
}
|
}
|
||||||
@ -794,6 +814,41 @@ int AncillaryDataDescriptor::getAncillaryDataIdentifier() const {
|
|||||||
return s->ancillary_data_identifier;
|
return s->ancillary_data_identifier;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void S2SatelliteDeliverySystemDescriptor::Parse() {
|
||||||
|
int offset=0;
|
||||||
|
input_stream_identifier=0;
|
||||||
|
data.setPointerAndOffset<const descr_s2_satellite_delivery_system>(s, offset);
|
||||||
|
if (s->scrambling_sequence_selector)
|
||||||
|
data.setPointerAndOffset<const descr_scrambling_sequence_selector>(sss, offset);
|
||||||
|
if (s->multiple_input_stream_flag)
|
||||||
|
input_stream_identifier = *data.getData(offset++);
|
||||||
|
}
|
||||||
|
|
||||||
|
int S2SatelliteDeliverySystemDescriptor::getScramblingSequenceSelector() const {
|
||||||
|
return s->scrambling_sequence_selector;
|
||||||
|
}
|
||||||
|
|
||||||
|
int S2SatelliteDeliverySystemDescriptor::getMultipleInputStreamFlag() const {
|
||||||
|
return s->multiple_input_stream_flag;
|
||||||
|
}
|
||||||
|
|
||||||
|
int S2SatelliteDeliverySystemDescriptor::getBackwardsCompatibilityIndicator() const {
|
||||||
|
return s->backwards_compatibility_indicator;
|
||||||
|
}
|
||||||
|
|
||||||
|
int S2SatelliteDeliverySystemDescriptor::getScramblingSequenceIndex() const {
|
||||||
|
return sss == NULL ? 0 : (sss->scrambling_sequence_index_hi_lo << 16) | HILO(sss->scrambling_sequence_index_lo);
|
||||||
|
}
|
||||||
|
|
||||||
|
void ExtensionDescriptor::Parse() {
|
||||||
|
int offset=0;
|
||||||
|
data.setPointerAndOffset<const descr_extension>(s, offset);
|
||||||
|
}
|
||||||
|
|
||||||
|
int ExtensionDescriptor::getExtensionDescriptorTag() const {
|
||||||
|
return s->descriptor_tag_extension;
|
||||||
|
}
|
||||||
|
|
||||||
int PremiereContentTransmissionDescriptor::getOriginalNetworkId() const {
|
int PremiereContentTransmissionDescriptor::getOriginalNetworkId() const {
|
||||||
return HILO(s->original_network_id);
|
return HILO(s->original_network_id);
|
||||||
}
|
}
|
||||||
|
@ -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.15 2006/05/28 14:25:30 kls Exp $
|
* $Id: descriptor.h 1.16 2007/02/03 11:45:58 kls Exp $
|
||||||
* *
|
* *
|
||||||
***************************************************************************/
|
***************************************************************************/
|
||||||
|
|
||||||
@ -210,7 +210,9 @@ public:
|
|||||||
int getOrbitalPosition() const;
|
int getOrbitalPosition() const;
|
||||||
int getWestEastFlag() const;
|
int getWestEastFlag() const;
|
||||||
int getPolarization() const;
|
int getPolarization() const;
|
||||||
int getModulation() const;
|
int getModulationSystem() const;
|
||||||
|
int getModulationType() const;
|
||||||
|
int getRollOff() const;
|
||||||
int getSymbolRate() const;
|
int getSymbolRate() const;
|
||||||
int getFecInner() const;
|
int getFecInner() const;
|
||||||
protected:
|
protected:
|
||||||
@ -236,6 +238,9 @@ class TerrestrialDeliverySystemDescriptor : public Descriptor {
|
|||||||
public:
|
public:
|
||||||
int getFrequency() const;
|
int getFrequency() const;
|
||||||
int getBandwidth() const;
|
int getBandwidth() const;
|
||||||
|
int getPriority() const;
|
||||||
|
int getTimeSlicingIndicator() const;
|
||||||
|
int getMpeFecIndicator() const;
|
||||||
int getConstellation() const;
|
int getConstellation() const;
|
||||||
int getHierarchy() const;
|
int getHierarchy() const;
|
||||||
int getCodeRateHP() const;
|
int getCodeRateHP() const;
|
||||||
@ -484,6 +489,30 @@ private:
|
|||||||
const descr_ancillary_data *s;
|
const descr_ancillary_data *s;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
class S2SatelliteDeliverySystemDescriptor : public Descriptor {
|
||||||
|
public:
|
||||||
|
int getScramblingSequenceSelector() const;
|
||||||
|
int getMultipleInputStreamFlag() const;
|
||||||
|
int getBackwardsCompatibilityIndicator() const;
|
||||||
|
int getScramblingSequenceIndex() const;
|
||||||
|
int getInputStreamIdentifier() const { return input_stream_identifier; }
|
||||||
|
protected:
|
||||||
|
virtual void Parse();
|
||||||
|
private:
|
||||||
|
const descr_s2_satellite_delivery_system *s;
|
||||||
|
const descr_scrambling_sequence_selector *sss;
|
||||||
|
int input_stream_identifier;
|
||||||
|
};
|
||||||
|
|
||||||
|
class ExtensionDescriptor : public Descriptor {
|
||||||
|
public:
|
||||||
|
int getExtensionDescriptorTag() const;
|
||||||
|
protected:
|
||||||
|
virtual void Parse();
|
||||||
|
private:
|
||||||
|
const descr_extension *s;
|
||||||
|
};
|
||||||
|
|
||||||
// Private DVB Descriptor Premiere.de
|
// Private DVB Descriptor Premiere.de
|
||||||
// 0xF2 Content Transmission Descriptor
|
// 0xF2 Content Transmission Descriptor
|
||||||
// http://dvbsnoop.sourceforge.net/examples/example-private-section.html
|
// http://dvbsnoop.sourceforge.net/examples/example-private-section.html
|
||||||
|
209
libsi/headers.h
209
libsi/headers.h
@ -10,7 +10,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: headers.h 1.8 2006/09/02 20:25:16 kls Exp $
|
* $Id: headers.h 1.9 2007/02/03 11:45:58 kls Exp $
|
||||||
* *
|
* *
|
||||||
***************************************************************************/
|
***************************************************************************/
|
||||||
|
|
||||||
@ -942,9 +942,13 @@ struct descr_satellite_delivery_system {
|
|||||||
#if BYTE_ORDER == BIG_ENDIAN
|
#if BYTE_ORDER == BIG_ENDIAN
|
||||||
u_char west_east_flag :1;
|
u_char west_east_flag :1;
|
||||||
u_char polarization :2;
|
u_char polarization :2;
|
||||||
u_char modulation :5;
|
u_char roll_off :2;
|
||||||
|
u_char modulation_system :1;
|
||||||
|
u_char modulation_type :2;
|
||||||
#else
|
#else
|
||||||
u_char modulation :5;
|
u_char modulation_type :2;
|
||||||
|
u_char modulation_system :1;
|
||||||
|
u_char roll_off :2;
|
||||||
u_char polarization :2;
|
u_char polarization :2;
|
||||||
u_char west_east_flag :1;
|
u_char west_east_flag :1;
|
||||||
#endif
|
#endif
|
||||||
@ -1349,9 +1353,15 @@ struct descr_terrestrial_delivery {
|
|||||||
u_char frequency_lo_lo :8;
|
u_char frequency_lo_lo :8;
|
||||||
#if BYTE_ORDER == BIG_ENDIAN
|
#if BYTE_ORDER == BIG_ENDIAN
|
||||||
u_char bandwidth :3;
|
u_char bandwidth :3;
|
||||||
u_char reserved1 :5;
|
u_char priority :1;
|
||||||
|
u_char time_slicing_indicator :1;
|
||||||
|
u_char mpe_fec_indicator :1;
|
||||||
|
u_char reserved1 :2;
|
||||||
#else
|
#else
|
||||||
u_char reserved1 :5;
|
u_char reserved1 :2;
|
||||||
|
u_char mpe_fec_indicator :1;
|
||||||
|
u_char time_slicing_indicator :1;
|
||||||
|
u_char priority :1;
|
||||||
u_char bandwidth :3;
|
u_char bandwidth :3;
|
||||||
#endif
|
#endif
|
||||||
#if BYTE_ORDER == BIG_ENDIAN
|
#if BYTE_ORDER == BIG_ENDIAN
|
||||||
@ -1492,10 +1502,10 @@ struct descr_data_broadcast {
|
|||||||
/* TBD */
|
/* TBD */
|
||||||
};
|
};
|
||||||
|
|
||||||
/* 0x65 ca_system_descriptor */
|
/* 0x65 scrambling_descriptor */
|
||||||
|
|
||||||
#define DESCR_CA_SYSTEM_LEN XX
|
#define DESCR_SCRAMBLING_LEN XX
|
||||||
struct descr_ca_system {
|
struct descr_scrambling {
|
||||||
u_char descriptor_tag :8;
|
u_char descriptor_tag :8;
|
||||||
u_char descriptor_length :8;
|
u_char descriptor_length :8;
|
||||||
/* TBD */
|
/* TBD */
|
||||||
@ -1628,6 +1638,189 @@ struct descr_service_identifier {
|
|||||||
u_char descriptor_length :8;
|
u_char descriptor_length :8;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/* 0x72 service_availbility_descriptor */
|
||||||
|
|
||||||
|
struct descr_service_availbility {
|
||||||
|
u_char descriptor_tag :8;
|
||||||
|
u_char descriptor_length :8;
|
||||||
|
#if BYTE_ORDER == BIG_ENDIAN
|
||||||
|
u_char availability_flag :1;
|
||||||
|
u_char reserved :7;
|
||||||
|
#else
|
||||||
|
u_char reserved :7;
|
||||||
|
u_char availability_flag :1;
|
||||||
|
#endif
|
||||||
|
};
|
||||||
|
|
||||||
|
/* 0x73 default_authority_descriptor (ETSI TS 102 323) */
|
||||||
|
|
||||||
|
struct descr_default_authority {
|
||||||
|
u_char descriptor_tag :8;
|
||||||
|
u_char descriptor_length :8;
|
||||||
|
};
|
||||||
|
|
||||||
|
/* 0x74 related_content_descriptor (ETSI TS 102 323) */
|
||||||
|
|
||||||
|
struct descr_related_content {
|
||||||
|
u_char descriptor_tag :8;
|
||||||
|
u_char descriptor_length :8;
|
||||||
|
};
|
||||||
|
|
||||||
|
/* 0x75 tva_id_descriptor (ETSI TS 102 323) */
|
||||||
|
|
||||||
|
struct descr_tva_id {
|
||||||
|
u_char descriptor_tag :8;
|
||||||
|
u_char descriptor_length :8;
|
||||||
|
};
|
||||||
|
|
||||||
|
/* 0x76 content_identifier_descriptor (ETSI TS 102 323) */
|
||||||
|
|
||||||
|
struct descr_content_identifier {
|
||||||
|
u_char descriptor_tag :8;
|
||||||
|
u_char descriptor_length :8;
|
||||||
|
};
|
||||||
|
|
||||||
|
/* 0x77 time_slice_fec_identifier_descriptor (ETSI EN 301 192) */
|
||||||
|
|
||||||
|
struct descr_time_slice_fec_identifier {
|
||||||
|
u_char descriptor_tag :8;
|
||||||
|
u_char descriptor_length :8;
|
||||||
|
#if BYTE_ORDER == BIG_ENDIAN
|
||||||
|
u_char time_slicing :1;
|
||||||
|
u_char mpe_fec :2;
|
||||||
|
u_char reserved :2;
|
||||||
|
u_char frame_size :3;
|
||||||
|
#else
|
||||||
|
u_char frame_size :3;
|
||||||
|
u_char reserved :2;
|
||||||
|
u_char mpe_fec :2;
|
||||||
|
u_char time_slicing :1;
|
||||||
|
#endif
|
||||||
|
u_char max_burst_duration :8;
|
||||||
|
#if BYTE_ORDER == BIG_ENDIAN
|
||||||
|
u_char max_average_rate :4;
|
||||||
|
u_char time_slice_fec_id :4;
|
||||||
|
#else
|
||||||
|
u_char time_slice_fec_id :4;
|
||||||
|
u_char max_average_rate :4;
|
||||||
|
#endif
|
||||||
|
};
|
||||||
|
|
||||||
|
/* 0x78 ecm_repetition_rate_descriptor (ETSI EN 301 192) */
|
||||||
|
|
||||||
|
struct descr_ecm_repetition_rate {
|
||||||
|
u_char descriptor_tag :8;
|
||||||
|
u_char descriptor_length :8;
|
||||||
|
u_char ca_system_id_hi :8;
|
||||||
|
u_char ca_system_id_lo :8;
|
||||||
|
u_char ecm_repetition_rate_hi :8;
|
||||||
|
u_char ecm_repetition_rate_lo :8;
|
||||||
|
};
|
||||||
|
|
||||||
|
/* 0x79 s2_satellite_delivery_system_descriptor */
|
||||||
|
|
||||||
|
struct descr_s2_satellite_delivery_system {
|
||||||
|
u_char descriptor_tag :8;
|
||||||
|
u_char descriptor_length :8;
|
||||||
|
#if BYTE_ORDER == BIG_ENDIAN
|
||||||
|
u_char scrambling_sequence_selector :1;
|
||||||
|
u_char multiple_input_stream_flag :1;
|
||||||
|
u_char backwards_compatibility_indicator :1;
|
||||||
|
u_char reserved :5;
|
||||||
|
#else
|
||||||
|
u_char reserved :5;
|
||||||
|
u_char backwards_compatibility_indicator :1;
|
||||||
|
u_char multiple_input_stream_flag :1;
|
||||||
|
u_char scrambling_sequence_selector :1;
|
||||||
|
#endif
|
||||||
|
};
|
||||||
|
|
||||||
|
struct descr_scrambling_sequence_selector {
|
||||||
|
#if BYTE_ORDER == BIG_ENDIAN
|
||||||
|
u_char reserved :6;
|
||||||
|
u_char scrambling_sequence_index_hi_lo :2;
|
||||||
|
#else
|
||||||
|
u_char scrambling_sequence_index_hi_lo :2;
|
||||||
|
u_char reserved :6;
|
||||||
|
#endif
|
||||||
|
u_char scrambling_sequence_index_lo_hi :8;
|
||||||
|
u_char scrambling_sequence_index_lo_lo :8;
|
||||||
|
};
|
||||||
|
|
||||||
|
/* 0x7A enhanced_ac3_descriptor */
|
||||||
|
|
||||||
|
struct descr_enhanced_ac3 {
|
||||||
|
u_char descriptor_tag :8;
|
||||||
|
u_char descriptor_length :8;
|
||||||
|
#if BYTE_ORDER == BIG_ENDIAN
|
||||||
|
u_char component_type_flag :1;
|
||||||
|
u_char bsid_flag :1;
|
||||||
|
u_char mainid_flag :1;
|
||||||
|
u_char asvc_flag :1;
|
||||||
|
u_char mixinfoexists :1;
|
||||||
|
u_char substream1_flag :1;
|
||||||
|
u_char substream2_flag :1;
|
||||||
|
u_char substream3_flag :1;
|
||||||
|
#else
|
||||||
|
u_char substream3_flag :1;
|
||||||
|
u_char substream2_flag :1;
|
||||||
|
u_char substream1_flag :1;
|
||||||
|
u_char mixinfoexists :1;
|
||||||
|
u_char asvc_flag :1;
|
||||||
|
u_char mainid_flag :1;
|
||||||
|
u_char bsid_flag :1;
|
||||||
|
u_char component_type_flag :1;
|
||||||
|
#endif
|
||||||
|
};
|
||||||
|
|
||||||
|
/* 0x7B dts_descriptor */
|
||||||
|
|
||||||
|
struct descr_dts {
|
||||||
|
u_char descriptor_tag :8;
|
||||||
|
u_char descriptor_length :8;
|
||||||
|
#if BYTE_ORDER == BIG_ENDIAN
|
||||||
|
u_char sample_rate_code :4;
|
||||||
|
u_char bit_rate_code :6;
|
||||||
|
u_char nblks :7;
|
||||||
|
u_char fsize_hi :6;
|
||||||
|
u_char fsize_lo :8;
|
||||||
|
u_char surround_mode :6;
|
||||||
|
u_char lfe_flag :1;
|
||||||
|
u_char extended_surround_flag :2;
|
||||||
|
#else
|
||||||
|
u_char extended_surround_flag :2;
|
||||||
|
u_char lfe_flag :1;
|
||||||
|
u_char surround_mode :6;
|
||||||
|
u_char fsize_lo :8;
|
||||||
|
u_char fsize_hi :6;
|
||||||
|
u_char nblks :7;
|
||||||
|
u_char bit_rate_code :6;
|
||||||
|
u_char sample_rate_code :4;
|
||||||
|
#endif
|
||||||
|
};
|
||||||
|
|
||||||
|
/* 0x7C aac_descriptor */
|
||||||
|
|
||||||
|
struct descr_aac {
|
||||||
|
u_char descriptor_tag :8;
|
||||||
|
u_char descriptor_length :8;
|
||||||
|
u_char profile_and_level :8;
|
||||||
|
#if BYTE_ORDER == BIG_ENDIAN
|
||||||
|
u_char aac_type_flag :1;
|
||||||
|
u_char reserved :7;
|
||||||
|
#else
|
||||||
|
u_char reserved :7;
|
||||||
|
u_char aac_type_flag :1;
|
||||||
|
#endif
|
||||||
|
};
|
||||||
|
/* 0x7F extension_descriptor */
|
||||||
|
|
||||||
|
struct descr_extension {
|
||||||
|
u_char descriptor_tag :8;
|
||||||
|
u_char descriptor_length :8;
|
||||||
|
u_char descriptor_tag_extension :8;
|
||||||
|
};
|
||||||
|
|
||||||
/* MHP 0x00 application_descriptor */
|
/* MHP 0x00 application_descriptor */
|
||||||
|
|
||||||
#define DESCR_APPLICATION_LEN 3
|
#define DESCR_APPLICATION_LEN 3
|
||||||
|
21
libsi/si.c
21
libsi/si.c
@ -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.16 2006/04/14 10:53:44 kls Exp $
|
* $Id: si.c 1.17 2007/02/03 11:45:58 kls Exp $
|
||||||
* *
|
* *
|
||||||
***************************************************************************/
|
***************************************************************************/
|
||||||
|
|
||||||
@ -425,6 +425,12 @@ Descriptor *Descriptor::getDescriptor(CharArray da, DescriptorTagDomain domain,
|
|||||||
case AncillaryDataDescriptorTag:
|
case AncillaryDataDescriptorTag:
|
||||||
d=new AncillaryDataDescriptor();
|
d=new AncillaryDataDescriptor();
|
||||||
break;
|
break;
|
||||||
|
case S2SatelliteDeliverySystemDescriptorTag:
|
||||||
|
d=new S2SatelliteDeliverySystemDescriptor();
|
||||||
|
break;
|
||||||
|
case ExtensionDescriptorTag:
|
||||||
|
d=new ExtensionDescriptor();
|
||||||
|
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.
|
||||||
@ -459,12 +465,23 @@ Descriptor *Descriptor::getDescriptor(CharArray da, DescriptorTagDomain domain,
|
|||||||
case PartialTransportStreamDescriptorTag:
|
case PartialTransportStreamDescriptorTag:
|
||||||
case DataBroadcastDescriptorTag:
|
case DataBroadcastDescriptorTag:
|
||||||
case DataBroadcastIdDescriptorTag:
|
case DataBroadcastIdDescriptorTag:
|
||||||
case CaSystemDescriptorTag:
|
case ScramblingDescriptorTag:
|
||||||
case AC3DescriptorTag:
|
case AC3DescriptorTag:
|
||||||
case DSNGDescriptorTag:
|
case DSNGDescriptorTag:
|
||||||
case AnnouncementSupportDescriptorTag:
|
case AnnouncementSupportDescriptorTag:
|
||||||
case AdaptationFieldDataDescriptorTag:
|
case AdaptationFieldDataDescriptorTag:
|
||||||
case TransportStreamDescriptorTag:
|
case TransportStreamDescriptorTag:
|
||||||
|
|
||||||
|
//defined in ETSI EN 300 468 v 1.7.1
|
||||||
|
case DefaultAuthorityDescriptorTag:
|
||||||
|
case RelatedContentDescriptorTag:
|
||||||
|
case TVAIdDescriptorTag:
|
||||||
|
case ContentIdentifierDescriptorTag:
|
||||||
|
case TimeSliceFecIdentifierDescriptorTag:
|
||||||
|
case ECMRepetitionRateDescriptorTag:
|
||||||
|
case EnhancedAC3DescriptorTag:
|
||||||
|
case DTSDescriptorTag:
|
||||||
|
case AACDescriptorTag:
|
||||||
default:
|
default:
|
||||||
if (!returnUnimplemetedDescriptor)
|
if (!returnUnimplemetedDescriptor)
|
||||||
return 0;
|
return 0;
|
||||||
|
17
libsi/si.h
17
libsi/si.h
@ -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.h 1.15 2006/05/27 13:07:20 kls Exp $
|
* $Id: si.h 1.16 2007/02/03 11:47:25 kls Exp $
|
||||||
* *
|
* *
|
||||||
***************************************************************************/
|
***************************************************************************/
|
||||||
|
|
||||||
@ -108,7 +108,7 @@ enum DescriptorTag {
|
|||||||
FrequencyListDescriptorTag = 0x62,
|
FrequencyListDescriptorTag = 0x62,
|
||||||
PartialTransportStreamDescriptorTag = 0x63,
|
PartialTransportStreamDescriptorTag = 0x63,
|
||||||
DataBroadcastDescriptorTag = 0x64,
|
DataBroadcastDescriptorTag = 0x64,
|
||||||
CaSystemDescriptorTag = 0x65,
|
ScramblingDescriptorTag = 0x65,
|
||||||
DataBroadcastIdDescriptorTag = 0x66,
|
DataBroadcastIdDescriptorTag = 0x66,
|
||||||
TransportStreamDescriptorTag = 0x67,
|
TransportStreamDescriptorTag = 0x67,
|
||||||
DSNGDescriptorTag = 0x68,
|
DSNGDescriptorTag = 0x68,
|
||||||
@ -122,6 +122,19 @@ enum DescriptorTag {
|
|||||||
AdaptationFieldDataDescriptorTag = 0x70,
|
AdaptationFieldDataDescriptorTag = 0x70,
|
||||||
ServiceIdentifierDescriptorTag = 0x71,
|
ServiceIdentifierDescriptorTag = 0x71,
|
||||||
ServiceAvailabilityDescriptorTag = 0x72,
|
ServiceAvailabilityDescriptorTag = 0x72,
|
||||||
|
// defined by ETSI (EN 300 468) v 1.7.1
|
||||||
|
DefaultAuthorityDescriptorTag = 0x73,
|
||||||
|
RelatedContentDescriptorTag = 0x74,
|
||||||
|
TVAIdDescriptorTag = 0x75,
|
||||||
|
ContentIdentifierDescriptorTag = 0x76,
|
||||||
|
TimeSliceFecIdentifierDescriptorTag = 0x77,
|
||||||
|
ECMRepetitionRateDescriptorTag = 0x78,
|
||||||
|
S2SatelliteDeliverySystemDescriptorTag = 0x79,
|
||||||
|
EnhancedAC3DescriptorTag = 0x7A,
|
||||||
|
DTSDescriptorTag = 0x7B,
|
||||||
|
AACDescriptorTag = 0x7C,
|
||||||
|
ExtensionDescriptorTag = 0x7F,
|
||||||
|
|
||||||
// Defined by ETSI TS 102 812 (MHP)
|
// Defined by ETSI TS 102 812 (MHP)
|
||||||
// They once again start with 0x00 (see page 234, MHP specification)
|
// They once again start with 0x00 (see page 234, MHP specification)
|
||||||
MHP_ApplicationDescriptorTag = 0x00,
|
MHP_ApplicationDescriptorTag = 0x00,
|
||||||
|
Loading…
Reference in New Issue
Block a user