[mythtv] Adding RunningStatus information to DVB EIT processing

roger roger at beardandsandals.co.uk
Thu Sep 8 18:36:27 UTC 2016


Hi David, Stuart, Karl, etc.

This is update on where I am at. I will not have direct access to my 
development system for a week.

I have started to implement a testbed. It is very rudimentary at the 
moment. You can find it here https://github.com/rogerjames99/mythtv . 
The files of interest are mythtv/libs/libmythtv/eitcachedvb.cpp and 
eitcachedvb.h.

I am still working on a robust way of handling the SI EIT tables. The 
current thing I am thinking about is how to handle discontinuities in 
the PF table. I receive PF sections from whatever transport stream is 
tuned at the time (I think there could/should be more than one). The 
section update has a PID that tells me this update has been received on 
the "actual" transport stream and network the it refers to, or from an 
"other" transport stream and network. Both of these are referring to the 
same table object which is identified by the transport_stream_id and 
original_network_id contained in the table section data itself (not to 
be confused with the fields of the same name in other SI tables). So if 
I receive a version_number on the "actual" I can guarantee that this is 
the current_version_number and the table is up to date at this moment. 
However I may not have have seen any sections for this table object from 
its actual stream. So in this case I have to rely on "other" streams. If 
this is a newly created instance of this table object then I can use 
"other" stream data as a best guess without any further checks. However 
if I currently have a version number which may be from an "actual" or an 
"other" stream I need a robust algorithm to determine which version is 
the most recent, my current one or the one I have just received, bearing 
in mind that the version number is modulo 32.

To help me do this I have already decided to store a flag that tells me 
whether that current_version_number I have is from an "actual" stream or 
not.  I am thinking about using information from the "present" or 
"future" events themselves to  make a better informed guess. The things 
in these events that might be useful are the event times and the running 
status.

I am looking for ideas on the algorithm.

I currently have a blank sheet of paper!

Roger




More information about the mythtv-dev mailing list