Reset closing only, if trickspeed is set.

This commit is contained in:
Johns 2012-08-18 15:53:14 +02:00
parent e9fbe6b54f
commit d9c9061a7c

View File

@ -4545,8 +4545,10 @@ static void VaapiSetTrickSpeed(VaapiDecoder * decoder, int speed)
{ {
decoder->TrickSpeed = speed; decoder->TrickSpeed = speed;
decoder->TrickCounter = speed; decoder->TrickCounter = speed;
if (speed) {
decoder->Closing = 0; decoder->Closing = 0;
} }
}
/// ///
/// Sync decoder output to audio. /// Sync decoder output to audio.
@ -7641,8 +7643,13 @@ static void VdpauMixVideo(VdpauDecoder * decoder)
NULL, cps, past_n, past, current, future_n, future, NULL, cps, past_n, past, current, future_n, future,
&video_src_rect, VdpauSurfacesRb[VdpauSurfaceIndex], &dst_rect, &video_src_rect, VdpauSurfacesRb[VdpauSurfaceIndex], &dst_rect,
&dst_video_rect, 0, NULL); &dst_video_rect, 0, NULL);
} else {
if (decoder->Interlaced) {
current = decoder->SurfacesRb[(decoder->SurfaceRead + 1)
% VIDEO_SURFACES_MAX];
} else { } else {
current = decoder->SurfacesRb[decoder->SurfaceRead]; current = decoder->SurfacesRb[decoder->SurfaceRead];
}
status = status =
VdpauVideoMixerRender(decoder->VideoMixer, VDP_INVALID_HANDLE, VdpauVideoMixerRender(decoder->VideoMixer, VDP_INVALID_HANDLE,
@ -7884,8 +7891,10 @@ static void VdpauSetTrickSpeed(VdpauDecoder * decoder, int speed)
{ {
decoder->TrickSpeed = speed; decoder->TrickSpeed = speed;
decoder->TrickCounter = speed; decoder->TrickCounter = speed;
if (speed) {
decoder->Closing = 0; decoder->Closing = 0;
} }
}
/// ///
/// Sync decoder output to audio. /// Sync decoder output to audio.