Opened 4 years ago

Last modified 11 months ago

#12330 assigned Bug Report - General

channel scan ignores subsequent channels with same generated callsign

Reported by: mythtv@… Owned by: Karl Egly
Priority: minor Milestone: 29.2
Component: MythTV - DVB Version: Master Head
Severity: medium Keywords:
Cc: Ticket locked: no

Description

In the UK on Freesat DVB-S there are channels which have different service IDs but the same name (what the code calls serviceShortName). The logic in in libs/libmythtv/channelscan/channelscan_sm.cpp sets the callsign, which mythtv requires to be unique, to the serviceShortName, therefore further channels with the same name are ignored and not picked up in the scan.

The attached patch demonstrates this by changing the callsign to be the catenation of the serviceShortName with service id.

Eg on transport 2047 there are two channels called "BBC ALBA"

MariaDB [mythconverg]> select transportid,frequency,polarity,symbolrate,mplexid from dtv_multiplex where transportid=2047; +-------------+-----------+----------+------------+---------+ | transportid | frequency | polarity | symbolrate | mplexid | +-------------+-----------+----------+------------+---------+ | 2047 | 10802750 | h | 22000000 | 973 | +-------------+-----------+----------+------------+---------+

Before:

MariaDB [mythconverg]> select callsign,serviceid,mplexid from channel where mplexid=973; +----------------+-----------+---------+ | callsign | serviceid | mplexid | +----------------+-----------+---------+ | ETV2 | 6407 | 973 | | BBC One Scot | 6421 | 973 | | BBC Two Scot | 6422 | 973 | | BBC ALBA | 6423 | 973 | | BBC One N West | 6441 | 973 | | BBC One Yorks | 6451 | 973 | | BBC One S East | 6461 | 973 | | BBC One NE&C | 6471 | 973 | +----------------+-----------+---------+ 8 rows in set (0.00 sec)

After:

MariaDB [mythconverg]> select callsign,serviceid,mplexid from channel where mplexid=973; +---------------------+-----------+---------+ | callsign | serviceid | mplexid | +---------------------+-----------+---------+ | ETV2-6407 | 6407 | 973 | | BBC One Scot-6421 | 6421 | 973 | | BBC Two Scot-6422 | 6422 | 973 | | BBC ALBA-6423 | 6423 | 973 | | BBC ALBA-6424 | 6424 | 973 | | BBC One N West-6441 | 6441 | 973 | | BBC One Yorks-6451 | 6451 | 973 | | BBC One S East-6461 | 6461 | 973 | | BBC One NE&C-6471 | 6471 | 973 | +---------------------+-----------+---------+ 9 rows in set (0.00 sec)

I'm not suggesting this patch be merged, just providing it so as to explain what the problem is.

This is an issue for me becasue the tables which map bouquets and regions to logical channel numbers often seem to reference serviceids which mythtv doesn't have in the channels table because they are the 2nd or subsequent occurances of serviceShortName the scanner has encountered.

thanks,

James.

Attachments (1)

myth.patch (1.5 KB) - added by mythtv@… 4 years ago.
Patch which causes missing channels to be found.

Download all attachments as: .zip

Change History (8)

Changed 4 years ago by mythtv@…

Attachment: myth.patch added

Patch which causes missing channels to be found.

comment:1 Changed 4 years ago by Karl Egly

Owner: set to Karl Egly
Status: newassigned

Sounds like some code expects the callsign/service name to be unique, which is wrong IIUIC.

comment:2 Changed 4 years ago by Stuart Auchterlonie

Yes it really is wrong, we should be using the netid/transportid/serviceid tuple as the indication of uniqueness

comment:3 Changed 3 years ago by Stuart Auchterlonie

Milestone: unknown0.29
Version: UnspecifiedMaster Head

comment:4 Changed 3 years ago by Stuart Auchterlonie

Milestone: 0.2929.0

Milestone renamed

comment:5 Changed 13 months ago by Stuart Auchterlonie

Milestone: 29.029.1

comment:6 Changed 11 months ago by Stuart Auchterlonie

Milestone: 29.10.28.2

Moving remaining open tickets to 0.28.2 milestone

comment:7 Changed 11 months ago by Stuart Auchterlonie

Milestone: 0.28.229.2

Moving remaining open tickets to 29.2 milestone

Note: See TracTickets for help on using tickets.