Ticket #1502: myth.diff
File myth.diff, 2.4 KB (added by , 18 years ago) |
---|
-
libs/libmythtv/dvbsignalmonitor.h
48 48 int GetDVBCardNum(void) const; 49 49 50 50 bool SupportsTSMonitoring(void); 51 52 DVBChannel *GetDVBChannel(void) const { return(channel); }; 53 void SetDVBChannel(DVBChannel *_channel) { channel = _channel; }; 54 51 55 protected: 52 56 SignalMonitorValue signalToNoise; 53 57 SignalMonitorValue bitErrorRate; … … 58 62 pthread_t table_monitor_thread; 59 63 60 64 FilterMap filters; ///< PID filters for table monitoring 65 DVBChannel *channel; 61 66 }; 62 67 63 68 #endif // DVBSIGNALMONITOR_H -
libs/libmythtv/dvbchannel.cpp
633 633 "Setting Frontend tuning parameters failed."); 634 634 return false; 635 635 } 636 637 // Special case for Nova-T. Should use configurable timeout. 638 if (GetFrontendName() == "DiBcom 3000P/M-C DVB-T") { 639 usleep(2000000); 640 } 636 641 wait_for_backend(fd_frontend, 5 /* msec */); 637 642 638 643 prev_tuning.params = params; -
libs/libmythtv/dvbsignalmonitor.cpp
83 83 QString msg = QString("DVBSignalMonitor(%1)::constructor(%2,%3): %4") 84 84 .arg(channel->GetDevice()).arg(capturecardnum); 85 85 86 SetDVBChannel(_channel); 87 86 88 #define DVB_IO(WHAT,WHERE,ERRMSG,FLAG) \ 87 89 if (ioctl(_channel->GetFd(), WHAT, WHERE)) \ 88 90 VERBOSE(VB_IMPORTANT, msg.arg(ERRMSG).arg(strerror(errno))); \ … … 542 544 uint32_t ber = 0, ublocks = 0; 543 545 fe_status_t status; 544 546 bzero(&status, sizeof(status)); 547 DVBChannel *channel = GetDVBChannel(); 545 548 546 549 // Get info from card 547 550 int fd_frontend = channel->GetFd(); 548 551 ioctl(fd_frontend, FE_READ_STATUS, &status); 552 // Special case for Nova-T. Should use configurable timeout. 553 if (channel->GetFrontendName() == "DiBcom 3000P/M-C DVB-T") { 554 usleep(2000000); 555 } 556 549 557 if (HasFlags(kDTVSigMon_WaitForSig)) 550 558 ioctl(fd_frontend, FE_READ_SIGNAL_STRENGTH, &sig); 551 559 if (HasFlags(kDVBSigMon_WaitForSNR))