From 9d804e0ff03f7a08639a9ee4e6ff88adc0206b18 Mon Sep 17 00:00:00 2001 From: "[CST] Focus" Date: Thu, 19 Apr 2012 10:57:00 +0400 Subject: [PATCH] zapit/src/scansdt.cpp, zapit/src/scannit.cpp, zapit/src/scanbat.cpp: stop section reading after 5th repeated section --- src/zapit/src/scanbat.cpp | 8 ++++++-- src/zapit/src/scannit.cpp | 6 +++++- src/zapit/src/scansdt.cpp | 6 +++++- 3 files changed, 16 insertions(+), 4 deletions(-) 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++;