Opened 6 years ago

Closed 6 years ago

Last modified 6 years ago

#11989 closed Bug Report - General (fixed)

OSD, EPG Position & Live TV file metadata does not change along with the channel, in LiveTV

Reported by: John Bergqvist <John@…> Owned by: jpoet
Priority: major Milestone: 0.27.1
Component: MythTV - General Version: 0.27-fixes
Severity: medium Keywords: LiveTV, Channel, Change, OSD, EPG
Cc: Ticket locked: no

Description

Whenever I change a channel (from whatever channel LiveTV starts with) in LiveTV (this bug does not affect recordings) the Channel changes, but the OSD display/program info and EPG position itself does not change.

i.e. if I changed channels from BBC One to BBC Two, the playback itself would change, but the OSD would still show the program info for what's currently on BBC One, which will itself change (still on BBC One's programs) when BBC One moves onto a next program.

Secondly, the Position in the Program Guide would also remain on the starting channel.

Finally the new LiveTV recording file that would be created upon the channel change also assumes it's for the starting channel, i.e. so the metadata within MythWeb would be that of the program on the starting channel, not the channel i'd just changed to.

Change History (8)

comment:1 Changed 6 years ago by Jim Stichnoth

Owner: set to Jim Stichnoth
Status: newaccepted

As clarified by stuartm, this behavior seems to be limited to channel changes within the same multiplex.

comment:2 Changed 6 years ago by warpme@…

comment:3 Changed 6 years ago by warpme@…

It looks like following patch solves issue. Only lightly tested....

diff -Naur mythtv-0.27-build-old/mythtv/libs/libmythtv/tv_rec.cpp mythtv-0.27-build-new/mythtv/libs/libmythtv/tv_rec.cpp
--- mythtv-0.27-build-old/mythtv/libs/libmythtv/tv_rec.cpp	2014-01-11 22:03:15.000000000 +0100
+++ mythtv-0.27-build-new/mythtv/libs/libmythtv/tv_rec.cpp	2014-01-11 22:07:04.523642305 +0100
@@ -3860,6 +3860,8 @@
         }
         else if (request.progNum >= 0)
         {
+            channel->SetChannelByString(request.channel);
+
             if (mpeg)
                 mpeg->SetDesiredProgram(request.progNum);
         }

comment:4 Changed 6 years ago by Jim Stichnoth

Owner: changed from Jim Stichnoth to jpoet
Status: acceptedassigned

Warpme's patch seems to fix the problem for me. Since I don't know my way around that part of the code, hopefully jpoet can decide if this is the right solution.

comment:5 Changed 6 years ago by John Poet <jpoet@…>

Resolution: fixed
Status: assignedclosed

In 5208a3a5512a4059b3cb59f4da65503003f3348f/mythtv:

In [50e5f4501] I failed to account for a possible path through
TuningFrequency?(), and removed a necessary call to SetChannelByString?().

I big thank you to warpme for identifying the problem and solution.

Fixes #11989

comment:6 Changed 6 years ago by John Poet <jpoet@…>

In 8307dd4990189d65e3b99039d77d84f6a8c81a96/mythtv:

In [50e5f4501] I failed to account for a possible path through
TuningFrequency?(), and removed a necessary call to SetChannelByString?().

I big thank you to warpme for identifying the problem and solution.

Fixes #11989

(cherry picked from commit 5208a3a5512a4059b3cb59f4da65503003f3348f)

comment:7 Changed 6 years ago by stevegoodey@…

Yes, thanks for fixing this guys. :-)

comment:8 Changed 6 years ago by Raymond Wagner

Milestone: unknown0.27.1
Note: See TracTickets for help on using tickets.