Ticket #2699: t2699.diff
File t2699.diff, 2.8 KB (added by , 17 years ago) |
---|
-
libs/libmythtv/dtvsignalmonitor.cpp
44 44 networkID(0), transportID(0), 45 45 detectedNetworkID(0), detectedTransportID(0), 46 46 programNumber(-1), 47 invalid_pat_count(0), 47 48 error("") 48 49 { 49 50 } … … 185 186 void DTVSignalMonitor::SetChannel(int major, int minor) 186 187 { 187 188 DBG_SM(QString("SetChannel(%1, %2)").arg(major).arg(minor), ""); 189 invalid_pat_count = 0; 188 190 if (GetATSCStreamData() && (majorChannel != major || minorChannel != minor)) 189 191 { 190 192 RemoveFlags(kDTVSigMon_PATSeen | kDTVSigMon_PATMatch | … … 201 203 void DTVSignalMonitor::SetProgramNumber(int progNum) 202 204 { 203 205 DBG_SM(QString("SetProgramNumber(%1)").arg(progNum), ""); 206 invalid_pat_count = 0; 204 207 if (programNumber != progNum) 205 208 { 206 209 RemoveFlags(kDTVSigMon_PMTSeen | kDTVSigMon_PMTMatch | … … 216 219 { 217 220 DBG_SM(QString("SetDVBService(transport_id: %1, network_id: %2, " 218 221 "service_id: %3)").arg(tsid).arg(netid).arg(serviceid), ""); 222 invalid_pat_count = 0; 219 223 220 224 if (netid == networkID && tsid == transportID && 221 225 serviceid == programNumber) … … 280 284 { 281 285 AddFlags(kDTVSigMon_PATMatch); 282 286 GetStreamData()->AddListeningPID(pmt_pid); 287 invalid_pat_count = 0; 283 288 return; 284 289 } 285 290 … … 293 298 GetStreamData()->SetVersionPAT(tsid, -1,0); 294 299 // END HACK HACK HACK 295 300 296 QString errStr = QString("Program #%1 not found in PAT!") 297 .arg(programNumber); 298 VERBOSE(VB_IMPORTANT, errStr<<endl<<pat->toString()<<endl); 301 if ((invalid_pat_count++) < 5) 302 { 303 QString errStr = QString("Program #%1 not found in PAT!") 304 .arg(programNumber); 305 VERBOSE(VB_IMPORTANT, errStr<<endl<<pat->toString()); 306 } 299 307 if (pat->ProgramCount() == 1) 300 308 { 301 309 VERBOSE(VB_IMPORTANT, "But there is only one program " … … 303 311 SetProgramNumber(pat->ProgramNumber(0)); 304 312 AddFlags(kDTVSigMon_PATMatch); 305 313 GetStreamData()->AddListeningPID(pat->ProgramPID(0)); 314 invalid_pat_count = 0; 306 315 } 307 316 } 308 317 } -
libs/libmythtv/dtvsignalmonitor.h
137 137 uint detectedTransportID; 138 138 // MPEG/DVB/ATSC tuning info 139 139 int programNumber; 140 // count to rate limit "Program not found in PAT" 141 uint invalid_pat_count; 140 142 141 143 QString error; 142 144 };