Opened 10 years ago

Closed 10 years ago

#6756 closed defect (fixed)

DVB-S Scanning Problems

Reported by: stuartm Owned by: Janne Grunau
Priority: major Milestone: 0.22
Component: MythTV - Channel Scanner Version: head
Severity: medium Keywords:
Cc: Stuart Auchterlonie Ticket locked: no

Description (last modified by stuartm)

  1. Only scans the starting frequency and not others in the NIT with a full scan
  1. Inserts a dozen identical copies of the multiplex into the dtv_multiplex table
  1. Doesn't always insert discovered channels when 'Insert All' selected (I could only get it to insert channels for the first mplex)
  1. Update timestamp is not populated

Change History (15)

comment:1 Changed 10 years ago by stuartm

Description: modified (diff)

Fix spacing

comment:2 Changed 10 years ago by stuartm

Insertion bug seems fairly simple - "Trying to bind a value to placeholder :NETWORKID without occurrence in the prepared query. Ignoring it."

comment:3 Changed 10 years ago by stuartm

Not as simple as I thought, the query does contain :NETWORKID

http://mythtv.pastebin.ca/1504771

comment:4 Changed 10 years ago by stuartm

The number of times the multiplex is inserted is determined by the number of channels. So for a multiplex with 4 channels the multiplex information is duplicated 4 times.

comment:5 Changed 10 years ago by stuartm

(In [21006]) Remove trail space from placeholder name which was breaking the insertion of the NetworkID for DVB scans. Refs #6756

comment:6 Changed 10 years ago by stuartm

Priority: criticalmajor
Severity: highmedium

Problems 2 and 3 are now fixed. 1 and 4 remain.

Scanning is painfully slow. Default scanning timeouts could be as much as 1/10th their current values or even eliminated entirely, a full scan could take over an hour.

comment:7 Changed 10 years ago by Dibblah

As far as I recall, DVB-s scan timeouts are as they are to cope with rotors. Of course, no current user appears to have a rotor, so we don't even have confirmation that they even still work with trunk.

comment:8 Changed 10 years ago by Simon Kenyon <simon@…>

could the timeouts be made conditional on the presence of a rotor in the configuration of the LNB?

comment:9 Changed 10 years ago by Stuart Auchterlonie

Cc: Stuart Auchterlonie added

comment:10 Changed 10 years ago by Janne Grunau

(In [21024]) ignore encrypted channels if the input is free to air only

This is done just before the insertion update of the database so that no rescan is necessary if encrypted channels are wanted Refs #6756

comment:11 Changed 10 years ago by Janne Grunau

Owner: changed from danielk to Janne Grunau
Status: newaccepted

I can't reproduce "4. Update timestamp is not populated"

comment:12 Changed 10 years ago by Janne Grunau

(In [21362]) change data structure holding scanning information from QMap to QList<QPair>

There no real advantage of using a map over a list. In the following commits the transport_scan_items_t underlaying container will change from QList to a real double linked list. This is needed for extending the list of transports to scan during the scan since a reallocation during appending to a QList invalidates all iterators. We can't use std::list iterators as keys of the map.

Refs #6756

comment:13 Changed 10 years ago by Janne Grunau

(In [21363]) use std::list as container for transport_scan_items_t, Refs #6756

needed for extending the scan transport list during the scan for example with transports from the NIT. removes operator< from transport_scan_items_it_t since std::list has no random access iterators

comment:14 Changed 10 years ago by Janne Grunau

(In [21364]) add DVB delivery system Parsing to DTVMultiplex, Refs #6756

comment:15 Changed 10 years ago by Janne Grunau

Resolution: fixed
Status: acceptedclosed

(In [21365]) Adds transports from the NIT to the scan list for "Full scan (tuned)". Closes #6756

Fixes a regression in the new scanner and enhances the behaviour since the old channel scanner would only insert new multiplexes. Now those new transports are also scanned for channels.

Note: See TracTickets for help on using tickets.