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. |