[mythtv] livetv seeking bug

Mark Spieth mark at dclabs.com.au
Tue Aug 30 00:27:59 UTC 2005


> On Tue, 2005-08-30 at 00:52 +0100, Mark Weaver wrote:
> > With current SVN (and revisions going back to at least 7133, possibly
> > before), when seeking live TV after changing channels, I sometimes see
> > data from previous channels.
> > Could some one point me at the appropriate place to start debugging
this?
> I'm not entirely up on this, but I debugged some seeking
> problems not to long ago so I'll chime in.
>
> My guess would be DecoderBase::SyncPositionMap(), which copies
> portions of the position map from the backend to the frontend.
> I believe this tries to only copy the new portions of the position
> map, and there may be some problems with how position map resets
> are handled.
>
> But it could also be a problem with the position map itself, in
> which case DTVRecorder::HandleKeyframe(void) or TVRec could be
> the problem. I think this less likely.

also check avformatdecoder::DoFastForward if its getting into this.
my fallback code for seeking may not activate the myth native pos map stuff
as perhaps its not there at the time.
perhaps a livetv check to enable it in case.
note the main problem may be
    int64_t adj_cur_dts = st->cur_dts;
    if(ic->start_time != (int64_t)AV_NOPTS_VALUE)
    {
        int64_t st1 = av_rescale(ic->start_time,
                                st->time_base.den,
                                AV_TIME_BASE * (int64_t)st->time_base.num);
        adj_cur_dts = lsb3full(adj_cur_dts, st1, st->pts_wrap_bits);
    }

which shouldnt be in there ATM as there is no equiv code in utils.c
cheers
mark





More information about the mythtv-dev mailing list