Ticket #1847: inputs.2.diff
File inputs.2.diff, 2.1 KB (added by , 18 years ago) |
---|
-
libs/libmythtv/dvbchannel.h
109 109 int cardnum; ///< DVB Card number 110 110 bool has_crc_bug; ///< true iff our driver munges PMT 111 111 int nextInputID; ///< Signal an input change 112 QString nextInputName; ///< Contains name of the new input or null 112 113 }; 113 114 114 115 #endif -
libs/libmythtv/dvbchannel.cpp
89 89 bzero(&info, sizeof(info)); 90 90 has_crc_bug = CardUtil::HasDVBCRCBug(aCardNum); 91 91 sigmon_delay = CardUtil::GetMinSignalMonitoringDelay(aCardNum); 92 93 nextInputName = QString::null; 92 94 } 93 95 94 96 DVBChannel::~DVBChannel() … … 260 262 return true; 261 263 } 262 264 265 if (nextInputName.isNull()) 266 { 267 QString inputName; 268 if (!CheckChannel(chan, inputName)) 269 { 270 VERBOSE(VB_IMPORTANT, LOC + "CheckChannel failed. " + 271 QString("Please verify channel '%1'").arg(chan) + 272 " in the \"mythtv-setup\" Channel Editor."); 273 return false; 274 } 275 276 // If CheckChannel filled in the inputName then we need to 277 // change inputs and return, since the act of changing 278 // inputs will change the channel as well. 279 if (!inputName.isEmpty()) 280 { 281 nextInputName = inputName; 282 return ChannelBase::SwitchToInput(inputName, chan); 283 } 284 } 285 263 286 if (GetChannelOptions(chan) == false) 264 287 { 265 288 VERBOSE(VB_IMPORTANT, LOC_ERR + "Failed to get channel options for " + … … 285 308 QString("channel '%1'.").arg(chan)); 286 309 287 310 currentInputID = nextInputID; 311 nextInputName = QString::null; 288 312 inputs[currentInputID]->startChanNum = curchannelname; 289 313 290 314 return true;