Skip audio sync while trick play.

This commit is contained in:
Johns 2012-04-26 15:33:51 +02:00
parent 3b5c1adef2
commit 6dd7c2680a

View File

@ -4464,6 +4464,7 @@ static void VaapiSyncDecoder(VaapiDecoder * decoder)
goto out; goto out;
} }
decoder->TrickCounter = decoder->TrickSpeed; decoder->TrickCounter = decoder->TrickSpeed;
goto skip_sync;
} }
// at start of new video stream, soft or hard sync video to audio // at start of new video stream, soft or hard sync video to audio
if (!VideoSoftStartSync && decoder->StartCounter < VideoSoftStartFrames if (!VideoSoftStartSync && decoder->StartCounter < VideoSoftStartFrames
@ -7626,7 +7627,7 @@ static int64_t VdpauGetClock(const VdpauDecoder * decoder)
decoder->SurfaceField, decoder->SurfaceField,
atomic_read(&decoder->SurfacesFilled)); 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 - return decoder->PTS -
20 * 90 * (2 * atomic_read(&decoder->SurfacesFilled) 20 * 90 * (2 * atomic_read(&decoder->SurfacesFilled)
- decoder->SurfaceField - 2 + 2); - decoder->SurfaceField - 2 + 2);
@ -7693,6 +7694,7 @@ static void VdpauSyncDecoder(VdpauDecoder * decoder)
goto out; goto out;
} }
decoder->TrickCounter = decoder->TrickSpeed; decoder->TrickCounter = decoder->TrickSpeed;
goto skip_sync;
} }
// at start of new video stream, soft or hard sync video to audio // at start of new video stream, soft or hard sync video to audio
if (!VideoSoftStartSync && decoder->StartCounter < VideoSoftStartFrames if (!VideoSoftStartSync && decoder->StartCounter < VideoSoftStartFrames