Project

General

Profile

Tvheadend dvb config revamp » History » Version 4

Andreas Smas, 2010-07-04 09:30

1 1 Andreas Smas
There are a few problems with how the TV adapter tab is implemented today
2
3 2 Andreas Smas
 * It cannot handle a large amount of services. With DVB-S you can easily hit >1k services. Ticket #100
4
 * It's hard (but possible via sorting) to see which services that is transmitted on which mux.
5
 * The DVB satconf solution is a bit cumbersome
6
 * Updates to the quality meter indicator refreshed the grid in a way that is bad UX. Ticket #108
7 1 Andreas Smas
8 4 Andreas Smas
Therefore the plan is to totally redesign how Tvheadend interacts with hardware.
9
This rewrite will not be configuration compatible and will therefore bump Tvheadend version to 3.x
10 1 Andreas Smas
11 4 Andreas Smas
= Device tree =
12 1 Andreas Smas
13 3 Andreas Smas
This tree will present the available devices to the user
14 2 Andreas Smas
15 1 Andreas Smas
{{{
16 3 Andreas Smas
  + DVB Adapter #1
17
  | + DVB-C Frontend
18
  |
19
  + DVB Adapter #2
20
  | + DVB-T Frontend
21
  | + DVB-C Frontend
22
  |
23
  + DVB Adapter #3
24
  | + DVB-S Frontend
25
  | | + Switchport 1
26
  | | + Switchport 2
27
  | | + Switchport 3
28
  | | + Switchport 4
29
  | | + Switchport n
30
  | + DVB-T Frontend
31
  |
32
  + V4L Adapter #1
33
    + Tuner
34
    + Composite
35
    + S-Video
36 1 Andreas Smas
}}}
37
38 3 Andreas Smas
Pressing on a node will present the user with information about the entry and a few configuration options as follows:
39 1 Andreas Smas
40 3 Andreas Smas
=== DVB / ATSC Adapter ===
41
==== Info ====
42
Various information about the hardware
43
==== Config ====
44
 * Enable/Disable adapter
45 1 Andreas Smas
46
47 3 Andreas Smas
=== DVB-C / DVB-T / ATSC Frontends ===
48
==== Info ====
49
TBD
50
==== Config ====
51
 * Network the frontend is attached to
52
 * If this device may update network configuration
53 1 Andreas Smas
54 3 Andreas Smas
55
=== DVB-S Frontends ===
56
==== Info ====
57
TBD
58
==== Config ====
59
 * Number of Diseqc switchports
60
 or 
61
 * Network the frontend is attached to
62
 * LnB configuration
63
64
=== Switchport ===
65
==== Info ====
66
TBD
67
==== Config ====
68
 * Network the switchport is attached to
69
 * LnB configuration
70
 
71
72
=== V4L adpater ===
73
==== Info ====
74
Various information about the hardware
75
==== Config ====
76
 * Enable/Disable adapter
77
 
78
79
=== V4L frontends ===
80
==== Info ====
81
Various information about the hardware
82
==== Config ====
83 1 Andreas Smas
 * TV system type (PAL, NTSC, etc) (for tuners)
84
 * Network the frontend is attached to
85 4 Andreas Smas
86
87
= Device mapper =
88
89
Upon startup Tvheadend will try to map the available hardware to the adapters as good as it can. 
90
In Tvheadend 2.x it was required that the stored configuration about the adapter exactly matched the plugged in hardware.
91
92
Instead Tvheadend 3.x will try to map hardware to configured devices according to the following ruleset:
93
94
 * device type AND device name AND bus-id AND device path 
95
 * device type AND device name AND bus-id
96
 * device type AND device name
97
 * device type AND bus-id
98
 * device type
99
100
||device path||Path in filesystem||/dev/dvb/...||
101
||bus-id||Hardware address||Bus 001 Device 004: ID 0ccd:0038 TerraTec Electronic GmbH Cinergy T2 DVB-T Receiver
102
||device-name||Name of device(vendor) as reported via DVB API||ST STV0297 DVB-C||
103
||device-type||Frontend type(s)||DVB-T, DVB-C, etc||
104
105
It will start will all devices and try rule #1 then all devices that could not be mapped and rule #2, and so on.
106
107
This will mitigate problems when USB controllers probe devices in different order, etc
108
109
Also you can swap your DVB hardware to a new one (different vendor) and still have tvheadend map it correctly.