@@ -236,6 +236,8 @@ void ChannelScanSM::SetAnalog(bool is_analog)
236
236
237
237
void ChannelScanSM::HandleAllGood (void )
238
238
{
239
+ QMutexLocker locker (&lock);
240
+
239
241
QString cur_chan = (*current).FriendlyName ;
240
242
QStringList list = cur_chan.split (" " , QString::SkipEmptyParts);
241
243
QString freqid = (list.size () >= 2 ) ? list[1 ] : cur_chan;
@@ -341,6 +343,8 @@ bool ChannelScanSM::ScanExistingTransports(uint sourceid, bool follow_nit)
341
343
342
344
void ChannelScanSM::HandlePAT (const ProgramAssociationTable *pat)
343
345
{
346
+ QMutexLocker locker (&lock);
347
+
344
348
LOG (VB_CHANSCAN, LOG_INFO, LOC +
345
349
QString (" Got a Program Association Table for %1" )
346
350
.arg ((*current).FriendlyName ) + " \n " + pat->toString ());
@@ -356,6 +360,8 @@ void ChannelScanSM::HandlePAT(const ProgramAssociationTable *pat)
356
360
357
361
void ChannelScanSM::HandlePMT (uint, const ProgramMapTable *pmt)
358
362
{
363
+ QMutexLocker locker (&lock);
364
+
359
365
LOG (VB_CHANSCAN, LOG_INFO, LOC + QString (" Got a Program Map Table for %1" )
360
366
.arg ((*current).FriendlyName ) + " \n " + pmt->toString ());
361
367
@@ -365,6 +371,8 @@ void ChannelScanSM::HandlePMT(uint, const ProgramMapTable *pmt)
365
371
366
372
void ChannelScanSM::HandleVCT (uint, const VirtualChannelTable *vct)
367
373
{
374
+ QMutexLocker locker (&lock);
375
+
368
376
LOG (VB_CHANSCAN, LOG_INFO, LOC +
369
377
QString (" Got a Virtual Channel Table for %1" )
370
378
.arg ((*current).FriendlyName ) + " \n " + vct->toString ());
@@ -382,6 +390,8 @@ void ChannelScanSM::HandleVCT(uint, const VirtualChannelTable *vct)
382
390
383
391
void ChannelScanSM::HandleMGT (const MasterGuideTable *mgt)
384
392
{
393
+ QMutexLocker locker (&lock);
394
+
385
395
LOG (VB_CHANSCAN, LOG_INFO, LOC + QString (" Got the Master Guide for %1" )
386
396
.arg ((*current).FriendlyName ) + " \n " + mgt->toString ());
387
397
@@ -390,6 +400,8 @@ void ChannelScanSM::HandleMGT(const MasterGuideTable *mgt)
390
400
391
401
void ChannelScanSM::HandleSDT (uint tsid, const ServiceDescriptionTable *sdt)
392
402
{
403
+ QMutexLocker locker (&lock);
404
+
393
405
LOG (VB_CHANSCAN, LOG_INFO, LOC +
394
406
QString (" Got a Service Description Table for %1" )
395
407
.arg ((*current).FriendlyName ) + " \n " + sdt->toString ());
@@ -433,6 +445,8 @@ void ChannelScanSM::HandleSDT(uint tsid, const ServiceDescriptionTable *sdt)
433
445
434
446
void ChannelScanSM::HandleNIT (const NetworkInformationTable *nit)
435
447
{
448
+ QMutexLocker locker (&lock);
449
+
436
450
LOG (VB_CHANSCAN, LOG_INFO, LOC +
437
451
QString (" Got a Network Information Table for %1" )
438
452
.arg ((*current).FriendlyName ) + " \n " + nit->toString ());
@@ -442,6 +456,8 @@ void ChannelScanSM::HandleNIT(const NetworkInformationTable *nit)
442
456
443
457
void ChannelScanSM::HandleBAT (const BouquetAssociationTable *bat)
444
458
{
459
+ QMutexLocker locker (&lock);
460
+
445
461
LOG (VB_CHANSCAN, LOG_INFO, LOC + " Got a Bouquet Association Table\n " +
446
462
bat->toString ());
447
463
@@ -483,6 +499,8 @@ void ChannelScanSM::HandleBAT(const BouquetAssociationTable *bat)
483
499
484
500
void ChannelScanSM::HandleSDTo (uint tsid, const ServiceDescriptionTable *sdt)
485
501
{
502
+ QMutexLocker locker (&lock);
503
+
486
504
LOG (VB_CHANSCAN, LOG_INFO, LOC +
487
505
" Got a Service Description Table (other)\n " + sdt->toString ());
488
506
@@ -513,6 +531,8 @@ void ChannelScanSM::HandleSDTo(uint tsid, const ServiceDescriptionTable *sdt)
513
531
514
532
void ChannelScanSM::HandleEncryptionStatus (uint pnum, bool encrypted)
515
533
{
534
+ QMutexLocker locker (&lock);
535
+
516
536
currentEncryptionStatus[pnum] = encrypted ? kEncEncrypted : kEncDecrypted ;
517
537
518
538
if (kEncDecrypted == currentEncryptionStatus[pnum])
@@ -1534,6 +1554,8 @@ bool ChannelScanSM::HasTimedOut(void)
1534
1554
*/
1535
1555
void ChannelScanSM::HandleActiveScan (void )
1536
1556
{
1557
+ QMutexLocker locker (&lock);
1558
+
1537
1559
bool do_post_insertion = waitingForTables;
1538
1560
1539
1561
if (!HasTimedOut ())
@@ -1576,7 +1598,8 @@ void ChannelScanSM::HandleActiveScan(void)
1576
1598
QString name = QString (" TransportID %1" ).arg (it.key () & 0xffff );
1577
1599
TransportScanItem item (sourceID, name, *it, signalTimeout);
1578
1600
LOG (VB_CHANSCAN, LOG_INFO, LOC + " Adding " + name + " - " +
1579
- item.tuning .toString ());
1601
+ item.
1602
+ tuning.toString ());
1580
1603
scanTransports.push_back (item);
1581
1604
ts_scanned.insert (it.key ());
1582
1605
}
0 commit comments