1
0
mirror of https://github.com/mpv-player/mpv synced 2024-12-14 19:05:33 +00:00

check if the available buffers are big enough in get_image

git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@6744 b3059339-0415-0410-9bf9-f77b7e298cf2
This commit is contained in:
michael 2002-07-17 00:54:31 +00:00
parent 08400331dc
commit e083d6218c

View File

@ -746,6 +746,9 @@ static uint32_t get_image(mp_image_t *mpi){
if(mpi->type==MP_IMGTYPE_IPB && num_buffers<3 && mpi->flags&MP_IMGFLAG_READABLE) return VO_FALSE; // not enough
if(mpi->type==MP_IMGTYPE_IP && num_buffers<2 && mpi->flags&MP_IMGFLAG_READABLE) return VO_FALSE; // not enough
if(mpi->imgfmt!=image_format || mpi->imgfmt==IMGFMT_BGR24) return VO_FALSE; // needs conversion :(
if( xvimage[current_buf]->pitches[0]*mpi->height
> xvimage[current_buf]->offsets[1] - xvimage[current_buf]->offsets[0]) return VO_FALSE; //buffer to small
if( xvimage[current_buf]->pitches[0] < mpi->width /*FIXME non yv12*/) return VO_FALSE; //buffer to small
// if(mpi->flags&MP_IMGFLAG_READABLE) return VO_FALSE; // slow video ram
if( (mpi->flags&(MP_IMGFLAG_ACCEPT_STRIDE|MP_IMGFLAG_ACCEPT_WIDTH)) ||
(mpi->width*(mpi->bpp/8)==xvimage[current_buf]->pitches[0]) ){