mirror of
https://github.com/tuxbox-neutrino/neutrino.git
synced 2025-09-01 18:01:13 +02:00
break SDT scan if transponder changed
git-svn-id: file:///home/bas/coolstream_public_svn/THIRDPARTY/applications/neutrino-experimental@1201 e54a6e83-5905-42d5-8d5c-058d10e6a962
This commit is contained in:
@@ -373,7 +373,7 @@ _repeat:
|
|||||||
int parse_current_sdt( const t_transport_stream_id p_transport_stream_id, const t_original_network_id p_original_network_id,
|
int parse_current_sdt( const t_transport_stream_id p_transport_stream_id, const t_original_network_id p_original_network_id,
|
||||||
t_satellite_position satellitePosition, freq_id_t freq)
|
t_satellite_position satellitePosition, freq_id_t freq)
|
||||||
{
|
{
|
||||||
|
extern bool sdt_wakeup;//zapit.cpp
|
||||||
unsigned char buffer[SDT_SIZE];
|
unsigned char buffer[SDT_SIZE];
|
||||||
|
|
||||||
/* position in buffer */
|
/* position in buffer */
|
||||||
@@ -437,6 +437,7 @@ int parse_current_sdt( const t_transport_stream_id p_transport_stream_id, const
|
|||||||
EIT_schedule_flag = buffer[pos + 2] & 0x02;
|
EIT_schedule_flag = buffer[pos + 2] & 0x02;
|
||||||
EIT_present_following_flag = buffer[pos + 2] & 0x01;
|
EIT_present_following_flag = buffer[pos + 2] & 0x01;
|
||||||
running_status = buffer [pos + 3] & 0xE0;
|
running_status = buffer [pos + 3] & 0xE0;
|
||||||
|
|
||||||
for (unsigned short i=0; i<sidpmt.size() && pat_ok == 1; i++){
|
for (unsigned short i=0; i<sidpmt.size() && pat_ok == 1; i++){
|
||||||
if(sidpmt[i].first == service_id && running_status != 32 ){
|
if(sidpmt[i].first == service_id && running_status != 32 ){
|
||||||
tmp_free_CA_mode = scan_parse_pmt( sidpmt[i].second, sidpmt[i].first );
|
tmp_free_CA_mode = scan_parse_pmt( sidpmt[i].second, sidpmt[i].first );
|
||||||
@@ -466,6 +467,9 @@ int parse_current_sdt( const t_transport_stream_id p_transport_stream_id, const
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
free_CA_mode = -1;
|
free_CA_mode = -1;
|
||||||
|
if(sdt_wakeup){
|
||||||
|
return -2;//break scan , transponder change
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
while (filter[4]++ != buffer[7]);
|
while (filter[4]++ != buffer[7]);
|
||||||
|
@@ -2489,7 +2489,8 @@ printf("[sdt monitor] wakeup...\n");
|
|||||||
|
|
||||||
ret = parse_current_sdt(transport_stream_id, original_network_id, satellitePosition, freq);
|
ret = parse_current_sdt(transport_stream_id, original_network_id, satellitePosition, freq);
|
||||||
if(ret){
|
if(ret){
|
||||||
printf("[sdt monitor] scanSDT broken ?\n");
|
if(ret == -1)
|
||||||
|
printf("[sdt monitor] scanSDT broken ?\n");
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
sdt_tp.insert(std::pair <transponder_id_t, bool> (tpid, true) );
|
sdt_tp.insert(std::pair <transponder_id_t, bool> (tpid, true) );
|
||||||
|
Reference in New Issue
Block a user