[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