diff --git a/libobs/obs-source.c b/libobs/obs-source.c index a67bb4985..90b6a35f3 100644 --- a/libobs/obs-source.c +++ b/libobs/obs-source.c @@ -2600,12 +2600,13 @@ static inline void copy_frame_data_plane(struct obs_source_frame *dst, const struct obs_source_frame *src, uint32_t plane, uint32_t lines) { - if (dst->linesize[plane] != src->linesize[plane]) + if (dst->linesize[plane] != src->linesize[plane]) { for (uint32_t y = 0; y < lines; y++) copy_frame_data_line(dst, src, plane, y); - else + } else { memcpy(dst->data[plane], src->data[plane], - dst->linesize[plane] * lines); + (size_t)dst->linesize[plane] * (size_t)lines); + } } static void copy_frame_data(struct obs_source_frame *dst,