On Fri, Mar 13, 2020 at 04:02:45PM -0500, Zebediah Figura wrote:
If the stride is not equal to the width, this calculation will be invalid.
Signed-off-by: Zebediah Figura zfigura@codeweavers.com
This fixes Dark Souls II: Scholar of the First Sin, which has an 854x480 video which we transcode to RGB24.
dlls/winegstreamer/gstdemux.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/dlls/winegstreamer/gstdemux.c b/dlls/winegstreamer/gstdemux.c index 6897eeda3f1..7595c8ec54e 100644 --- a/dlls/winegstreamer/gstdemux.c +++ b/dlls/winegstreamer/gstdemux.c @@ -247,7 +247,7 @@ static gboolean amt_from_gst_caps_video_raw(const GstCaps *caps, AM_MEDIA_TYPE * } bih->biCompression = amt->subtype.Data1; }
- bih->biSizeImage = width * height * bih->biBitCount / 8;
- bih->biSizeImage = vinfo.size;
I think this won't actually fix the game. I'm pretty sure the calculation we use to determine the buffer size is the one in amt_from_gst_caps.
(Also note the game's video does play back fine. It was my substitution of a different OGG video with that resolution that broke it.)
Andrew