summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorChristophe Thommeret <hftom@free.fr>2009-08-14 03:09:14 +0100
committerChristophe Thommeret <hftom@free.fr>2009-08-14 03:09:14 +0100
commitdeaea99f0ec02fbb2392e702c6c6c2f5ba3e27c2 (patch)
tree96cab207e72ac29cb7f5ab72437ff20f1113db4d /src
parent3c777cd744227ad68813ffe7091d2ea413ecf602 (diff)
downloadxine-lib-deaea99f0ec02fbb2392e702c6c6c2f5ba3e27c2.tar.gz
xine-lib-deaea99f0ec02fbb2392e702c6c6c2f5ba3e27c2.tar.bz2
Better deint when paused.
Diffstat (limited to 'src')
-rw-r--r--src/video_out/video_out_vdpau.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/video_out/video_out_vdpau.c b/src/video_out/video_out_vdpau.c
index 883f6c6c0..11c22ff74 100644
--- a/src/video_out/video_out_vdpau.c
+++ b/src/video_out/video_out_vdpau.c
@@ -1582,7 +1582,7 @@ static void vdpau_display_frame (vo_driver_t *this_gen, vo_frame_t *frame_gen)
XLockDisplay( this->display );
#endif
- if ( frame->format==XINE_IMGFMT_VDPAU && this->deinterlace && non_progressive && stream_speed && frame_duration>2500 ) {
+ if ( frame->format==XINE_IMGFMT_VDPAU && this->deinterlace && non_progressive /*&& stream_speed*/ && frame_duration>2500 ) {
VdpTime current_time = 0;
VdpVideoSurface past[2];
VdpVideoSurface future[1];
@@ -1651,7 +1651,10 @@ static void vdpau_display_frame (vo_driver_t *this_gen, vo_frame_t *frame_gen)
XUnlockDisplay( this->display );
#endif
- vdpau_backup_frame( this_gen, frame_gen );
+ if ( stream_speed ) /* do not release past frame if paused, it will be used for redrawing */
+ vdpau_backup_frame( this_gen, frame_gen );
+ else
+ frame->vo_frame.free( &frame->vo_frame );
}