Guard audio skip against old PTS values.

This commit is contained in:
Johns 2012-06-27 21:22:25 +02:00
parent 0f62a521f4
commit 6aa8601f7d
2 changed files with 6 additions and 1 deletions

View File

@ -2,6 +2,8 @@ User johns
Date:
Release Version 0.5.1
Guard audio skip against old PTS values.
Improved audio skip, after channel switch.
Setup add preview of collapsed tree.
Fix bug: dvd plugin times out.
Makes OSD size configurable.

View File

@ -3750,9 +3750,12 @@ void AudioVideoReady(int64_t pts)
skip =
pts - 15 * 20 * 90 - AudioBufferTime * 90 - audio_pts +
VideoAudioDelay;
#ifdef DEBUG
printf("%dms %dms %dms\n", (int)(pts - audio_pts) / 90,
VideoAudioDelay / 90, skip / 90);
if (1 && skip > 0) {
#endif
// guard against old PTS
if (skip> 0 && skip < 2000 * 90) {
skip = (((int64_t) skip * AudioRing[AudioRingWrite].HwSampleRate)
/ (1000 * 90))
* AudioRing[AudioRingWrite].HwChannels * AudioBytesProSample;