vo_wlshm, vo_drm: set image size with mp_image_set_size

The image w and h members must match params.w and params.h, so
should not be changed directly. The helper function mp_image_set_size
is designed for this purpose, so just use that instead.

This prevents an assertion error with the rewritten draw_bmp.

Fixes #7721.
This commit is contained in:
Michael Forney 2020-05-16 15:25:58 -07:00 committed by wm4
parent 43cb89fca3
commit 3cb9e93cdf
2 changed files with 2 additions and 4 deletions

View File

@ -322,8 +322,7 @@ static int reconfig(struct vo *vo, struct mp_image_params *params)
p->cur_frame = mp_image_alloc(p->imgfmt, p->screen_w, p->screen_h);
mp_image_params_guess_csp(&p->sws->dst);
mp_image_set_params(p->cur_frame, &p->sws->dst);
p->cur_frame[0].w = p->screen_w;
p->cur_frame[0].h = p->screen_h;
mp_image_set_size(p->cur_frame, p->screen_w, p->screen_h);
talloc_free(p->cur_frame_cropped);
p->cur_frame_cropped = mp_image_new_dummy_ref(p->cur_frame);

View File

@ -112,8 +112,7 @@ static struct buffer *buffer_create(struct vo *vo, int width, int height)
buf->vo = vo;
buf->size = size;
mp_image_set_params(&buf->mpi, &p->sws->dst);
buf->mpi.w = width;
buf->mpi.h = height;
mp_image_set_size(&buf->mpi, width, height);
buf->mpi.planes[0] = data;
buf->mpi.stride[0] = stride;
buf->pool = wl_shm_create_pool(wl->shm, fd, size);