aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorghost <andreas.monzner@multimedia-labs.de>2010-10-30 13:14:17 +0200
committerghost <andreas.monzner@multimedia-labs.de>2010-10-30 13:16:04 +0200
commitfcb411367b6a2adfc8c2b986cdee6cd9bc3c169f (patch)
tree5bd9e334d6b4b64fe60c90a4c9b045f940b83b50 /lib
parent2c12949f63d76781a3ad187488560159b1fd13ac (diff)
downloadenigma2-fcb411367b6a2adfc8c2b986cdee6cd9bc3c169f.tar.gz
enigma2-fcb411367b6a2adfc8c2b986cdee6cd9bc3c169f.zip
stop PAT parsing after first valid entry for the given SID
Diffstat (limited to 'lib')
-rw-r--r--lib/dvb/pmt.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/lib/dvb/pmt.cpp b/lib/dvb/pmt.cpp
index ee89a3a4..ea4b96c5 100644
--- a/lib/dvb/pmt.cpp
+++ b/lib/dvb/pmt.cpp
@@ -133,11 +133,11 @@ void eDVBServicePMTHandler::PATready(int)
{
int pmtpid = -1;
std::vector<ProgramAssociationSection*>::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();
}