Opened 9 years ago

Closed 5 years ago

#12330 closed Bug Report - General (Fixed)

channel scan ignores subsequent channels with same generated callsign

Reported by: mythtv@… Owned by: Klaas de Waal
Priority: minor Milestone: 31.0
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@… 9 years ago.
Patch which causes missing channels to be found.

Download all attachments as: .zip

Change History (10)

Changed 9 years ago by mythtv@…

Attachment: myth.patch added

Patch which causes missing channels to be found.

comment:1 Changed 9 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 9 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 8 years ago by Stuart Auchterlonie

Milestone: unknown0.29
Version: UnspecifiedMaster Head

comment:4 Changed 8 years ago by Stuart Auchterlonie

Milestone: 0.2929.0

Milestone renamed

comment:5 Changed 6 years ago by Stuart Auchterlonie

Milestone: 29.029.1

comment:6 Changed 6 years ago by Stuart Auchterlonie

Milestone: 29.10.28.2

Moving remaining open tickets to 0.28.2 milestone

comment:7 Changed 6 years ago by Stuart Auchterlonie

Milestone: 0.28.229.2

Moving remaining open tickets to 29.2 milestone

comment:8 Changed 5 years ago by Klaas de Waal

Milestone: 29.231.0
Owner: changed from Karl Egly to Klaas de Waal
Status: assignedaccepted

comment:9 Changed 5 years ago by Klaas de Waal

Resolution: Fixed
Status: acceptedclosed

This problem is not present anymore in the current master.

A scan of transport 2047 on Astra-2 28.2E gives the following result:

qpsk:10802750:ETV2:6407:32:2:6407:2047=2047:dvb
qpsk:10802750:BBC Scotland:6420:32:2:6420:2047=2047:dvb
qpsk:10802750:BBC One Scot:6421:32:2:6421:2047=2047:dvb
qpsk:10802750:BBC ALBA:6423:32:2:6423:2047=2047:dvb
qpsk:10802750:BBC ALBA:6424:32:2:6424:2047=2047:dvb
qpsk:10802750:BBC One N West:6441:32:2:6441:2047=2047:dvb
qpsk:10802750:BBC One Yorks:6451:32:2:6451:2047=2047:dvb
qpsk:10802750:BBC One S East:6461:32:2:6461:2047=2047:dvb
qpsk:10802750:BBC One NE&C:6471:32:2:6471:2047=2047:dvb

The two BBC ALBA channels are both present in the program guide with channel numbers 6423 and 6424.

Please note that for scheduling purposes the callsign is used and not the channel number so if you want to record a program that is present on both BBC ALBA channels it is unpredictable from which channel the program will be recorded.

However, at this moment only channel 6423 appears to have EIT program guide information.

Note: See TracTickets for help on using tickets.