quartz/vmr9: Allow the aspect ratio parameters to be NULL in IVMRWindowlessControl::GetNativeVideoSize().

Please refer to the commit 45789e00da which
fixes IVMRWindowlessControl9::GetNativeVideoSize().

Signed-off-by: Akihiro Sagawa <sagawa.aki@gmail.com>
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
Akihiro Sagawa 2020-12-04 21:13:59 +09:00 committed by Alexandre Julliard
parent 0a32df560f
commit c387df0739
2 changed files with 15 additions and 15 deletions

View File

@ -2858,9 +2858,9 @@ static void test_windowless_size(void)
width = height = 0xdeadbeef;
hr = IVMRWindowlessControl_GetNativeVideoSize(windowless_control, &width, &height, NULL, NULL);
todo_wine ok(hr == S_OK, "Got hr %#x.\n", hr);
todo_wine ok(width == 32, "Got width %d.\n", width);
todo_wine ok(height == 16, "Got height %d.\n", height);
ok(hr == S_OK, "Got hr %#x.\n", hr);
ok(width == 32, "Got width %d.\n", width);
ok(height == 16, "Got height %d.\n", height);
aspect_width = aspect_height = 0xdeadbeef;
hr = IVMRWindowlessControl_GetNativeVideoSize(windowless_control, &width, &height, &aspect_width, &aspect_height);

View File

@ -1462,22 +1462,22 @@ static ULONG WINAPI VMR7WindowlessControl_Release(IVMRWindowlessControl *iface)
}
static HRESULT WINAPI VMR7WindowlessControl_GetNativeVideoSize(IVMRWindowlessControl *iface,
LONG *width, LONG *height,
LONG *arwidth, LONG *arheight)
LONG *width, LONG *height, LONG *aspect_width, LONG *aspect_height)
{
struct quartz_vmr *This = impl_from_IVMRWindowlessControl(iface);
TRACE("(%p/%p)->(%p, %p, %p, %p)\n", iface, This, width, height, arwidth, arheight);
struct quartz_vmr *filter = impl_from_IVMRWindowlessControl(iface);
if (!width || !height || !arwidth || !arheight)
{
ERR("Got no pointer\n");
TRACE("filter %p, width %p, height %p, aspect_width %p, aspect_height %p.\n",
filter, width, height, aspect_width, aspect_height);
if (!width || !height)
return E_POINTER;
}
*width = This->bmiheader.biWidth;
*height = This->bmiheader.biHeight;
*arwidth = This->bmiheader.biWidth;
*arheight = This->bmiheader.biHeight;
*width = filter->bmiheader.biWidth;
*height = filter->bmiheader.biHeight;
if (aspect_width)
*aspect_width = filter->bmiheader.biWidth;
if (aspect_height)
*aspect_height = filter->bmiheader.biHeight;
return S_OK;
}