Ticket #2609: ip.patch

File ip.patch, 2.0 KB (added by jim@…, 17 years ago)
  • libs/libmythtv/videosource.cpp

     
    949949        setHelpText(QObject::tr("Device ID from the back of "
    950950                                "the HDHomeRun unit.  You may use "
    951951                                "'FFFFFFFF' if there is only one unit "
    952                                 "on your your network."));
     952                                "on your your network.  Alternatively, "
     953                                "you may enter the IP address "
     954                                "of the HDHomeRun unit."));
    953955    }
    954956};
    955957
  • libs/libmythtv/hdhrchannel.cpp

     
    3434      _device_id(0),            _device_ip(0),
    3535      _tuner(tuner),            _lock(true)
    3636{
     37    /* Valid device ID? */
    3738    bool valid;
    3839    _device_id = device.toUInt(&valid, 16);
    3940
    40     if (!valid || !hdhomerun_discover_validate_device_id(_device_id))
     41    if (valid && hdhomerun_discover_validate_device_id(_device_id))
     42        return;
     43
     44    /* Otherwise, is it a valid IP address? */
     45    struct in_addr address;
     46    if (inet_aton(device, &address))
    4147    {
    42         VERBOSE(VB_IMPORTANT, LOC_ERR + QString("Invalid DeviceID '%1'")
    43                 .arg(device));
     48        _device_ip = ntohl(address.s_addr);
     49        return;
     50    }
    4451
    45         _device_id = HDHOMERUN_DEVICE_ID_WILDCARD;
    46     }
     52    /* Invalid, use wildcard device ID. */
     53    VERBOSE(VB_IMPORTANT, LOC_ERR + QString("Invalid DeviceID '%1'")
     54            .arg(device));
     55
     56    _device_id = HDHOMERUN_DEVICE_ID_WILDCARD;
    4757}
    4858
    4959HDHRChannel::~HDHRChannel(void)
     
    7686
    7787bool HDHRChannel::FindDevice(void)
    7888{
    79     _device_ip = 0;
     89    if (_device_ip)
     90    {
     91        /* IP provided directly by user */
     92        return true;
     93    }
    8094
    8195    /* Create socket. */
    8296    struct hdhomerun_discover_sock_t *discoverSock = NULL;