# HG changeset patch # User reimar # Date 1122410194 0 # Node ID c81b7c1c14cb72cc9381290602fc02abb53268d6 # Parent 0aeb954fc11c429e539529e6d97855f7ee8cb67a catch failed buffer allocation diff -r 0aeb954fc11c -r c81b7c1c14cb libvo/vo_gl.c --- a/libvo/vo_gl.c Tue Jul 26 18:55:20 2005 +0000 +++ b/libvo/vo_gl.c Tue Jul 26 20:36:34 2005 +0000 @@ -485,6 +485,7 @@ if (!err_shown) mp_msg(MSGT_VO, MSGL_ERR, "[gl] extensions missing for dr\n" "Expect a _major_ speed penalty\n"); + err_shown = 1; return VO_FALSE; } if (mpi->flags & MP_IMGFLAG_READABLE) return VO_FALSE; @@ -498,6 +499,13 @@ } mpi->planes[0] = MapBuffer(GL_PIXEL_UNPACK_BUFFER, GL_WRITE_ONLY); BindBuffer(GL_PIXEL_UNPACK_BUFFER, 0); + if (mpi->planes[0] == NULL) { + if (!err_shown) + mp_msg(MSGT_VO, MSGL_ERR, "[gl] could not aquire buffer for dr\n" + "Expect a _major_ speed penalty\n"); + err_shown = 1; + return VO_FALSE; + } mpi->flags |= MP_IMGFLAG_DIRECT; return VO_TRUE; }