[mythtv] DVD playback issues, patch
Davin McCall
davmac at davmac.org
Sun Nov 15 22:49:13 UTC 2009
On 16/11/09 07:55, Mark Spieth wrote:
> also on dvd pts change, avsync_delay should be set to avsync_avg so
> that there is no discontinuity in avsync_avg
> determination.
I'm not sure if I understand what you mean by pts change. The following
line:
if (! (avsync_delay > 2000000 && player_ctx->buffer->isDVD()))
avsync_avg = (avsync_delay + (avsync_avg * 3)) / 4;
... changes avsync_avg only if there is no large discontinuity in the
video timecode. Doesn't that have the same effect? (Or were you
referring to something else altogether? - when does pts change?)
Also:
> a big problem is that the initial value of avsync_avg is 0 which is
> not correct.
> somehow it should be set to avsync_delay if it hasnt been set before.
That would certainly be possible but I think the real problem is the
av_delay calculation doesn't take the previous delay into account. That
is, instead of (in pseudo code):
avsync_delay = video.timecode - audio.timecode
It should be:
avsync_delay = video.timecode - audio.timecode + avsync_adjustment
(With some details omitted. For instance, avsync_adjustment has already
been reset to 0 so we need to move that reset until after the
calculation of avsync_delay)
Anyway it looks like we are getting closer to a real solution. I intend
to post another patch soon.
Davin
More information about the mythtv-dev
mailing list