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/out/vo_vdpau.c | 1 - 1 file changed, 1 deletion(-) (limited to 'video/out/vo_vdpau.c') diff --git a/video/out/vo_vdpau.c b/video/out/vo_vdpau.c index b85780e5f8..1dc5dc3b36 100644 --- a/video/out/vo_vdpau.c +++ b/video/out/vo_vdpau.c @@ -448,7 +448,6 @@ static void mark_vdpau_objects_uninitialized(struct vo *vo) forget_frames(vo, false); vc->black_pixel = VDP_INVALID_HANDLE; - vc->video_mixer->video_mixer = VDP_INVALID_HANDLE; vc->flip_queue = VDP_INVALID_HANDLE; vc->flip_target = VDP_INVALID_HANDLE; for (int i = 0; i < MAX_OUTPUT_SURFACES; i++) -- cgit v1.2.3