[mythtv] Ticket #3031: Recording will not commence until a PMT is set.

Daniel Kristjansson danielk at cuymedia.net
Thu Apr 19 02:01:56 UTC 2007

On Wed, 2007-04-18 at 18:09 -0600, John P Poet wrote:
> On 4/18/07, John P Poet <jppoet at gmail.com> wrote:
> > On 4/18/07, MythTV <mythtv at cvs.mythtv.org> wrote:
> > I was wondering if there was a way the Reset routine could detect that
> > it was being called in an invalid situation.  If so, a test could be
> > added in which I could set a breakpoint.  Once the breakpoint was
> > triggered, I could produce a backtrace.

I don't think so, the stream data class doesn't really know
enough about the tuning state to know when the Reset is needed
and when it is not. This is intentional; we only want these
classes to know about the MPEG/ATSC/DVB/SCTE stream it is
monitoring; the tuning is done by TVRec using the channel

> Managed to sneak home an try this.  Attached are two logs as requested.

Thanks! These look useful. I think this might have to do with
the order in which tables arrive. It looks like if we get a
PAT/PMT first then a VCT we're ok, but if we see a VCT before
the PAT/PMT we issue an ATSC Reset which wipes out the cache,
then when we call atsc->SetDesiredChannel() in tv_rec.cpp after
tuning the VCT is missing so SetDesiredChannel() never calls
MPEGStreamData's SetDesiredProgram() which tells the recorder
about the PAT & PMT. Because we cached the PAT & PMT, the only
way the recorder will ever hear of them now is if the
transmitter updates the version number on these tables; if you
are unlucky enough to get into this state only a program change
or a commercial will get you out (if these are different enough
from the program stream at the time of the initial tuning).

-- Daniel

More information about the mythtv-dev mailing list