[mythtv] DVB Channel Changes

Taylor Jacob rtjacob at earthlink.net
Sun Apr 11 11:56:00 EDT 2004


> Taylor Jacob wrote:
>
>>
>>Satellite (Input Source) -> Transponder (Multiplex) -> DVB Channel
>>
>>
>>
> Model in itself seems good. What I am objecting to is naming.
>
> What you are tuning to, is a Transport Stream (TS), which is in itself a
> multiplex of Program Streams (PS), which consists of Elementary Streams
> (ES).
> In the HeadEnd, the different PSes are multiplexed into one or more TS.
> The equipment that does this is generally known as "Multiplexors".
>
> To anyone used to DVB naming using Multiplex in the manner you are
> proposing is confusing to say the least.
>
> Why not just use the name Transponder? or Motor if you want to.
> Basically what you are doing is pointing the antenna, so you are able to
> receive a different transmitter. Which is very similar to what happens
> with a traditional antenna/motor combination.
>

I took the Mutiplex name from the DVB specs I read, but if dvb_transport is an easier to
understand name that works too.

dvb_channel would have a field called dvbtransportid which would be foreignkeyed (maybe not in
sql, but assumed) to dvb_transport.  I think we may still want to choose a different name because
it could easily get confused with the real transportid sent with the dvb epg and other tables.

dvb_transport would have a field dvbinputid (instead of dvb_sat which is
very dvb-s specific) foreignkeyed to dvb_input.

Each dvb_input entry would no longer be tied to a specific cardid, but to a
different (virtual) input source on the dvb card.  This would require that
an additional field be added to cardinput that is dvb_input to deal with these
virtual inputs.  This would also allow the tying of different input sources to
different guide sources.

Here is a better idea of what I am talking about.  I don't know how this will effect dvb-c and
dvb-t guys.

-------   Proposed Table Structure Rough Draft  ------

dvb_channel (multiplexed channel table) (pids still seperate but this may be ok) Then again with
serviceid and networkid in these tables it may be possible to dynamicly get this information by
monitoring the dvb information tables in the future.
+-------------------+-------------+------+-----+---------+-------+
| Field             | Type        | Null | Key | Default | Extra |
+-------------------+-------------+------+-----+---------+-------+
| chanid            | smallint(6) |      | PRI |         |       |
| dvbtransportid    | smallint(6) |      |     |         |       | <-- Link to dvb_transport
| serviceid         | smallint(6) | YES  |     | NULL    |       |
| networkid         | smallint(6) | YES  |     | NULL    |       |
| providerid        | smallint(6) | YES  |     | NULL    |       |
| pmtcache          | blob        | YES  |     | NULL    |       |
+-------------------+-------------+------+-----+---------+-------+

dvb_transport (physical channel table)
+-------------------+-------------+------+-----+---------+-------+
| Field             | Type        | Null | Key | Default | Extra |
+-------------------+-------------+------+-----+---------+-------+
| dvbtransportid    | smallint(6) |      |     |         |       | <-- Link to dvb_channel
| dvbinputid        | smallint(6) |      |     |         |       | <-- Link to dvb_input
| transportid       | smallint(6) | YES  |     | NULL    |       | <-- I assmue this is the DVB
Transport ID
| frequency         | int(11)     | YES  |     | NULL    |       |
| inversion         | char(1)     | YES  |     | NULL    |       |
| symbolrate        | int(11)     | YES  |     | NULL    |       |
| fec               | varchar(10) | YES  |     | NULL    |       |
| polarity          | char(1)     | YES  |     | NULL    |       |
| modulation        | varchar(10) | YES  |     | NULL    |       |
| bandwidth         | char(1)     | YES  |     | NULL    |       |
| lp_code_rate      | varchar(10) | YES  |     | NULL    |       |
| transmission_mode | char(1)     | YES  |     | NULL    |       |
| guard_interval    | varchar(10) | YES  |     | NULL    |       |
| hierarchy         | char(1)     | YES  |     | NULL    |       |
+-------------------+-------------+------+-----+---------+-------+

dvb_input - If you were using DVB-T or DVB-C there would be one entry here since there are no
switches used in DVB-C or DVB-T. (Note that cardid was removed).  Also most of the fields would be
blank, but this seems to be the best way I can think of right now.
+----------------+--------------+------+-----+----------+----------------+
| Field          | Type         | Null | Key | Default  | Extra          |
+----------------+--------------+------+-----+----------+----------------+
| dvb_input      | smallint(6)  |      | PRI | NULL     | auto_increment | <-- link to dvb_transport
| pos            | float        | YES  |     | NULL     |                |
| name           | varchar(128) | YES  |     | NULL     |                |
| diseqc_type    | smallint(6)  | YES  |     | 0        |                |
| diseqc_port    | smallint(6)  | YES  |     | 0        |                |
| diseqc_pos     | smallint(6)  | YES  |     | 0        |                |
| lnb_lof_switch | int(11)      | YES  |     | 11700000 |                |
| lnb_lof_hi     | int(11)      | YES  |     | 10600000 |                |
| lnb_lof_lo     | int(11)      | YES  |     | 9750000  |                |
+----------------+--------------+------+-----+----------+----------------+

cardinput - Existing table used for all channels.
+-----------------+------------------+------+-----+---------+----------------+
| Field           | Type             | Null | Key | Default | Extra          |
+-----------------+------------------+------+-----+---------+----------------+
| cardinputid     | int(10) unsigned |      | PRI | NULL    | auto_increment |
| cardid          | int(10) unsigned |      |     | 0       |                |
| sourceid        | int(10) unsigned |      |     | 0       |                |
| dvbinputid      | smallint(6)      |      |     | NULL    |                | <-- Added field
linked to dvb_input
| inputname       | varchar(32)      |      |     |         |                |
| externalcommand | varchar(128)     | YES  |     | NULL    |                |
| preference      | int(11)          | YES  |     | NULL    |                |
| shareable       | char(1)          | YES  |     | N       |                |
| tunechan        | varchar(5)       |      |     |         |                |
| startchan       | varchar(5)       |      |     |         |                |
+-----------------+------------------+------+-----+---------+----------------+

---------------------------------


More information about the mythtv-dev mailing list