diff --git a/src/zapit/src/scanbat.cpp b/src/zapit/src/scanbat.cpp index b5dafe34d..18a3dd9a8 100644 --- a/src/zapit/src/scanbat.cpp +++ b/src/zapit/src/scanbat.cpp @@ -124,8 +124,12 @@ bool CBat::Read() #ifdef DEBUG_BAT printf("[BAT] section %X last %X -> %s\n", secnum, buffer[7], secdone[secnum] ? "skip" : "use"); #endif - if(secdone[secnum]) - continue; + if(secdone[secnum]) { + secdone[secnum]++; + if(secdone[secnum] >= 5) + break; + continue; + } secdone[secnum] = 1; sectotal++; diff --git a/src/zapit/src/scannit.cpp b/src/zapit/src/scannit.cpp index 8d848c421..fdc0eb439 100644 --- a/src/zapit/src/scannit.cpp +++ b/src/zapit/src/scannit.cpp @@ -135,8 +135,12 @@ bool CNit::Read() #ifdef DEBUG_NIT printf("[NIT] section %X last %X -> %s\n", secnum, buffer[7], secdone[nit_index][secnum] ? "skip" : "use"); #endif - if(secdone[nit_index][secnum]) // mark sec XX done + if(secdone[nit_index][secnum]) { // mark sec XX done + secdone[nit_index][secnum]++; + if(secdone[nit_index][secnum] >= 5) + break; continue; + } secdone[nit_index][secnum] = 1; sectotal[nit_index]++; diff --git a/src/zapit/src/scansdt.cpp b/src/zapit/src/scansdt.cpp index 59ca6123a..1a80d23e1 100644 --- a/src/zapit/src/scansdt.cpp +++ b/src/zapit/src/scansdt.cpp @@ -120,8 +120,12 @@ _repeat: #ifdef DEBUG_SDT printf("[SDT] section %X last %X tsid 0x%x onid 0x%x -> %s\n", buffer[6], buffer[7], transport_stream_id, original_network_id, secdone[secnum] ? "skip" : "use"); #endif - if(secdone[secnum]) + if(secdone[secnum]) { + secdone[secnum]++; + if(secdone[secnum] >= 5) + break; continue; + } secdone[secnum] = 1; sectotal++;