From: ghost Date: Sat, 30 Oct 2010 11:14:17 +0000 (+0200) Subject: stop PAT parsing after first valid entry for the given SID X-Git-Url: http://code.vuplus.com/gitweb/?p=vuplus_dvbapp;a=commitdiff_plain;h=fcb411367b6a2adfc8c2b986cdee6cd9bc3c169f stop PAT parsing after first valid entry for the given SID --- diff --git a/lib/dvb/pmt.cpp b/lib/dvb/pmt.cpp index ee89a3a..ea4b96c 100644 --- a/lib/dvb/pmt.cpp +++ b/lib/dvb/pmt.cpp @@ -133,11 +133,11 @@ void eDVBServicePMTHandler::PATready(int) { int pmtpid = -1; std::vector::const_iterator i; - for (i = ptr->getSections().begin(); i != ptr->getSections().end(); ++i) + for (i = ptr->getSections().begin(); pmtpid == -1 && i != ptr->getSections().end(); ++i) { const ProgramAssociationSection &pat = **i; ProgramAssociationConstIterator program; - for (program = pat.getPrograms()->begin(); program != pat.getPrograms()->end(); ++program) + for (program = pat.getPrograms()->begin(); pmtpid == -1 && program != pat.getPrograms()->end(); ++program) if (eServiceID((*program)->getProgramNumber()) == m_reference.getServiceID()) pmtpid = (*program)->getProgramMapPid(); }