Opened 13 years ago

Closed 13 years ago

#3654 closed defect (fixed)

MythWeb listings exclude channels with identical callsigns

Reported by: anonymous Owned by: xris
Priority: minor Milestone: unknown
Component: mythweb Version: head
Severity: low Keywords: listings
Cc: Ticket locked: no

Description

When viewing the program listings in MythWeb, only the first occurrence of a channel will appear in the listings if there is more than one channel with a particular callsign. In the unpatched screenshot, only the first occurrence of the channel with the callsign of "SPORT" is listed, despite the fact that there are other channels with program info within the given time period. The cause of this issue appears to be changeset #13136.

After looking over the code it appears that the portion of the code causing the problem is within the modules/tv/includes/channels.php file that creates the $Callsigns array and keys it off of the channel callsign, even though callsigns are not unique in the channels table. The solution is to switch the key/value so that the callsign is the value and the chanid is the key instead of the other way around.

Attached are before/after screenshots and a patch to fix it.

Attachments (3)

mythweb_patched.png (34.7 KB) - added by anonymous 13 years ago.
mythweb_unpatched.png (16.8 KB) - added by anonymous 13 years ago.
channel_list.patch (1.4 KB) - added by anonymous 13 years ago.

Download all attachments as: .zip

Change History (9)

Changed 13 years ago by anonymous

Attachment: mythweb_patched.png added

Changed 13 years ago by anonymous

Attachment: mythweb_unpatched.png added

Changed 13 years ago by anonymous

Attachment: channel_list.patch added

comment:1 Changed 13 years ago by stuartm

Resolution: invalid
Status: newclosed

Not a bug.

Callsigns are used as a unique channel identifier in mythtv.

comment:2 Changed 13 years ago by anonymous

But... they aren't. I have 20 channels called "SPORT" and they are not the same channel. They have different service ids, different channel ids, and different channums.

comment:3 in reply to:  2 ; Changed 13 years ago by Nick Morrott <knowledgejunkie@…>

Replying to anonymous:

But... they aren't. I have 20 channels called "SPORT" and they are not the same channel. They have different service ids, different channel ids, and different channums.

If the channels are different, they *must* have different CALLSIGNS, as this is what the MythTV scheduler uses to determine which channels are 'equal' (same listings) and which are different (different listings).

chanid is the unique key for channels. Channels can have the same channum, same callsign and same name, but this should only be the case when when such channels carry the same station with the same listings.

If you configure channels with the same callsign and channum, you will only see one copy of the channel in the mythfrontend EPG and in MythWeb.

comment:4 Changed 13 years ago by danielk

Resolution: invalid
Status: closedreopened

Stuart M, Nick M,

We discussed this in mythtv-dev a couple months ago. While channels with the same callsign should mostly have the same programming, they can in fact have slight differences. What this means in practice is that in the EPG we group by callsign and channum. That is if the channum and callsign are the same we list them as one channel, if either is different we list them as separate channels. This means that if you do have multiple channels with the callsign "WABC", you need to give them different channum's if you want them listed separately, but if you want to just see one of the "WABC" channels you need to give them the same channum.

Mythweb should probably implement this same grouping strategy unless there is some compelling reason not to.

comment:5 in reply to:  3 Changed 13 years ago by anonymous

Replying to Nick Morrott <knowledgejunkie@gmail.com>:

Replying to anonymous:

But... they aren't. I have 20 channels called "SPORT" and they are not the same channel. They have different service ids, different channel ids, and different channums.

If the channels are different, they *must* have different CALLSIGNS, as this is what the MythTV scheduler uses to determine which channels are 'equal' (same listings) and which are different (different listings).

chanid is the unique key for channels. Channels can have the same channum, same callsign and same name, but this should only be the case when when such channels carry the same station with the same listings.

If you configure channels with the same callsign and channum, you will only see one copy of the channel in the mythfrontend EPG and in MythWeb.

The problem is that there are some channels that use generic callsigns such as "PPV" or "SPORT" where the listings are not the same. I'm not going out of my way to name all of these channels the same with an identical callsign, it's just how the channels are setup.

comment:6 Changed 13 years ago by xris

Resolution: fixed
Status: reopenedclosed

(In [14632]) group 'callsign' records by channum and callsign instead of just callsign, to better mimic frontend EPG behavior. closes #3654

Note: See TracTickets for help on using tickets.