Skip to content

Commit

Permalink
HDHomeRun: Create the right number of tuners for the found device.
Browse files Browse the repository at this point in the history
Patch by Nick Kelsey from SiliconDust.  Since some HDHRs are now single or triple tuners, the assumption that there are two tuners is false.  Create a device for each tuner which is actually available on the queried unit.
  • Loading branch information
Robert McNamara committed Jun 19, 2011
1 parent 1ae98c8 commit 3ffe4d2
Show file tree
Hide file tree
Showing 3 changed files with 12 additions and 17 deletions.
10 changes: 6 additions & 4 deletions mythtv/libs/libmythtv/cardutil.cpp
Expand Up @@ -301,7 +301,7 @@ QStringList CardUtil::ProbeVideoDevices(const QString &rawtype)
return devs;
}

if (result == 50)
if (result >= max_count)
{
VERBOSE(VB_IMPORTANT, "CardUtil::ProbeVideoDevices: "
"Warning: may be > 50 HDHomerun devices");
Expand All @@ -317,9 +317,11 @@ QStringList CardUtil::ProbeVideoDevices(const QString &rawtype)
.arg((result_list[i].ip_addr>> 8) & 0xFF)
.arg((result_list[i].ip_addr>> 0) & 0xFF);

QString hdhrdev = id.toUpper() + " " + ip;

devs.push_back(hdhrdev);
for (int tuner = 0; tuner < result_list[i].tuner_count; tuner++)
{
QString hdhrdev = id.toUpper() + " " + ip + " " + QString("%1").arg(tuner);
devs.push_back(hdhrdev);
}
}
}
#endif // USING_HDHOMERUN
Expand Down
17 changes: 5 additions & 12 deletions mythtv/libs/libmythtv/videosource.cpp
Expand Up @@ -1337,16 +1337,14 @@ HDHomeRunTunerIndex::HDHomeRunTunerIndex()
{
setLabel(QObject::tr("Tuner"));
setEnabled(false);
addSelection("0");
addSelection("1");
connect(this, SIGNAL(valueChanged( const QString&)),
this, SLOT( UpdateDevices(const QString&)));
_oldValue = "";
};

void HDHomeRunTunerIndex::setEnabled(bool e)
{
TransComboBoxSetting::setEnabled(e);
TransLineEditSetting::setEnabled(e);
if (e) {
if (!_oldValue.isEmpty())
setValue(_oldValue);
Expand Down Expand Up @@ -1838,22 +1836,17 @@ void HDHomeRunConfigurationGroup::FillDeviceList(void)
{
QString dev = *it;
QStringList devinfo = dev.split(" ");
QString devid = devinfo.first();
QString devip = devinfo.last();
QString devid = devinfo.at(0);
QString devip = devinfo.at(1);
QString devtuner = devinfo.at(2);

HDHomeRunDevice tmpdevice;
tmpdevice.deviceid = devid;
tmpdevice.desc = CardUtil::GetHDHRdesc(devid);
tmpdevice.cardip = devip;
tmpdevice.inuse = false;
tmpdevice.discovered = true;

tmpdevice.cardtuner = "0";
tmpdevice.mythdeviceid =
tmpdevice.deviceid + "-" + tmpdevice.cardtuner;
devicelist[tmpdevice.mythdeviceid] = tmpdevice;

tmpdevice.cardtuner = "1";
tmpdevice.cardtuner = devtuner;
tmpdevice.mythdeviceid =
tmpdevice.deviceid + "-" + tmpdevice.cardtuner;
devicelist[tmpdevice.mythdeviceid] = tmpdevice;
Expand Down
2 changes: 1 addition & 1 deletion mythtv/libs/libmythtv/videosource.h
Expand Up @@ -857,7 +857,7 @@ class HDHomeRunIP : public TransLineEditSetting
QString _oldValue;
};

class HDHomeRunTunerIndex : public TransComboBoxSetting
class HDHomeRunTunerIndex : public TransLineEditSetting
{
Q_OBJECT

Expand Down

0 comments on commit 3ffe4d2

Please sign in to comment.