summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/video_out/video_out_vdpau.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/src/video_out/video_out_vdpau.c b/src/video_out/video_out_vdpau.c
index e512a4127..7ca5775f1 100644
--- a/src/video_out/video_out_vdpau.c
+++ b/src/video_out/video_out_vdpau.c
@@ -1564,11 +1564,6 @@ static void vdpau_display_frame (vo_driver_t *this_gen, vo_frame_t *frame_gen)
uint32_t mix_h = this->video_mixer_height;
VdpTime stream_speed;
- pthread_mutex_lock(&this->drawable_lock); /* protect drawble from being changed */
-
- if(this->reinit_needed)
- vdpau_reinit(this_gen);
-
if ( (frame->width != this->sc.delivered_width) || (frame->height != this->sc.delivered_height) || (frame->ratio != this->sc.delivered_ratio) ) {
this->sc.force_redraw = 1; /* trigger re-calc of output size */
}
@@ -1583,6 +1578,11 @@ static void vdpau_display_frame (vo_driver_t *this_gen, vo_frame_t *frame_gen)
vdpau_redraw_needed( this_gen );
+ pthread_mutex_lock(&this->drawable_lock); /* protect drawble from being changed */
+
+ if(this->reinit_needed)
+ vdpau_reinit(this_gen);
+
if ( (frame->format == XINE_IMGFMT_YV12) || (frame->format == XINE_IMGFMT_YUY2) ) {
chroma = ( frame->format==XINE_IMGFMT_YV12 )? VDP_CHROMA_TYPE_420 : VDP_CHROMA_TYPE_422;
if ( (frame->width != this->soft_surface_width) || (frame->height != this->soft_surface_height) || (frame->format != this->soft_surface_format) ) {