Ticket #9247 (closed Bug Report: Fixed)
Opened 2 years ago
Last modified 15 months ago
Tuner value not obeyed when using manual IP setting for HDHR
| Reported by: | wagnerrp | Owned by: | silicondust |
|---|---|---|---|
| Priority: | minor | Milestone: | |
| Component: | MythTV - HDHomeRun | Version: | 0.24 |
| Severity: | medium | Keywords: | |
| Cc: | Ticket locked: | no |
Description (last modified by wagnerrp) (diff)
When accessing the HDHomeRun using a manual IP address rather than autodetection, the second tuner is not accessible. Setting MythTV to use the second tuner will be ignored, and it will access the first anyway. If MythTV is already using the first tuner, the existing recording will be silently disconnected.
Attachments
Change History
comment:1 Changed 2 years ago by wagnerrp
- Status changed from new to assigned
- Description modified (diff)
- Summary changed from Access to both tuners on HDHR fails when using manual IP to Tuner value not obeyed when using manual IP setting for HDHR
comment:2 Changed 2 years ago by silicondust
Acknowledging the receipt of this bug report - will investigate.
Related - MythTV assumes 2 tuners per device whereas some HDHR models have 1 tuner (T1) or 3 tuners (CC).
comment:3 Changed 2 years ago by robertm
- Status changed from assigned to infoneeded
Attaching what I think is the fix here. I don't own an HDHomeRun so I need someone to test this.
In the lib resync that broke this, the following code was removed:
https://github.com/MythTV/mythtv/commit/baf36e4bab565413c8ca3a4738fc7cf51e0e8a4f#L10L159
Basically, hdhomerun_device_create_from_str_ip stopped even trying to parse the tuner number, and is just hardcoding the tuner number to 0, no matter what is passed to it. Meanwhile, in hdhomerun_device_create_from_str_device_id the tuner number is parsed properly:
if (sscanf(device_str, "%lx-%u", &device_id, &tuner) != 2) {
I have no idea if this was an intentional change, but it is still present in the current libhdhomerun code upstream.
The patch isn't 100% perfect, but I think it should work properly. I just need someone to test it... then we can figure out what patch we can get upstream.
comment:4 Changed 2 years ago by Github
HDHomeRun: Fix capture failures when HDHR is defined by IP.
Around a year ago, SiliconDust? modified the hdhomerun_device_create_from_str_ip to hardcode tuner 0 rather than parse it from the device string. This appears to have been a simple oversight, since the equivalent string parsing function by device ID still does parse for the tuner number.
This restores the logic to parse for the tuner number rather than just unequivocally use tuner 0.
Branch: master Changeset: 0b88b99c23c4c5152fb986163fe31d628ac60173
comment:5 Changed 2 years ago by robertm
- Status changed from infoneeded to closed
- Resolution set to Fixed
