Ticket #2699: t2699_2.diff
File t2699_2.diff, 2.9 KB (added by , 17 years ago) |
---|
-
libs/libmythtv/dtvsignalmonitor.cpp
old new 44 44 networkID(0), transportID(0), 45 45 detectedNetworkID(0), detectedTransportID(0), 46 46 programNumber(-1), 47 last_pat_crc(-1), 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 last_pat_crc = -1; 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 last_pat_crc = -1; 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 last_pat_crc = -1; 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 last_pat_crc = pat->CRC(); 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 (last_pat_crc != pat->CRC()) 302 { 303 last_pat_crc = pat->CRC(); 304 QString errStr = QString("Program #%1 not found in PAT!") 305 .arg(programNumber); 306 VERBOSE(VB_IMPORTANT, errStr<<endl<<pat->toString()); 307 } 299 308 if (pat->ProgramCount() == 1) 300 309 { 301 310 VERBOSE(VB_IMPORTANT, "But there is only one program " … … 303 312 SetProgramNumber(pat->ProgramNumber(0)); 304 313 AddFlags(kDTVSigMon_PATMatch); 305 314 GetStreamData()->AddListeningPID(pat->ProgramPID(0)); 315 last_pat_crc == pat->CRC(); 306 316 } 307 317 } 308 318 } -
libs/libmythtv/dtvsignalmonitor.h
old new 137 137 uint detectedTransportID; 138 138 // MPEG/DVB/ATSC tuning info 139 139 int programNumber; 140 // CRC of the last seen PAT 141 int64_t last_pat_crc; 140 142 141 143 QString error; 142 144 };