diff options
author | Johns <johns98@gmx.net> | 2012-06-27 21:22:25 +0200 |
---|---|---|
committer | Johns <johns98@gmx.net> | 2012-06-27 21:22:25 +0200 |
commit | 6aa8601f7d0734f3088b0a5bac26d4e86db85f32 (patch) | |
tree | 61cc6007e3857c21dcdb63c84dd02edc0ec97ec0 /audio.c | |
parent | 0f62a521f41a44212507539a2417c28f74169491 (diff) | |
download | vdr-plugin-softhddevice-6aa8601f7d0734f3088b0a5bac26d4e86db85f32.tar.gz vdr-plugin-softhddevice-6aa8601f7d0734f3088b0a5bac26d4e86db85f32.tar.bz2 |
Guard audio skip against old PTS values.
Diffstat (limited to 'audio.c')
-rw-r--r-- | audio.c | 5 |
1 files changed, 4 insertions, 1 deletions
@@ -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; |