vdisp/sdl2: set correct data_len if pitch!=linelen

fixes:
```
uv -t testcard:codec=RGB:size=1921x1080 -d sdl
```

Doesn't crash but errors are printed on console and data at the end
(perhaps something like a line) is not written.
This commit is contained in:
Martin Pulec
2024-09-02 10:52:20 +02:00
parent 39c9c40d67
commit 107e3e30da

View File

@@ -468,6 +468,7 @@ static bool recreate_textures(struct state_sdl2 *s, struct video_desc desc) {
struct video_frame *f = vf_alloc_desc(desc);
f->callbacks.dispose_udata = (void *) texture;
SDL_CHECK(SDL_LockTexture(texture, NULL, (void **) &f->tiles[0].data, &s->texture_pitch));
f->tiles[0].data_len = desc.height * s->texture_pitch;
f->callbacks.data_deleter = vf_sdl_texture_data_deleter;
simple_linked_list_append(s->free_frame_queue, f);
}