diff options
author | wm4 <wm4@nowhere> | 2016-05-19 12:18:48 +0200 |
---|---|---|
committer | wm4 <wm4@nowhere> | 2016-05-19 12:18:48 +0200 |
commit | 561630cb014b0685cec8a0aa91cd74a56b454efa (patch) | |
tree | 83e9ab4036601e18e9c95639aba0ea679d2da38f /player/screenshot.c | |
parent | 4e5f1ec00ec917d0e72941683efcdc7cc757d339 (diff) | |
download | mpv-561630cb014b0685cec8a0aa91cd74a56b454efa.tar.bz2 mpv-561630cb014b0685cec8a0aa91cd74a56b454efa.tar.xz |
vo_opengl: change error state handling and fix hwdec crashes on errors
gl_video_upload_image() can fail in the hardware decoding case. In this
case rendering continued "normally", which meant that pass_get_img_tex()
would kill the process with an assertion failure.
Fix this by allowing gl_video_upload_image() to fail, and exit rendering
early enough to skip code which requires an image to be present. (Maybe
this is still a bit too subtle, but better than before.)
Set an error flag, and render the blue screen we introduced for shader
errors. (For this purpose also move the rendering of it to final output,
to ensure it's visible at all.) The error flag is temporary, because the
associated failure might also be temporary, unlike shader compilation
errors.
Diffstat (limited to 'player/screenshot.c')
0 files changed, 0 insertions, 0 deletions