diff options
author | wm4 <wm4@nowhere> | 2014-05-09 21:49:29 +0200 |
---|---|---|
committer | wm4 <wm4@nowhere> | 2014-05-10 10:44:16 +0200 |
commit | 203be26588798e7ecb22e02f116fc4fbec438a61 (patch) | |
tree | 19ef97c3e9550414527e20c56f1ca4eba239f88f /video/vdpau.h | |
parent | 66391dbb642fe08fea59d4c2e3c36b69d9db7446 (diff) | |
download | mpv-203be26588798e7ecb22e02f116fc4fbec438a61.tar.bz2 mpv-203be26588798e7ecb22e02f116fc4fbec438a61.tar.xz |
vdpau: handle display preemption during decoding
This was broken for some time, and it didn't recover correctly.
Redo decoder display preemption. Instead of trying to reinitialize the
hw decoder, simply fallback to software decoding. I consider display
preemption a bug in the vdpau API, so being able to _somehow_ recover
playback is good enough.
The approach taking here will probably also make it easier to handle
multithreading.
Diffstat (limited to 'video/vdpau.h')
-rw-r--r-- | video/vdpau.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/video/vdpau.h b/video/vdpau.h index a4396c53f2..d7bc5221a4 100644 --- a/video/vdpau.h +++ b/video/vdpau.h @@ -62,6 +62,7 @@ struct mp_vdpau_ctx *mp_vdpau_create_device_x11(struct mp_log *log, void mp_vdpau_destroy(struct mp_vdpau_ctx *ctx); bool mp_vdpau_status_ok(struct mp_vdpau_ctx *ctx); +int mp_vdpau_handle_preemption(struct mp_vdpau_ctx *ctx, uint64_t *counter); struct mp_image *mp_vdpau_get_video_surface(struct mp_vdpau_ctx *ctx, VdpChromaType chroma, int w, int h); |