Project

General

Profile

Tvheadend dvb config revamp » History » Version 15

Andreas Smas, 2012-12-05 10:14

1 1 Andreas Smas
There are a few problems with how the TV adapter tab is implemented today
2
3 10 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
* If a DVB adapter is renamed by the kernel after boot (/dev/dvb/adapterX -> /dev/dvb/adapterY) the user must do a lot of work
8
* Inter-adapter dependencies are not handled (adapters with both analog and digital receivers, etc)
9 1 Andreas Smas
10
Therefore the plan is to totally redesign how Tvheadend interacts with hardware.
11 4 Andreas Smas
12 10 Andreas Smas
h1. Device tree
13
14
15 3 Andreas Smas
This tree will present the available devices to the user
16 2 Andreas Smas
17 10 Andreas Smas
<pre>
18 3 Andreas Smas
  + DVB Adapter #1
19
  | + DVB-C Frontend
20
  |
21
  + DVB Adapter #2
22
  | + DVB-T Frontend
23
  | + DVB-C Frontend
24
  |
25
  + DVB Adapter #3
26
  | + DVB-S Frontend
27
  | | + Switchport 1
28
  | | + Switchport 2
29 1 Andreas Smas
  | | + Switchport 3
30 3 Andreas Smas
  | | + Switchport 4
31 1 Andreas Smas
  | | + Switchport n
32
  | + DVB-T Frontend
33
  |
34
  + V4L Adapter #1
35
    + Tuner
36
    + Composite
37
    + S-Video
38 10 Andreas Smas
</pre>
39 1 Andreas Smas
40
Pressing on a node will present the user with information about the entry and a few configuration options as follows:
41
42 10 Andreas Smas
43 13 Andreas Smas
h2. DVB / ATSC Adapter
44 12 Andreas Smas
45 13 Andreas Smas
h3. Info part
46 12 Andreas Smas
47 1 Andreas Smas
Various information about the hardware
48
49 13 Andreas Smas
h3. Config part
50 1 Andreas Smas
51 10 Andreas Smas
* Enable/Disable adapter
52
53 1 Andreas Smas
54 10 Andreas Smas
55 13 Andreas Smas
h2. DVB-C / DVB-T / ATSC Frontends
56 1 Andreas Smas
57 13 Andreas Smas
h3. Info part
58 12 Andreas Smas
59 1 Andreas Smas
TBD
60
61 13 Andreas Smas
h3. Config part
62 1 Andreas Smas
63 10 Andreas Smas
* Network the frontend is attached to
64 1 Andreas Smas
* If this device may update network configuration
65 10 Andreas Smas
66
67 11 Andreas Smas
68 13 Andreas Smas
h2. DVB-S Frontends
69 1 Andreas Smas
70 13 Andreas Smas
h3. Info part
71 12 Andreas Smas
72 3 Andreas Smas
TBD
73 10 Andreas Smas
74 13 Andreas Smas
h3. Config part
75 10 Andreas Smas
76
* Number of Diseqc switchports
77
 or 
78
* Network the frontend is attached to
79
* If this device may update network configuration
80 1 Andreas Smas
* LnB configuration
81 10 Andreas Smas
82 1 Andreas Smas
83 13 Andreas Smas
h2. Switchport
84 11 Andreas Smas
85 13 Andreas Smas
h3. Info part
86 12 Andreas Smas
87 3 Andreas Smas
TBD
88 1 Andreas Smas
89 13 Andreas Smas
h3. Config part
90 10 Andreas Smas
91
* Network the switchport is attached to
92
* If this device may update network configuration
93 3 Andreas Smas
* LnB configuration
94
 
95 1 Andreas Smas
96
97 13 Andreas Smas
h2. V4L adpater
98 1 Andreas Smas
99 13 Andreas Smas
h3. Info part
100 12 Andreas Smas
101 1 Andreas Smas
Various information about the hardware
102 10 Andreas Smas
103 13 Andreas Smas
h3. Config part
104 10 Andreas Smas
105 1 Andreas Smas
* Enable/Disable adapter
106
 
107 10 Andreas Smas
108 1 Andreas Smas
109 13 Andreas Smas
h2. V4L frontends
110 12 Andreas Smas
111 13 Andreas Smas
h3. Info part
112 11 Andreas Smas
113 1 Andreas Smas
Various information about the hardware
114 4 Andreas Smas
115 13 Andreas Smas
h3. Config
116 4 Andreas Smas
117 10 Andreas Smas
* TV system type (PAL, NTSC, etc) (for tuners)
118 1 Andreas Smas
* Network the frontend is attached to
119 10 Andreas Smas
120 14 Andreas Smas
h1. DVB Networks
121 1 Andreas Smas
122 14 Andreas Smas
<pre>
123
  + DVB Network #1 (Comhem Stockholm)   <- network
124
  | + 290 MHz                           <- mux
125
  |   + SVT 1                           <- service
126
  |   | + Video MPEG2 768*576i          <- elementary stream
127
  |   | | Audio MPEG2 Stereo
128
  |   + SVT 2
129
  |   | + Video MPEG2 768*576i
130
  |   | | Audio MPEG2 Stereo
131
  | + 298 MHz
132
  |   |...
133
</pre>
134 1 Andreas Smas
135 15 Andreas Smas
The DVB networks can then be attached to one or more adapters (DVB-C and DVB-S case)
136
137
For DVB-S adapters a network could be attached directly to the adapter or to a switchport, etc. This depends a bit on how the adapter is configured.
138 14 Andreas Smas
139
140 4 Andreas Smas
h1. Device mapper
141
142
143
Upon startup Tvheadend will try to map the available hardware to the adapters as good as it can. 
144
145 10 Andreas Smas
* device type AND device name AND bus-id AND device path 
146
* device type AND device name AND bus-id
147
* device type AND device name
148
* device type AND bus-id
149 6 Andreas Smas
* device type
150
151 1 Andreas Smas
||device path||Path in filesystem||/dev/dvb/...||
152 10 Andreas Smas
||bus-id||Hardware address||Bus 001 Device 004: ID 0ccd:0038 [[TerraTec]] Electronic GmbH Cinergy T2 DVB-T Receiver
153
||device-name||Name of device(vendor) as reported via DVB API||ST STV0297 DVB-C||
154 1 Andreas Smas
||device-type||Frontend type(s)||DVB-T, DVB-C, etc||
155
156
It will start will all devices and try rule 1 then all devices that could not be mapped and rule 2, and so on.
157
This will mitigate problems when USB controllers probe devices in different order, etc
158 10 Andreas Smas
Also you can swap your DVB hardware to a new one (different vendor) and still have tvheadend map it correctly.
159
160
If the mapper cannot find a hardware device using the first rule the adapter info/configuration will highlight this
161 1 Andreas Smas
and the user will be able to "nail" the configuration to the detected hardware. Ie. to acknowledge to Tvheadend
162
that: "Yes, this is the correct hardware. I've changed/moved it" or whatever