diff options
author | wm4 <wm4@nowhere> | 2016-05-03 13:56:11 +0200 |
---|---|---|
committer | wm4 <wm4@nowhere> | 2016-05-03 13:56:11 +0200 |
commit | eefe7ad28bceccd509d389dc4dba465467231fb1 (patch) | |
tree | 5b5614225e09f17ff2ea8541bbbcc82c286edacd /video/vdpau_mixer.h | |
parent | 51e4c065ff9eef34da1729e5c8fc629b80f58c24 (diff) | |
download | mpv-eefe7ad28bceccd509d389dc4dba465467231fb1.tar.bz2 mpv-eefe7ad28bceccd509d389dc4dba465467231fb1.tar.xz |
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.
Diffstat (limited to 'video/vdpau_mixer.h')
-rw-r--r-- | video/vdpau_mixer.h | 1 |
1 files changed, 1 insertions, 0 deletions
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; |