mirror of
https://github.com/tuxbox-neutrino/neutrino.git
synced 2025-08-31 17:31:20 +02:00
-add to scanSDT scrambled update
git-svn-id: file:///home/bas/coolstream_public_svn/THIRDPARTY/applications/neutrino-experimental@850 e54a6e83-5905-42d5-8d5c-058d10e6a962
This commit is contained in:
@@ -61,7 +61,7 @@ void VBI_data_descriptor(const unsigned char * const buffer);
|
||||
void VBI_teletext_descriptor(const unsigned char * const buffer);
|
||||
void bouquet_name_descriptor(const unsigned char * const buffer);
|
||||
void service_descriptor(const unsigned char * const buffer, const t_service_id service_id, const t_transport_stream_id transport_stream_id, const t_original_network_id original_network_id, t_satellite_position satellitePosition, freq_id_t freq, bool free_ca);
|
||||
void current_service_descriptor(const unsigned char * const buffer, const t_service_id service_id, const t_transport_stream_id transport_stream_id, const t_original_network_id original_network_id, t_satellite_position satellitePosition, freq_id_t freq);
|
||||
void current_service_descriptor(const unsigned char * const buffer, const t_service_id service_id, const t_transport_stream_id transport_stream_id, const t_original_network_id original_network_id, t_satellite_position satellitePosition, freq_id_t freq, bool free_ca);
|
||||
void country_availability_descriptor(const unsigned char * const buffer);
|
||||
void linkage_descriptor(const unsigned char * const buffer);
|
||||
int NVOD_reference_descriptor(const unsigned char * const buffer, const unsigned int num, t_transport_stream_id * const, t_original_network_id * const, t_service_id * const);
|
||||
|
@@ -80,7 +80,7 @@ struct transponder
|
||||
updated = 0;
|
||||
}
|
||||
};
|
||||
typedef std::map<transponder_id_t, transponder> transponder_list_t;
|
||||
typedef std::map <transponder_id_t, transponder> transponder_list_t;
|
||||
typedef std::map <transponder_id_t, transponder>::iterator stiterator;
|
||||
typedef std::map<transponder_id_t, bool> sdt_tp_t;
|
||||
extern transponder_list_t scantransponders;
|
||||
|
@@ -705,7 +705,7 @@ void service_descriptor(const unsigned char * const buffer, const t_service_id s
|
||||
}
|
||||
}
|
||||
|
||||
void current_service_descriptor(const unsigned char * const buffer, const t_service_id service_id, const t_transport_stream_id transport_stream_id, const t_original_network_id original_network_id, t_satellite_position satellitePosition, freq_id_t freq)
|
||||
void current_service_descriptor(const unsigned char * const buffer, const t_service_id service_id, const t_transport_stream_id transport_stream_id, const t_original_network_id original_network_id, t_satellite_position satellitePosition, freq_id_t freq, bool free_ca)
|
||||
{
|
||||
bool service_wr = false;
|
||||
uint8_t service_type = buffer[2];
|
||||
@@ -767,20 +767,22 @@ void current_service_descriptor(const unsigned char * const buffer, const t_serv
|
||||
serviceName = CDVBString((const char*)&(buffer[4 + service_provider_name_length + 1]), (2 + buffer[1]) - (4 + service_provider_name_length + 1)).getContent();
|
||||
}
|
||||
|
||||
curchans.insert (
|
||||
std::pair <t_channel_id, CZapitChannel> (
|
||||
CREATE_CHANNEL_ID64,
|
||||
CZapitChannel (
|
||||
serviceName,
|
||||
service_id,
|
||||
transport_stream_id,
|
||||
original_network_id,
|
||||
real_type,
|
||||
satellitePosition,
|
||||
freq
|
||||
)
|
||||
)
|
||||
);
|
||||
pair<map<t_channel_id, CZapitChannel>::iterator,bool> ret;
|
||||
ret = curchans.insert (
|
||||
std::pair <t_channel_id, CZapitChannel> (
|
||||
CREATE_CHANNEL_ID64,
|
||||
CZapitChannel (
|
||||
serviceName,
|
||||
service_id,
|
||||
transport_stream_id,
|
||||
original_network_id,
|
||||
real_type /*service_type*/,
|
||||
satellitePosition,
|
||||
freq
|
||||
)
|
||||
)
|
||||
);
|
||||
ret.first->second.scrambled = free_ca;
|
||||
}
|
||||
|
||||
/* 0x49 */
|
||||
|
@@ -440,7 +440,7 @@ int parse_current_sdt( const t_transport_stream_id p_transport_stream_id, const
|
||||
//printf("[sdt] descriptor %X\n", buffer[pos2]);
|
||||
switch (buffer[pos2]) {
|
||||
case 0x48:
|
||||
current_service_descriptor(buffer + pos2, service_id, transport_stream_id, original_network_id, satellitePosition, freq);
|
||||
current_service_descriptor(buffer + pos2, service_id, transport_stream_id, original_network_id, satellitePosition, freq, free_CA_mode);
|
||||
ret = 0;
|
||||
break;
|
||||
|
||||
|
@@ -2509,11 +2509,11 @@ printf("[sdt monitor] wakeup...\n");
|
||||
abs(cI->second.getSatellitePosition())/10, cI->second.getSatellitePosition() > 0 ? 'E' : 'W',
|
||||
cI->second.getServiceType());
|
||||
#endif
|
||||
fprintf(fd, "\t\t\t<S action=\"add\" i=\"%04x\" n=\"%s\" t=\"%x\"/>\n",
|
||||
fprintf(fd, "\t\t\t<S action=\"add\" i=\"%04x\" n=\"%s\" t=\"%x\" s=\"%d\"/>\n",
|
||||
cI->second.getServiceId(), convert_UTF8_To_UTF8_XML(cI->second.getName().c_str()).c_str(),
|
||||
cI->second.getServiceType());
|
||||
cI->second.getServiceType(), cI->second.scrambled);
|
||||
} else {
|
||||
if(strcmp(cI->second.getName().c_str(), ccI->second.getName().c_str())) {
|
||||
if(strcmp(cI->second.getName().c_str(), ccI->second.getName().c_str()) || cI->second.scrambled != ccI->second.scrambled) {
|
||||
if(!tpdone) {
|
||||
if(!satfound)
|
||||
fprintf(fd, "%s", satstr);
|
||||
@@ -2521,9 +2521,9 @@ printf("[sdt monitor] wakeup...\n");
|
||||
tpdone = 1;
|
||||
}
|
||||
updated = 1;
|
||||
fprintf(fd, "\t\t\t<S action=\"replace\" i=\"%04x\" n=\"%s\" t=\"%x\"/>\n",
|
||||
fprintf(fd, "\t\t\t<S action=\"replace\" i=\"%04x\" n=\"%s\" t=\"%x\" s=\"%d\"/>\n",
|
||||
cI->second.getServiceId(), convert_UTF8_To_UTF8_XML(cI->second.getName().c_str()).c_str(),
|
||||
cI->second.getServiceType());
|
||||
cI->second.getServiceType(), cI->second.scrambled);
|
||||
}
|
||||
#if 0
|
||||
char newname[128];
|
||||
|
Reference in New Issue
Block a user