Tvheadend dvb config revamp » History » Version 9
Andreas Smas, 2010-08-17 21:52
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 | 9 | Andreas Smas | * 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 | 4 | Andreas Smas | Therefore the plan is to totally redesign how Tvheadend interacts with hardware. |
11 | This rewrite will not be configuration compatible and will therefore bump Tvheadend version to 3.x |
||
12 | 1 | Andreas Smas | |
13 | 4 | Andreas Smas | = Device tree = |
14 | 1 | Andreas Smas | |
15 | 3 | Andreas Smas | This tree will present the available devices to the user |
16 | 2 | Andreas Smas | |
17 | 1 | Andreas Smas | {{{ |
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 | | | + Switchport 3 |
||
30 | | | + Switchport 4 |
||
31 | | | + Switchport n |
||
32 | | + DVB-T Frontend |
||
33 | | |
||
34 | + V4L Adapter #1 |
||
35 | + Tuner |
||
36 | + Composite |
||
37 | + S-Video |
||
38 | 1 | Andreas Smas | }}} |
39 | |||
40 | 3 | Andreas Smas | Pressing on a node will present the user with information about the entry and a few configuration options as follows: |
41 | 1 | Andreas Smas | |
42 | 3 | Andreas Smas | === DVB / ATSC Adapter === |
43 | ==== Info ==== |
||
44 | Various information about the hardware |
||
45 | ==== Config ==== |
||
46 | * Enable/Disable adapter |
||
47 | 1 | Andreas Smas | |
48 | |||
49 | 3 | Andreas Smas | === DVB-C / DVB-T / ATSC Frontends === |
50 | ==== Info ==== |
||
51 | TBD |
||
52 | ==== Config ==== |
||
53 | * Network the frontend is attached to |
||
54 | * If this device may update network configuration |
||
55 | 1 | Andreas Smas | |
56 | 3 | Andreas Smas | |
57 | === DVB-S Frontends === |
||
58 | ==== Info ==== |
||
59 | TBD |
||
60 | ==== Config ==== |
||
61 | * Number of Diseqc switchports |
||
62 | or |
||
63 | * Network the frontend is attached to |
||
64 | 7 | Andreas Smas | * If this device may update network configuration |
65 | 3 | Andreas Smas | * LnB configuration |
66 | |||
67 | === Switchport === |
||
68 | ==== Info ==== |
||
69 | TBD |
||
70 | ==== Config ==== |
||
71 | * Network the switchport is attached to |
||
72 | 7 | Andreas Smas | * If this device may update network configuration |
73 | 3 | Andreas Smas | * LnB configuration |
74 | |||
75 | |||
76 | === V4L adpater === |
||
77 | ==== Info ==== |
||
78 | Various information about the hardware |
||
79 | ==== Config ==== |
||
80 | * Enable/Disable adapter |
||
81 | |||
82 | |||
83 | === V4L frontends === |
||
84 | ==== Info ==== |
||
85 | Various information about the hardware |
||
86 | ==== Config ==== |
||
87 | 1 | Andreas Smas | * TV system type (PAL, NTSC, etc) (for tuners) |
88 | * Network the frontend is attached to |
||
89 | 4 | Andreas Smas | |
90 | |||
91 | = Device mapper = |
||
92 | |||
93 | Upon startup Tvheadend will try to map the available hardware to the adapters as good as it can. |
||
94 | In Tvheadend 2.x it was required that the stored configuration about the adapter exactly matched the plugged in hardware. |
||
95 | |||
96 | Instead Tvheadend 3.x will try to map hardware to configured devices according to the following ruleset: |
||
97 | |||
98 | * device type AND device name AND bus-id AND device path |
||
99 | * device type AND device name AND bus-id |
||
100 | * device type AND device name |
||
101 | * device type AND bus-id |
||
102 | * device type |
||
103 | |||
104 | ||device path||Path in filesystem||/dev/dvb/...|| |
||
105 | ||bus-id||Hardware address||Bus 001 Device 004: ID 0ccd:0038 TerraTec Electronic GmbH Cinergy T2 DVB-T Receiver |
||
106 | ||device-name||Name of device(vendor) as reported via DVB API||ST STV0297 DVB-C|| |
||
107 | ||device-type||Frontend type(s)||DVB-T, DVB-C, etc|| |
||
108 | |||
109 | 5 | Andreas Smas | It will start will all devices and try rule 1 then all devices that could not be mapped and rule 2, and so on. |
110 | 4 | Andreas Smas | This will mitigate problems when USB controllers probe devices in different order, etc |
111 | 1 | Andreas Smas | Also you can swap your DVB hardware to a new one (different vendor) and still have tvheadend map it correctly. |
112 | 8 | Andreas Smas | |
113 | If the mapper cannot find a hardware device using the first rule the adapter info/configuration will highlight this |
||
114 | and the user will be able to "nail" the configuration to the detected hardware. Ie. to acknowledge to Tvheadend |
||
115 | that: "Yes, this is the correct hardware. I've changed/moved it" or whatever |
||
116 | 6 | Andreas Smas | |
117 | = Networks = |
||
118 | |||
119 | In Tvheadend 2.x a DVB network (ie. a collection of DVB Muxes) are implicitly tied to a DVB adapter. |
||
120 | There are a number of drawbacks with this |
||
121 | |||
122 | * Adding another adapter to the same network require all muxes to be rescanned or copied from an already present adapter |
||
123 | * Replacing an adapter will void all configuration so it needs to be reconfigured. |
||
124 | |||
125 | Instead Tvheadend 3.x will keep the Network configuration separated from the adapter configuration. |
||
126 | This obviously fixes the two caveats mentioned above. |
||
127 | |||
128 | = LNB configuration = |
||
129 | |||
130 | Tvheadend 2.x have a set of preconfigured LNBs to select from. Tvheadend 3.x will also have those but also make it possible to enter LNB parameters manuallt. |