Ticket #2756: scan_input_fix.diff
File scan_input_fix.diff, 3.8 KB (added by , 17 years ago) |
---|
-
siscan.cpp
81 81 * HandleDVBDBInsertion() and HandleMPEGDBInsertion() are similar. 82 82 */ 83 83 84 /** \fn SIScan::SIScan(QString,ChannelBase*,int,uint,uint )84 /** \fn SIScan::SIScan(QString,ChannelBase*,int,uint,uint,int) 85 85 */ 86 86 SIScan::SIScan(QString _cardtype, ChannelBase* _channel, int _sourceID, 87 uint signal_timeout, uint channel_timeout )87 uint signal_timeout, uint channel_timeout, int _cardID) 88 88 : // Set in constructor 89 89 channel(_channel), 90 90 signalMonitor(SignalMonitor::Init(_cardtype, -1, _channel)), … … 92 92 scanMode(IDLE), 93 93 signalTimeout(signal_timeout), 94 94 channelTimeout(channel_timeout), 95 cardID(_cardID), 95 96 // Settable 96 97 ignoreAudioOnlyServices(false), 97 98 ignoreDataServices(false), … … 688 689 #endif // USING_DVB 689 690 690 691 // TODO we should actually use the input the user specifies... 691 QString inputname = ChannelUtil::GetInputName( item.SourceID);692 QString inputname = ChannelUtil::GetInputName(cardID,item.SourceID); 692 693 693 694 if (!GetDTVChannel()) 694 695 return false; -
siscan.h
45 45 Q_OBJECT 46 46 public: 47 47 SIScan(QString _cardtype, ChannelBase* _channel, int _sourceID, 48 uint signal_timeout, uint channel_timeout );48 uint signal_timeout, uint channel_timeout, int _cardID); 49 49 ~SIScan(); 50 50 51 51 void StartScanner(void); … … 180 180 SCANMODE scanMode; 181 181 uint signalTimeout; 182 182 uint channelTimeout; 183 int cardID; 183 184 184 185 // Settable 185 186 bool ignoreAudioOnlyServices; -
scanwizardscanner.cpp
522 522 } 523 523 524 524 scanner = new SIScan(card_type, channel, sourceid, 525 signal_timeout, channel_timeout );525 signal_timeout, channel_timeout, pcardid); 526 526 527 527 scanner->SetForceUpdate(true); 528 528 -
channelutil.h
198 198 */ 199 199 static QString GetServiceName(int chanid); 200 200 static int GetSourceID(int mplexid); 201 static QString GetInputName(int sourceid);201 static QString GetInputName(int cardid, int sourceid); 202 202 static int GetInputID(int sourceid, int cardid); 203 203 static QString GetDTVPrivateType(uint networkid, const QString &key, 204 204 const QString sitype = "dvb"); -
channelutil.cpp
699 699 return -1; 700 700 } 701 701 702 /** \fn ChannelUtil::GetInputName(int )702 /** \fn ChannelUtil::GetInputName(int, int) 703 703 * \brief Returns input name for a card input 704 * NOTE: This is BROKEN, it does not specify which card the input is on.705 704 */ 706 QString ChannelUtil::GetInputName(int source_id)705 QString ChannelUtil::GetInputName(int card_id, int source_id) 707 706 { 708 707 QString inputname = QString::null; 709 708 710 709 MSqlQuery query(MSqlQuery::InitCon()); 711 710 query.prepare("SELECT inputname " 712 711 "FROM cardinput " 713 "WHERE sourceid = :SOURCEID"); 712 "WHERE sourceid = :SOURCEID AND " 713 " cardid = :CARDID"); 714 714 query.bindValue(":SOURCEID", source_id); 715 query.bindValue(":CARDID", card_id); 715 716 716 717 if (query.exec() && query.isActive() && query.size() > 0) 717 718 {