From: Brendan McGrath <bmcgrath@codeweavers.com> --- dlls/amstream/tests/amstream.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/dlls/amstream/tests/amstream.c b/dlls/amstream/tests/amstream.c index 024cd1029a9..c567b7598d5 100644 --- a/dlls/amstream/tests/amstream.c +++ b/dlls/amstream/tests/amstream.c @@ -4205,11 +4205,27 @@ static void test_ddrawstream_receive_connection(void) hr = IDirectDrawMediaStream_SetFormat(ddraw_stream, &rgb555_format, NULL); ok(hr == S_OK, "Got hr %#lx.\n", hr); + /* After SetFormat is called, only this format is accepted by QueryAccept ... */ + mt = rgb555_mt; + mt.pbFormat = (BYTE *)&video_info; + hr = IPin_QueryAccept(pin, &mt); + todo_wine + ok(hr == S_OK, "Got hr %#lx.\n", hr); + + mt = rgb8_mt; + mt.pbFormat = (BYTE *)&video_info; + hr = IPin_QueryAccept(pin, &mt); + todo_wine + ok(hr == VFW_E_TYPE_NOT_ACCEPTED, "Got hr %#lx.\n", hr); hr = IPin_ReceiveConnection(pin, &source.source.pin.IPin_iface, &rgb565_mt); ok(hr == VFW_E_TYPE_NOT_ACCEPTED, "Got hr %#lx.\n", hr); hr = IPin_ReceiveConnection(pin, &source.source.pin.IPin_iface, &rgb555_mt); ok(hr == S_OK, "Got hr %#lx.\n", hr); + /* .. even when connected (where all supported types were previously accepted) */ + hr = IPin_QueryAccept(pin, &mt); + todo_wine + ok(hr == VFW_E_TYPE_NOT_ACCEPTED, "Got hr %#lx.\n", hr); hr = IPin_Disconnect(pin); ok(hr == S_OK, "Got hr %#lx.\n", hr); -- GitLab https://gitlab.winehq.org/wine/wine/-/merge_requests/10643