summaryrefslogtreecommitdiff
path: root/video.c
diff options
context:
space:
mode:
authorJohns <johns98@gmx.net>2012-04-26 15:33:51 +0200
committerJohns <johns98@gmx.net>2012-04-26 15:33:51 +0200
commit6dd7c2680a21eca2e60b68be4d444f4b954f9444 (patch)
tree8f536a57699e2b7c920dff5480cabfc22f79d2a9 /video.c
parent3b5c1adef2642546c0008ec7c133e2df288e7405 (diff)
downloadvdr-plugin-softhddevice-6dd7c2680a21eca2e60b68be4d444f4b954f9444.tar.gz
vdr-plugin-softhddevice-6dd7c2680a21eca2e60b68be4d444f4b954f9444.tar.bz2
Skip audio sync while trick play.
Diffstat (limited to 'video.c')
-rw-r--r--video.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/video.c b/video.c
index 5958502..7e3003d 100644
--- a/video.c
+++ b/video.c
@@ -4464,6 +4464,7 @@ static void VaapiSyncDecoder(VaapiDecoder * decoder)
goto out;
}
decoder->TrickCounter = decoder->TrickSpeed;
+ goto skip_sync;
}
// at start of new video stream, soft or hard sync video to audio
if (!VideoSoftStartSync && decoder->StartCounter < VideoSoftStartFrames
@@ -7626,7 +7627,7 @@ static int64_t VdpauGetClock(const VdpauDecoder * decoder)
decoder->SurfaceField,
atomic_read(&decoder->SurfacesFilled));
*/
- // - 2 fields are future, + 2 in driver queue
+ // 1 field is future, 2 fields are past, + 2 in driver queue
return decoder->PTS -
20 * 90 * (2 * atomic_read(&decoder->SurfacesFilled)
- decoder->SurfaceField - 2 + 2);
@@ -7693,6 +7694,7 @@ static void VdpauSyncDecoder(VdpauDecoder * decoder)
goto out;
}
decoder->TrickCounter = decoder->TrickSpeed;
+ goto skip_sync;
}
// at start of new video stream, soft or hard sync video to audio
if (!VideoSoftStartSync && decoder->StartCounter < VideoSoftStartFrames