Commit 8725564f authored by Zebediah Figura's avatar Zebediah Figura Committed by Alexandre Julliard

quartz/videorenderer: Set the destination rect to the whole client area when connecting.

parent 7e301611
......@@ -2606,6 +2606,7 @@ static void test_basic_video(void)
UINT count;
ULONG ref;
IPin *pin;
RECT rect;
IBaseFilter_QueryInterface(filter, &IID_IBasicVideo, (void **)&video);
IBaseFilter_FindPin(filter, L"In", &pin);
......@@ -2722,6 +2723,23 @@ static void test_basic_video(void)
test_basic_video_source(video);
test_basic_video_destination(video);
hr = IFilterGraph2_Disconnect(graph, &source.source.pin.IPin_iface);
ok(hr == S_OK, "Got hr %#x.\n", hr);
hr = IFilterGraph2_Disconnect(graph, pin);
ok(hr == S_OK, "Got hr %#x.\n", hr);
vih.bmiHeader.biWidth = 16;
vih.bmiHeader.biHeight = 16;
hr = IFilterGraph2_ConnectDirect(graph, &source.source.pin.IPin_iface, pin, &req_mt);
ok(hr == S_OK, "Got hr %#x.\n", hr);
check_source_position(video, 0, 0, 16, 16);
SetRect(&rect, 0, 0, 0, 0);
AdjustWindowRectEx(&rect, WS_CLIPSIBLINGS | WS_CLIPCHILDREN | WS_OVERLAPPEDWINDOW, FALSE, 0);
check_destination_position(video, 0, 0, max(16, GetSystemMetrics(SM_CXMIN) - (rect.right - rect.left)),
max(16, GetSystemMetrics(SM_CYMIN) - (rect.bottom - rect.top)));
ref = IFilterGraph2_Release(graph);
ok(!ref, "Got outstanding refcount %d.\n", ref);
IBasicVideo_Release(video);
......
......@@ -225,12 +225,13 @@ static HRESULT video_renderer_connect(struct strmbase_renderer *iface, const AM_
filter->VideoWidth = bitmap_header->biWidth;
filter->VideoHeight = abs(bitmap_header->biHeight);
SetRect(&rect, 0, 0, filter->VideoWidth, filter->VideoHeight);
filter->window.src = filter->window.dst = rect;
filter->window.src = rect;
AdjustWindowRectEx(&rect, GetWindowLongW(window, GWL_STYLE), FALSE,
GetWindowLongW(window, GWL_EXSTYLE));
SetWindowPos(window, NULL, 0, 0, rect.right - rect.left, rect.bottom - rect.top,
SWP_NOMOVE | SWP_NOZORDER | SWP_NOACTIVATE);
GetClientRect(window, &filter->window.dst);
return S_OK;
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment