Opened 5 years ago

Closed 2 years ago

#13463 closed Bug Report - General (Trac EOL)

Incorrect classification of data channels as TV channels

Reported by: Klaas de Waal Owned by: Klaas de Waal
Priority: minor Milestone: 32.0
Component: MythTV - Mythtv-setup Version: Master Head
Severity: medium Keywords: DVB SDT service_type Echostar
Cc: Stuart Auchterlonie Ticket locked: no


Some DVB satellite channels are incorrectly classified as TV channels. For example, channel "GFD Service" on Astra-1 19.2E is added to the list of TV channels even when in mythtv-setup/Channel Editor/Channel? Scan/Desired? Services only "TV" is selected.

Analysis shows that "GFD Service" has service_type 0x96. This is not a TV service but a "user defined" value as defined in "Table 89:Service type coding", page 83, DVB Bluebook A038, Feb 2019.

In MythTV the service_type evaluation is done in dvbdescriptors.h, function IsDTV. In addition to the service_type values defined in Table 89 there are also a number of user defined values classified as TV.
These additional values are used in the Dish/Echostar/Nimiq? satellite channels to identify TV channels, as described in ticket #2372. The service type 0x96 used by "GFD Service" is one of those additional values.

As I understand it, the user defined service_type values should be preceded by a private_data_specifier that identifies the user, as defined in

In the aforementioned Astra-1 streams the private_data_specifier is present and has the value 0x2 which corresponds to BskyB.

The correct solution, as I see it, is to use the Dish/Echostar/Nimiq? service types only when they have been preceded by the correct private data specifier. For this I need to know if there are private data specifiers present and what the values are. If somebody knows this please tell me!

Another possibility is to use the original network ID to identify Dish/Echostar/Nimiq? services. This is implicitly suggested in comment 5 of ticket #2372 where the table dtv_privatetypes is mentioned. This table contains a network ID and a list of service types. However, I have not found code that does actually use this table. Also, given the rather static nature of these numbers (ticket #2372 was closed 11 years ago) a hard-coded implementation might be the best solution.

Comments are welcome!

Change History (2)

comment:1 Changed 4 years ago by Klaas de Waal

Milestone: needs_triage32.0

comment:2 Changed 2 years ago by Stuart Auchterlonie

Resolution: Trac EOL
Status: assignedclosed

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.

[1] -

Note: See TracTickets for help on using tickets.