From fcb411367b6a2adfc8c2b986cdee6cd9bc3c169f Mon Sep 17 00:00:00 2001 From: ghost Date: Sat, 30 Oct 2010 13:14:17 +0200 Subject: [PATCH] stop PAT parsing after first valid entry for the given SID --- lib/dvb/pmt.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) 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(); } -- 2.7.4