diff --git a/mythtv/libs/libmythtv/dtvchannel.cpp b/mythtv/libs/libmythtv/dtvchannel.cpp
index 3d30f85..626a1be 100644
a
|
b
|
bool DTVChannel::SetChannelByString(const QString &channum) |
280 | 280 | } |
281 | 281 | |
282 | 282 | bool ok = true; |
283 | | if ((*it)->externalChanger.isEmpty()) |
| 283 | if ((*it)->name.contains("composite", Qt::CaseInsensitive) || |
| 284 | (*it)->name.contains("s-video", Qt::CaseInsensitive)) |
284 | 285 | { |
285 | | if ((*it)->name.contains("composite", Qt::CaseInsensitive) || |
286 | | (*it)->name.contains("s-video", Qt::CaseInsensitive)) |
| 286 | if ((*it)->externalChanger.isEmpty()) |
287 | 287 | { |
288 | 288 | LOG(VB_GENERAL, LOG_WARNING, loc + "You have not set " |
289 | 289 | "an external channel changing" |
290 | 290 | "\n\t\t\tscript for a composite or s-video " |
291 | 291 | "input. Channel changing will do nothing."); |
292 | 292 | } |
293 | | else if (isFrequency && Tune(frequency, "")) |
| 293 | } |
| 294 | else if (isFrequency && Tune(frequency, "")) |
| 295 | { |
| 296 | } |
| 297 | else if (isFrequency) |
| 298 | { |
| 299 | // Initialize basic the tuning parameters |
| 300 | DTVMultiplex tuning; |
| 301 | if (!mplexid || !tuning.FillFromDB(tunerType, mplexid)) |
294 | 302 | { |
| 303 | LOG(VB_GENERAL, LOG_ERR, loc + |
| 304 | "Failed to initialize multiplex options"); |
| 305 | ok = false; |
295 | 306 | } |
296 | | else if (isFrequency) |
| 307 | else |
297 | 308 | { |
298 | | // Initialize basic the tuning parameters |
299 | | DTVMultiplex tuning; |
300 | | if (!mplexid || !tuning.FillFromDB(tunerType, mplexid)) |
301 | | { |
302 | | LOG(VB_GENERAL, LOG_ERR, loc + |
303 | | "Failed to initialize multiplex options"); |
304 | | ok = false; |
305 | | } |
306 | | else |
307 | | { |
308 | | // Try to fix any problems with the multiplex |
309 | | CheckOptions(tuning); |
| 309 | // Try to fix any problems with the multiplex |
| 310 | CheckOptions(tuning); |
310 | 311 | |
311 | | // Tune to proper multiplex |
312 | | if (!Tune(tuning, (*it)->name)) |
313 | | { |
314 | | LOG(VB_GENERAL, LOG_ERR, loc + "Tuning to frequency."); |
| 312 | // Tune to proper multiplex |
| 313 | if (!Tune(tuning, (*it)->name)) |
| 314 | { |
| 315 | LOG(VB_GENERAL, LOG_ERR, loc + "Tuning to frequency."); |
315 | 316 | |
316 | | ClearDTVInfo(); |
317 | | ok = false; |
318 | | } |
| 317 | ClearDTVInfo(); |
| 318 | ok = false; |
319 | 319 | } |
320 | 320 | } |
321 | | else |
322 | | { |
323 | | ok = Tune(freqid, finetune); |
324 | | } |
| 321 | } |
| 322 | else |
| 323 | { |
| 324 | ok = Tune(freqid, finetune); |
325 | 325 | } |
326 | 326 | |
327 | 327 | LOG(VB_CHANNEL, LOG_INFO, loc + ((ok) ? "success" : "failure")); |
diff --git a/mythtv/libs/libmythtv/hdhrchannel.h b/mythtv/libs/libmythtv/hdhrchannel.h
index 85f801c..937e267 100644
a
|
b
|
class HDHRChannel : public DTVChannel |
37 | 37 | { return _tuner_types; } |
38 | 38 | virtual bool IsMaster(void) const |
39 | 39 | { return _master == NULL; } |
| 40 | virtual bool IsExternalChannelChangeSupported(void) { return true; } |
40 | 41 | |
41 | 42 | // Sets |
42 | 43 | virtual bool SetChannelByString(const QString &channum); |
diff --git a/mythtv/libs/libmythtv/hdhrsignalmonitor.cpp b/mythtv/libs/libmythtv/hdhrsignalmonitor.cpp
index a080882..c40c64e 100644
a
|
b
|
void HDHRSignalMonitor::UpdateValues(void) |
91 | 91 | if (!running || exit) |
92 | 92 | return; |
93 | 93 | |
| 94 | SignalMonitor::UpdateValues(); |
| 95 | |
| 96 | { |
| 97 | QMutexLocker locker(&statusLock); |
| 98 | if (!scriptStatus.IsGood()) |
| 99 | return; |
| 100 | } |
| 101 | |
94 | 102 | if (streamHandlerStarted) |
95 | 103 | { |
96 | 104 | EmitStatus(); |