Opened 10 years ago
Closed 17 months ago
#12081 closed Bug Report - General (Trac EOL)
Setting a program to record from Program Schedule does not highlight/change status
Reported by: | Owned by: | stuartm | |
---|---|---|---|
Priority: | minor | Milestone: | 29.2 |
Component: | MythTV - Scheduling | Version: | Master Head |
Severity: | medium | Keywords: | |
Cc: | Ticket locked: | no |
Description
Believe behavior changed between commits 687b906 and f19d9f8 (Jan 28,2014). Continues with unpatched/not dirty compile at commit 2c71895d17.
'Manage Recordings'->'Schedule Recordings'->'Program Guide'
A program selected to record with the 'r' key no longer highlights. The status continues to report 'Not Recording'. However checking 'Upcoming Recordings' finds the program is set to record and indeed records. Closing and returning to the Program Guide or restarting mythfrontend does not produce highlighting. Using EIT over the air schedule from an atsc broadcast stream.
Attachments (1)
Change History (30)
comment:1 Changed 10 years ago by
comment:2 Changed 10 years ago by
Component: | MythTV - Recording → MythTV - Scheduling |
---|---|
Owner: | set to gigem |
comment:4 Changed 10 years ago by
Comments in commit 40d1fe8fdd02 state: IsSameTimeslot()
becomes
IsSameTitleStartTimeAndChannel()
.
In mythtv/libs/libmyth/programinfo.cpp:682 IsSameTimeslot()
is instead
replace by a new function IsSameProgramAndStartTime
At least in this commit, line 682 is the only place this new function seems to be called.
I replaced IsSameProgramAndStartTime
with IsSameTitleStartTimeAndChannel()
in commit 40d1fe8fdd02 i.e. line 682 is now:
if
(!IsSameTitleStartTimeAndChannel(**it))
This one line change has restored previous behavior to my build. Highlighting of recordings previously set up exists in the 'Program Guide'. Shows newly selected in the 'Program Guide' for recording highlight as expected.
I have run on commit 40d1fe8fdd02 modified as above for 48 hours. No negative impacts have yet been detected by this change. I have advanced to running commit a31b85a5dd (March 25, 2014) with this one line change.
comment:5 Changed 10 years ago by
Milestone: | unknown → 0.28 |
---|---|
Owner: | changed from gigem to stuartm |
Status: | new → accepted |
comment:6 Changed 10 years ago by
Resolution: | → fixed |
---|---|
Status: | accepted → closed |
comment:8 Changed 10 years ago by
At least for me, this problem is not resolved by recent comitts. I removed my patches for #11160 and #11476 (libmythtv.140128.patch) and ran a clean build on comitt a0a32ef688:
mythbackend version: (detached from a0a32ef) [v0.28-pre-1041-ga0a32ef]
Only when I make the one line edit of programinfo.cpp as in comment #4 does expected highlighting behavior occur. The clean build above results in the behavior of the original bug report. I would be happy to provide any information I can.
comment:9 Changed 10 years ago by
I'm assuming that you have multiple overlapping sources, or the same channel appearing multiple times in your guide data? Can you check that the program data for two channels with the same callsign really is identical (same programid, subtitle, description)? I suspect that it's not and that this is the cause of the problem.
comment:10 Changed 10 years ago by
diff --git a/mythtv/libs/libmyth/programinfo.cpp b/mythtv/libs/libmyth/programinfo.cpp index 06cc019..be5d653 100644 --- a/mythtv/libs/libmyth/programinfo.cpp +++ b/mythtv/libs/libmyth/programinfo.cpp @@ -2116,12 +2116,20 @@ bool ProgramInfo::IsSameProgram(const ProgramInfo& other) const /** * \brief Match same program, with same starttime (channel may be different) + * + * Channels with the SAME CALLSIGN are considered IDENTICAL and + * therefore any programs showing with the same starttime are + * also considered to be exactly the same! (See #12081) + * + * If the programs are different, then the channels MUST have different + * callsigns + * * \param other ProgramInfo to compare this one with. * \return true if this program is the same and shares same start time as "other" program. */ bool ProgramInfo::IsSameProgramAndStartTime(const ProgramInfo& other) const { - if (!IsSameProgram(other)) + if (!IsSameChannel() || !IsSameProgram(other)) return false; if (startts == other.startts) return true;
You could also try the above patch, taking careful note of the comment about channels sharing the same callsign having to be absolutely identical in content.
comment:11 Changed 10 years ago by
select chanid, channum from channel; +--------+---------+ | chanid | channum | +--------+---------+ | 1111 | 11_1 | | 1112 | 11_2 | | 1113 | 11_3 | | 1171 | 17_1 | | 1172 | 17_2 | | 1041 | 4_1 | | 1042 | 4_2 | | 1043 | 4_3 | | 1221 | 22_1 | | 1222 | 22_2 | | 1281 | 28_1 | | 1403 | 40_3 | | 1401 | 40_1 | | 1402 | 40_2 | | 1301 | 30_1 | | 1302 | 30_2 | | 1303 | 30_3 | | 1304 | 30_4 | | 1661 | 66_1 | | 1051 | 5_1 | | 1052 | 5_2 | | 1501 | 50_1 | | 1502 | 50_2 | | 1461 | 46-1 | +--------+---------+ 24 rows in set (0.00 sec) The above matches visual inspection of the 'Program Guide'. Over the air EIT information is used to populate. Note that at least three channels do not provide EIT data and are listed as 'Unknown' in the Guide. Another list 'TBA' (To Be Announced) multiple times. I would be willing to delete these channels if requested.
I will try the patch within the hour (by 1630Z). If the highlighting problem is cured, I WILL post here, otherwise the problem persists. If necessary, let me have specifics as to what information I might provide. (Correction to Comment 8: "#11739 and #11476")
comment:12 Changed 10 years ago by
Opps ??
programinfo.cpp:2132:24: error: no matching function for call to ‘ProgramInfo::IsSameChannel() const’
if (!IsSameChannel() || !IsSameProgram(other))
programinfo.cpp:2132:24: note: candidate is:
In file included from programinfo.cpp:30:0:
programinfo.h:315:10: note: bool ProgramInfo::IsSameChannel(const ProgramInfo&) const
bool IsSameChannel(const ProgramInfo &other) const
;
programinfo.h:315:10: note: candidate expects 1 argument, 0 provided
comment:13 Changed 10 years ago by
diff --git a/mythtv/libs/libmyth/programinfo.cpp b/mythtv/libs/libmyth/programinfo.cpp index 06cc019..44bd2f4 100644 --- a/mythtv/libs/libmyth/programinfo.cpp +++ b/mythtv/libs/libmyth/programinfo.cpp @@ -2116,12 +2116,20 @@ bool ProgramInfo::IsSameProgram(const ProgramInfo& other) const /** * \brief Match same program, with same starttime (channel may be different) + * + * Channels with the SAME CALLSIGN are considered IDENTICAL and + * therefore any programs showing with the same starttime are + * also considered to be exactly the same! (See #12081) + * + * If the programs are different, then the channels MUST have different + * callsigns + * * \param other ProgramInfo to compare this one with. * \return true if this program is the same and shares same start time as "other" program. */ bool ProgramInfo::IsSameProgramAndStartTime(const ProgramInfo& other) const { - if (!IsSameProgram(other)) + if (!IsSameChannel(other) || !IsSameProgram(other)) return false; if (startts == other.startts) return true;
comment:15 Changed 10 years ago by
Channels 40_3 40_1 are both WUVC-DT
I changed the callsign of one of the stations and restarted mythbackend compiled with the supplied patch:
update channel set callsign='WUVC-DD' where chanid=1403;
Highlighting behavior continues as noted in original bug report. Perhaps this callsign change was not enough? Only the one line fix in Comment 4 works for me (but I have no idea what that might break).
173812 Mar 27 12:23 /data/packages/mythtvgit/mythtv/libs/libmyth/programinfo.cpp
select chanid, channum, freqid, callsign, name from channel; +--------+---------+--------+----------+--------------------------+ | chanid | channum | freqid | callsign | name | +--------+---------+--------+----------+--------------------------+ | 1111 | 11_1 | 11 | WTVD-D1 | WTVD-D1 | | 1112 | 11_2 | 11 | WTVD-D2 | WTVD-D2 | | 1113 | 11_3 | 11 | WTVD-D3 | WTVD-D3 | | 1171 | 17_1 | 17 | NBC17HD | NBC17HD | | 1172 | 17_2 | 17 | NBC17SD | NBC17SD | | 1041 | 4_1 | 25 | UNC-TV | UNC-TV | | 1042 | 4_2 | 25 | UNC-KD | UNC-KD | | 1043 | 4_3 | 25 | UNC-EX | UNC-EX | | 1221 | 22_1 | 27 | WLFL-HD | WLFL-HD | | 1222 | 22_2 | 27 | Country | Country | | 1281 | 28_1 | 28 | WRDC-HD | WRDC-HD | | 1403 | 40_3 | 38 | WUVC-DT | Bounce TV | | 1401 | 40_1 | 38 | WUVC-DT | Univision | | 1402 | 40_2 | 38 | WTNC-LP | Telefutura | | 1301 | 30_1 | 42 | WRAY-SD | WRAY Standard Television | | 1302 | 30_2 | 42 | WRAY-HD | WRAY High Definition | | 1303 | 30_3 | 42 | WRAYSD2 | WRAY-SD2 | | 1304 | 30_4 | 42 | WRAYSD3 | La Fuente | | 1661 | 66_1 | 45 | WWIW | WWIW | | 1051 | 5_1 | 48 | WRAL_HD | WRAL_HD | | 1052 | 5_2 | 48 | WRAL-2 | WRAL-2 | | 1501 | 50_1 | 49 | WRAZ-HD | WRAZ-HD | | 1502 | 50_2 | 49 | MeTV | MeTV | | 1461 | 46-1 | 46 | 1461 | |
Unless I have made a mistake, the patched programinfo.cpp continues to behave as stated in the original bug report. Thank you for your time and persistence.
comment:16 Changed 10 years ago by
Resolution: | fixed |
---|---|
Status: | closed → new |
Changed 10 years ago by
Attachment: | 12081_possible_fix.diff added |
---|
comment:17 Changed 10 years ago by
Is scheduler.cpp patch incomplete in 12081_possible_fix.diff (line 1030)?
$ patch -Np1 < /data/wrkbin/computer/12081_possible_fix.diff
patching file mythtv/libs/libmyth/programinfo.cpp
patching file mythtv/libs/libmyth/programinfo.h
patching file mythtv/programs/mythbackend/scheduler.cpp
patch unexpectedly ends in middle of line
Hunk #1
succeeded at 1024 with fuzz 1.
comment:18 Changed 10 years ago by
-rw-r--r--. 1 kdedev users 175482 Mar 27 14:03 mythtv/libs/libmyth/programinfo.cpp -rw-r--r--. 1 kdedev users 34444 Mar 27 14:03 mythtv/libs/libmyth/programinfo.h -rw-r--r--. 1 kdedev users 180420 Mar 27 14:03 mythtv/programs/mythbackend/scheduler.cpp
Although not perfectly clean, the patch seems to be installed. However the original symptoms regarding highlighting described in the original bug report persist. I am double checking that I have not made a mistake.
comment:19 Changed 10 years ago by
If that patch doesn't work, then I'm completely mystified. The only differences between IsSameTitleStartTimeAndChannel?() and IsSameProgramAndStartTime?() following that patch is that it checks that more than just the title is identical, but conversely it's actually a less restrictive check in that it doesn't require the program to be on the same channel.
So the check should only fail if the the program which is scheduled to record doesn't match the one in the guide, which shouldn't be possible given your channel table. It's conceivable, albeit unlikely, only if you had a mix of sources with two different sets of mis-matching guide data.
comment:20 Changed 10 years ago by
Thank you for your time. I can find no mistake on my end. Not to be a twit, but the one line change in comment 4 works for me. It seems to restore the behavior which last worked for me with commit a0104e0552 (Dec 5 20:36:29 2013). Commit 40d1fe8fdd broke highlighting for me. Perhaps figuring out why if (!IsSameTitleStartTimeAndChannel(**it))
works for me (and if it breaks something else) might yield some clues as to your course of action.
Regardless of the path you choose to take on this, I thank you for your time. If I can be of any help in this or other matters, let me know.
comment:21 Changed 9 years ago by
Resolution: | → fixed |
---|---|
Status: | new → closed |
comment:22 Changed 9 years ago by
Resolution: | fixed |
---|---|
Status: | closed → new |
comment:23 Changed 9 years ago by
Issue not fixed for me. I updated to a clean master head at commit befdc4d4b9 (Apr 29,2014) and symptoms remain as in original submission.
Comment #4 one line change continues to resolve this issue for me.
I am at your service.
comment:26 Changed 6 years ago by
Milestone: | 29.0 → 29.1 |
---|
comment:27 Changed 6 years ago by
Milestone: | 29.1 → 0.28.2 |
---|
Moving remaining open tickets to 0.28.2 milestone
comment:28 Changed 6 years ago by
Milestone: | 0.28.2 → 29.2 |
---|
Moving remaining open tickets to 29.2 milestone
comment:29 Changed 17 months ago by
Resolution: | → Trac EOL |
---|---|
Status: | new → closed |
We have moved all bug tracking to github [1]
If you continue to have this issue, please open a new issue at github, referencing this ticket.
If I have used 'git bisect' correctly, commit a0104e0552 (Dec 5 20:36:29 2013) is the last commit for which highlighting works.
Commit 40d1fe8fdd (Dec 6 11:10:25 2013; stuartm) broke highlighting for me as noted initially.
Thank you for your time --RoyBoy626