mf/tests: Check H264 decoder stream count and IDs.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=45988
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=47084
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=49715
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=52183
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
Rémi Bernon 2022-03-09 09:53:05 +01:00 committed by Alexandre Julliard
parent 7a4aafdad8
commit 6860e9ab29
1 changed files with 12 additions and 0 deletions

View File

@ -6631,6 +6631,7 @@ static void test_h264_decoder(void)
MFT_REGISTER_TYPE_INFO input_type = {MFMediaType_Video, MFVideoFormat_H264}; MFT_REGISTER_TYPE_INFO input_type = {MFMediaType_Video, MFVideoFormat_H264};
MFT_REGISTER_TYPE_INFO output_type = {MFMediaType_Video, MFVideoFormat_NV12}; MFT_REGISTER_TYPE_INFO output_type = {MFMediaType_Video, MFVideoFormat_NV12};
DWORD input_id, output_id, input_count, output_count;
const BYTE *h264_encoded_data, *nv12_frame_data; const BYTE *h264_encoded_data, *nv12_frame_data;
ULONG h264_encoded_data_len, nv12_frame_len; ULONG h264_encoded_data_len, nv12_frame_len;
MFT_OUTPUT_STREAM_INFO output_info; MFT_OUTPUT_STREAM_INFO output_info;
@ -6841,6 +6842,17 @@ static void test_h264_decoder(void)
todo_wine todo_wine
ok(output_info.cbAlignment == 0, "got cbAlignment %#lx\n", output_info.cbAlignment); ok(output_info.cbAlignment == 0, "got cbAlignment %#lx\n", output_info.cbAlignment);
input_count = output_count = 0xdeadbeef;
hr = IMFTransform_GetStreamCount(transform, &input_count, &output_count);
todo_wine
ok(hr == S_OK, "GetStreamCount returned %#lx\n", hr);
todo_wine
ok(input_count == 1, "got input_count %lu\n", input_count);
todo_wine
ok(output_count == 1, "got output_count %lu\n", output_count);
hr = IMFTransform_GetStreamIDs(transform, 1, &input_id, 1, &output_id);
ok(hr == E_NOTIMPL, "GetStreamIDs returned %#lx\n", hr);
resource = FindResourceW(NULL, L"h264data.bin", (const WCHAR *)RT_RCDATA); resource = FindResourceW(NULL, L"h264data.bin", (const WCHAR *)RT_RCDATA);
ok(resource != 0, "FindResourceW failed, error %lu\n", GetLastError()); ok(resource != 0, "FindResourceW failed, error %lu\n", GetLastError());
h264_encoded_data = LockResource(LoadResource(GetModuleHandleW(NULL), resource)); h264_encoded_data = LockResource(LoadResource(GetModuleHandleW(NULL), resource));