From eefe7ad28bceccd509d389dc4dba465467231fb1 Mon Sep 17 00:00:00 2001 From: wm4 Date: Tue, 3 May 2016 13:56:11 +0200 Subject: vo_opengl: vdpau: fix certain cases of preemption recovery failures The vdpau_mixer could fail to be recreated properly if preemption occured at some point before playback initialization (like when using --hwdec-preload and the opengl-cb API). Normally, the vdpau_mixer was supposed to be marked invalid when the components using it detect a preemption, e.g. in hwdec_vdpau.c. This one didn't mark the vdpau_mixer as invalid if preemption was detected in reinit(), only in map_image(). It's cleaner to detect preemption directly in the vdpau_mixer, which ensures it's always recreated correctly. --- video/vdpau_mixer.h | 1 + 1 file changed, 1 insertion(+) (limited to 'video/vdpau_mixer.h') diff --git a/video/vdpau_mixer.h b/video/vdpau_mixer.h index 97bef86d3f..716b57e489 100644 --- a/video/vdpau_mixer.h +++ b/video/vdpau_mixer.h @@ -30,6 +30,7 @@ struct mp_vdpau_mixer_frame { struct mp_vdpau_mixer { struct mp_log *log; struct mp_vdpau_ctx *ctx; + uint64_t preemption_counter; bool initialized; struct mp_image_params image_params; -- cgit v1.2.3