User summary: If you use HDTV, you need to run mythfilldatabase after applying this patch or you may get the wrong subchannel for some of your channels. New channels added to your Zap2it lineup will be automatically added, with a channel number (what you type on the remote) that's <channelmajor><channelminor> (with no dash).
There are two parts of this patch that might require some discussion before commiting:
1. Mythfilldatabase now always fills in the freqid field from DataDirect. If Zap2it has this wrong, you won't be able to tune that channel. This applies to NTSC as well as ATSC stations.
2. Because we're tuning ATSC by channel minor number now rather than program number (see below), it can take up to an additional 400 ms to tune an HD station. This delay is while we wait for a TVCT, which is the table that associates the two. The plus side is that we will automatically adjust if this changes. The proper way to fix this is to do PID caching (see below also).
Here's what's changed:
* The DataDirect grabber now grabs the channelMinor field into its temporary tables. I also fixed a bug in the handling of fccchannelnumber.
* mythfilldatabase fills in the freqid field in the database's channel table based on the data from zap2it. For normal NTSC stations, this is the same as channel. For ATSC stations, it's "<fccchannelnumber>-<channelMinor>". For new ATSC channels, it also fills in the channel number as described above.
* hdtvrecorder waits for a TVCT (Terrestrial Virtual Channel Table) and uses it to fill in the desired program, rather than taking the desired program directly from the database. This is progress, because (a) the subchannel (minor channel) is user-visible in "normal" HDTV tuners and the program number is not, (b) we can get this number from zap2it (and can't get the program number), and (c) stations can change their program numbers without notice.
* a few edits to make Daniel's FAKE_VIDEO support possible to use on a system without a tuner card at all
* a few tabs-to-spaces conversions
PID caching:
The ultimate result of parsing the control tables in ATSC (and DVB) is a set of video, audio, and other PIDs in the TS stream to process and/or pass through to the recording on disk. This set of PIDs typically remains constant for a given channel, and so storing it in the database would speed up tuning; if it's wrong, you will find out once the control tables do come along. DVB in Myth already implements PID caching, though IIRC the database format is currently being revised. There's no reason why HDTV can't piggyback onto the same PID caching methods once they're stabilized (or now, if I'm misremembering).
-Doug
subchannel-from-dd.patch.bz2
Description: application/bzip
signature.asc
Description: OpenPGP digital signature
_______________________________________________ mythtv-dev mailing list [EMAIL PROTECTED] http://mythtv.org/cgi-bin/mailman/listinfo/mythtv-dev
