[PATCH 0/4] MR7125: mfreadwrite/tests: Add some tests.
I have some local patches which implements more of the writer. I'm going to submit a new MR once they are ready. Now just submit the tests MR. -- https://gitlab.winehq.org/wine/wine/-/merge_requests/7125
From: Ziqing Hui <zhui(a)codeweavers.com> --- dlls/mfreadwrite/tests/mfplat.c | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/dlls/mfreadwrite/tests/mfplat.c b/dlls/mfreadwrite/tests/mfplat.c index b6981479a1b..21758cc5aae 100644 --- a/dlls/mfreadwrite/tests/mfplat.c +++ b/dlls/mfreadwrite/tests/mfplat.c @@ -1612,23 +1612,19 @@ static void test_sink_writer_mp4(void) hr = MFCreateSinkWriterFromURL(NULL, stream, attr, &writer); ok(hr == S_OK, "Unexpected hr %#lx.\n", hr); - if (hr == S_OK) - IMFSinkWriter_Release(writer); + IMFSinkWriter_Release(writer); hr = MFCreateSinkWriterFromURL(tmp_file, NULL, NULL, &writer); ok(hr == S_OK, "Unexpected hr %#lx.\n", hr); - if (hr == S_OK) - IMFSinkWriter_Release(writer); + IMFSinkWriter_Release(writer); hr = MFCreateSinkWriterFromURL(tmp_file, NULL, attr, &writer); ok(hr == S_OK, "Unexpected hr %#lx.\n", hr); - if (hr == S_OK) - IMFSinkWriter_Release(writer); + IMFSinkWriter_Release(writer); hr = MFCreateSinkWriterFromURL(tmp_file, stream, NULL, &writer); ok(hr == S_OK, "Unexpected hr %#lx.\n", hr); - if (hr == S_OK) - IMFSinkWriter_Release(writer); + IMFSinkWriter_Release(writer); hr = MFCreateSinkWriterFromURL(tmp_file, stream, attr, &writer); ok(hr == S_OK, "Unexpected hr %#lx.\n", hr); -- GitLab https://gitlab.winehq.org/wine/wine/-/merge_requests/7125
From: Ziqing Hui <zhui(a)codeweavers.com> --- dlls/mfreadwrite/tests/mfplat.c | 78 ++++++++++++++++++++++++++++++++- 1 file changed, 77 insertions(+), 1 deletion(-) diff --git a/dlls/mfreadwrite/tests/mfplat.c b/dlls/mfreadwrite/tests/mfplat.c index 21758cc5aae..70c058eb29f 100644 --- a/dlls/mfreadwrite/tests/mfplat.c +++ b/dlls/mfreadwrite/tests/mfplat.c @@ -1582,11 +1582,31 @@ static void test_sink_writer_create(void) static void test_sink_writer_mp4(void) { + static const struct attribute_desc video_stream_type_desc[] = + { + ATTR_GUID(MF_MT_MAJOR_TYPE, MFMediaType_Video), + ATTR_GUID(MF_MT_SUBTYPE, MFVideoFormat_H264), + ATTR_RATIO(MF_MT_FRAME_SIZE, 96, 96), + ATTR_RATIO(MF_MT_FRAME_RATE, 30000, 1001), + ATTR_UINT32(MF_MT_AVG_BITRATE, 193540), + ATTR_UINT32(MF_MT_INTERLACE_MODE, MFVideoInterlace_Progressive), + {0}, + }; + static const struct attribute_desc video_input_type_desc[] = + { + ATTR_GUID(MF_MT_MAJOR_TYPE, MFMediaType_Video), + ATTR_GUID(MF_MT_SUBTYPE, MFVideoFormat_RGB32), + ATTR_RATIO(MF_MT_FRAME_SIZE, 96, 96), + ATTR_RATIO(MF_MT_FRAME_RATE, 30000, 1001), + {0}, + }; + IMFMediaType *stream_type, *input_type; WCHAR tmp_file[MAX_PATH]; IMFSinkWriter *writer; IMFByteStream *stream; IMFAttributes *attr; IMFMediaSink *sink; + DWORD index; HRESULT hr; GetTempPathW(ARRAY_SIZE(tmp_file), tmp_file); @@ -1598,6 +1618,10 @@ static void test_sink_writer_mp4(void) ok(hr == S_OK, "Unexpected hr %#lx.\n", hr); hr = MFCreateTempFile(MF_ACCESSMODE_READWRITE, MF_OPENMODE_DELETE_IF_EXIST, MF_FILEFLAGS_NONE, &stream); ok(hr == S_OK, "Unexpected hr %#lx.\n", hr); + hr = MFCreateMediaType(&stream_type); + ok(hr == S_OK, "Unexpected hr %#lx.\n", hr); + hr = MFCreateMediaType(&input_type); + ok(hr == S_OK, "Unexpected hr %#lx.\n", hr); /* Test MFCreateSinkWriterFromURL. */ writer = (void *)0xdeadbeef; @@ -1629,7 +1653,43 @@ static void test_sink_writer_mp4(void) hr = MFCreateSinkWriterFromURL(tmp_file, stream, attr, &writer); ok(hr == S_OK, "Unexpected hr %#lx.\n", hr); - /* Test GetServiceForStream. */ + /* BeginWriting fails before calling AddStream. */ + hr = IMFSinkWriter_BeginWriting(writer); + ok(hr == MF_E_INVALIDREQUEST, "BeginWriting returned %#lx.\n", hr); + + /* Test AddStream. */ + init_media_type(stream_type, video_stream_type_desc, -1); + + hr = IMFSinkWriter_AddStream(writer, NULL, NULL); + ok(hr == E_INVALIDARG, "AddStream returned %#lx.\n", hr); + hr = IMFSinkWriter_AddStream(writer, stream_type, NULL); + ok(hr == E_POINTER, "AddStream returned %#lx.\n", hr); + + index = 0xdeadbeef; + hr = IMFSinkWriter_AddStream(writer, NULL, &index); + ok(hr == E_INVALIDARG, "AddStream returned %#lx.\n", hr); + ok(index == 0xdeadbeef, "Unexpected index %lu.\n", index); + + hr = IMFSinkWriter_AddStream(writer, stream_type, &index); + ok(hr == S_OK, "AddStream returned %#lx.\n", hr); + ok(index == 0, "Unexpected index %lu.\n", index); + + /* Test SetInputMediaType. */ + init_media_type(input_type, video_input_type_desc, -1); + hr = IMFSinkWriter_SetInputMediaType(writer, 0xdeadbeef, NULL, NULL); + todo_wine + ok(hr == E_INVALIDARG, "SetInputMediaType returned %#lx.\n", hr); + hr = IMFSinkWriter_SetInputMediaType(writer, 0, NULL, NULL); + todo_wine + ok(hr == E_INVALIDARG, "SetInputMediaType returned %#lx.\n", hr); + hr = IMFSinkWriter_SetInputMediaType(writer, 0xdeadbeef, input_type, NULL); + todo_wine + ok(hr == MF_E_INVALIDSTREAMNUMBER, "SetInputMediaType returned %#lx.\n", hr); + hr = IMFSinkWriter_SetInputMediaType(writer, 0, input_type, NULL); + todo_wine + ok(hr == S_OK, "SetInputMediaType returned %#lx.\n", hr); + + /* Test GetServiceForStream before calling BeginWriting. */ sink = (void *)0xdeadbeef; hr = IMFSinkWriter_GetServiceForStream(writer, MF_SINK_WRITER_MEDIASINK, &GUID_NULL, &IID_IMFMediaSink, (void **)&sink); @@ -1638,8 +1698,24 @@ static void test_sink_writer_mp4(void) todo_wine ok(!sink, "Unexpected pointer %p.\n", sink); + /* Test BeginWriting. */ + hr = IMFSinkWriter_BeginWriting(writer); + todo_wine + ok(hr == S_OK, "BeginWriting returned %#lx.\n", hr); + hr = IMFSinkWriter_BeginWriting(writer); + todo_wine + ok(hr == MF_E_INVALIDREQUEST, "BeginWriting returned %#lx.\n", hr); + + /* Test GetServiceForStream after calling BeginWriting. */ + hr = IMFSinkWriter_GetServiceForStream(writer, MF_SINK_WRITER_MEDIASINK, + &GUID_NULL, &IID_IMFMediaSink, (void **)&sink); + ok(hr == S_OK, "GetServiceForStream returned %#lx.\n", hr); + IMFMediaSink_Release(sink); + DeleteFileW(tmp_file); IMFSinkWriter_Release(writer); + IMFMediaType_Release(input_type); + IMFMediaType_Release(stream_type); IMFByteStream_Release(stream); IMFAttributes_Release(attr); } -- GitLab https://gitlab.winehq.org/wine/wine/-/merge_requests/7125
From: Ziqing Hui <zhui(a)codeweavers.com> The tests indicate that writer has 2 transforms: a processor and a encoder. --- dlls/mfreadwrite/tests/mfplat.c | 49 +++++++++++++++++++++++++++++++-- 1 file changed, 47 insertions(+), 2 deletions(-) diff --git a/dlls/mfreadwrite/tests/mfplat.c b/dlls/mfreadwrite/tests/mfplat.c index 70c058eb29f..6e49976aa4c 100644 --- a/dlls/mfreadwrite/tests/mfplat.c +++ b/dlls/mfreadwrite/tests/mfplat.c @@ -1601,13 +1601,16 @@ static void test_sink_writer_mp4(void) {0}, }; IMFMediaType *stream_type, *input_type; + IMFSinkWriterEx *writer_ex = NULL; WCHAR tmp_file[MAX_PATH]; + IMFTransform *transform; IMFSinkWriter *writer; IMFByteStream *stream; IMFAttributes *attr; IMFMediaSink *sink; DWORD index; HRESULT hr; + GUID guid; GetTempPathW(ARRAY_SIZE(tmp_file), tmp_file); wcscat(tmp_file, L"tmp.mp4"); @@ -1653,6 +1656,10 @@ static void test_sink_writer_mp4(void) hr = MFCreateSinkWriterFromURL(tmp_file, stream, attr, &writer); ok(hr == S_OK, "Unexpected hr %#lx.\n", hr); + hr = IMFSinkWriter_QueryInterface(writer, &IID_IMFSinkWriterEx, (void **)&writer_ex); + todo_wine + ok(hr == S_OK, "QueryInterface returned %#lx.\n", hr); + /* BeginWriting fails before calling AddStream. */ hr = IMFSinkWriter_BeginWriting(writer); ok(hr == MF_E_INVALIDREQUEST, "BeginWriting returned %#lx.\n", hr); @@ -1674,6 +1681,19 @@ static void test_sink_writer_mp4(void) ok(hr == S_OK, "AddStream returned %#lx.\n", hr); ok(index == 0, "Unexpected index %lu.\n", index); + /* Get transform before SetInputMediaType. */ + transform = (void *)0xdeadbeef; + hr = IMFSinkWriter_GetServiceForStream(writer, 0, &GUID_NULL, &IID_IMFTransform, (void **)&transform); + todo_wine + ok(hr == MF_E_UNSUPPORTED_SERVICE, "GetServiceForStream returned %#lx.\n", hr); + ok(!transform, "Unexpected pointer %p.\n", transform); + + if (writer_ex) + { + hr = IMFSinkWriterEx_GetTransformForStream(writer_ex, 0, 0, &guid, &transform); + ok(hr == MF_E_INVALIDINDEX, "GetTransformForStream returned %#lx.\n", hr); + } + /* Test SetInputMediaType. */ init_media_type(input_type, video_input_type_desc, -1); hr = IMFSinkWriter_SetInputMediaType(writer, 0xdeadbeef, NULL, NULL); @@ -1689,7 +1709,30 @@ static void test_sink_writer_mp4(void) todo_wine ok(hr == S_OK, "SetInputMediaType returned %#lx.\n", hr); - /* Test GetServiceForStream before calling BeginWriting. */ + /* Get transform after SetInputMediaType. */ + hr = IMFSinkWriter_GetServiceForStream(writer, 0, &GUID_NULL, &IID_IMFTransform, (void **)&transform); + todo_wine + ok(hr == S_OK, "GetServiceForStream returned %#lx.\n", hr); + if (hr == S_OK) + IMFTransform_Release(transform); + + if (writer_ex) + { + hr = IMFSinkWriterEx_GetTransformForStream(writer_ex, 0, 0, &guid, &transform); + ok(hr == S_OK, "GetTransformForStream returned %#lx.\n", hr); + ok(IsEqualGUID(&guid, &MFT_CATEGORY_VIDEO_PROCESSOR), "Unexpected guid %s.\n", debugstr_guid(&guid)); + IMFTransform_Release(transform); + + hr = IMFSinkWriterEx_GetTransformForStream(writer_ex, 0, 1, &guid, &transform); + ok(hr == S_OK, "GetTransformForStream returned %#lx.\n", hr); + ok(IsEqualGUID(&guid, &MFT_CATEGORY_VIDEO_ENCODER), "Unexpected guid %s.\n", debugstr_guid(&guid)); + IMFTransform_Release(transform); + + hr = IMFSinkWriterEx_GetTransformForStream(writer_ex, 0, 2, &guid, &transform); + ok(hr == MF_E_INVALIDINDEX, "GetTransformForStream returned %#lx.\n", hr); + } + + /* Get media sink before BeginWriting. */ sink = (void *)0xdeadbeef; hr = IMFSinkWriter_GetServiceForStream(writer, MF_SINK_WRITER_MEDIASINK, &GUID_NULL, &IID_IMFMediaSink, (void **)&sink); @@ -1706,12 +1749,14 @@ static void test_sink_writer_mp4(void) todo_wine ok(hr == MF_E_INVALIDREQUEST, "BeginWriting returned %#lx.\n", hr); - /* Test GetServiceForStream after calling BeginWriting. */ + /* Get media sink after BeginWriting. */ hr = IMFSinkWriter_GetServiceForStream(writer, MF_SINK_WRITER_MEDIASINK, &GUID_NULL, &IID_IMFMediaSink, (void **)&sink); ok(hr == S_OK, "GetServiceForStream returned %#lx.\n", hr); IMFMediaSink_Release(sink); + if (writer_ex) + IMFSinkWriterEx_Release(writer_ex); DeleteFileW(tmp_file); IMFSinkWriter_Release(writer); IMFMediaType_Release(input_type); -- GitLab https://gitlab.winehq.org/wine/wine/-/merge_requests/7125
From: Ziqing Hui <zhui(a)codeweavers.com> --- dlls/mfreadwrite/tests/mfplat.c | 72 ++++++++++++++++++++++++++++++--- 1 file changed, 67 insertions(+), 5 deletions(-) diff --git a/dlls/mfreadwrite/tests/mfplat.c b/dlls/mfreadwrite/tests/mfplat.c index 6e49976aa4c..ad5506e8dd5 100644 --- a/dlls/mfreadwrite/tests/mfplat.c +++ b/dlls/mfreadwrite/tests/mfplat.c @@ -162,6 +162,37 @@ static void init_attributes_(const char *file, int line, IMFAttributes *attribut } } +static IMFSample *create_sample(const BYTE *data, DWORD size) +{ + IMFMediaBuffer *media_buffer; + IMFSample *sample; + BYTE *buffer; + DWORD length; + HRESULT hr; + ULONG ret; + + hr = MFCreateSample(&sample); + ok(hr == S_OK, "MFCreateSample returned %#lx\n", hr); + hr = MFCreateMemoryBuffer(size, &media_buffer); + ok(hr == S_OK, "MFCreateMemoryBuffer returned %#lx\n", hr); + + hr = IMFMediaBuffer_Lock(media_buffer, &buffer, NULL, &length); + ok(hr == S_OK, "Lock returned %#lx\n", hr); + ok(length == 0, "Unexpected length %lu\n", length); + memcpy(buffer, data, size); + hr = IMFMediaBuffer_Unlock(media_buffer); + ok(hr == S_OK, "Unlock returned %#lx\n", hr); + + hr = IMFMediaBuffer_SetCurrentLength(media_buffer, size); + ok(hr == S_OK, "SetCurrentLength returned %#lx\n", hr); + hr = IMFSample_AddBuffer(sample, media_buffer); + ok(hr == S_OK, "AddBuffer returned %#lx\n", hr); + ret = IMFMediaBuffer_Release(media_buffer); + ok(ret == 1, "Release returned %lu\n", ret); + + return sample; +} + static ULONG get_refcount(void *iface) { IUnknown *unknown = iface; @@ -1602,13 +1633,15 @@ static void test_sink_writer_mp4(void) }; IMFMediaType *stream_type, *input_type; IMFSinkWriterEx *writer_ex = NULL; + DWORD rgb32_data[96 * 96]; WCHAR tmp_file[MAX_PATH]; IMFTransform *transform; IMFSinkWriter *writer; IMFByteStream *stream; + DWORD index, i, size; IMFAttributes *attr; IMFMediaSink *sink; - DWORD index; + HANDLE file; HRESULT hr; GUID guid; @@ -1641,10 +1674,6 @@ static void test_sink_writer_mp4(void) ok(hr == S_OK, "Unexpected hr %#lx.\n", hr); IMFSinkWriter_Release(writer); - hr = MFCreateSinkWriterFromURL(tmp_file, NULL, NULL, &writer); - ok(hr == S_OK, "Unexpected hr %#lx.\n", hr); - IMFSinkWriter_Release(writer); - hr = MFCreateSinkWriterFromURL(tmp_file, NULL, attr, &writer); ok(hr == S_OK, "Unexpected hr %#lx.\n", hr); IMFSinkWriter_Release(writer); @@ -1655,6 +1684,10 @@ static void test_sink_writer_mp4(void) hr = MFCreateSinkWriterFromURL(tmp_file, stream, attr, &writer); ok(hr == S_OK, "Unexpected hr %#lx.\n", hr); + IMFSinkWriter_Release(writer); + + hr = MFCreateSinkWriterFromURL(tmp_file, NULL, NULL, &writer); + ok(hr == S_OK, "Unexpected hr %#lx.\n", hr); hr = IMFSinkWriter_QueryInterface(writer, &IID_IMFSinkWriterEx, (void **)&writer_ex); todo_wine @@ -1755,6 +1788,35 @@ static void test_sink_writer_mp4(void) ok(hr == S_OK, "GetServiceForStream returned %#lx.\n", hr); IMFMediaSink_Release(sink); + /* WriteSample. */ + for (i = 0; i < ARRAY_SIZE(rgb32_data); ++i) + rgb32_data[i] = 0x0000ff00; + for (i = 0; i < 30; ++i) + { + IMFSample *sample = create_sample((const BYTE *)rgb32_data, sizeof(rgb32_data)); + hr = IMFSample_SetSampleTime(sample, 333333 * i); + ok(hr == S_OK, "SetSampleTime returned %#lx.\n", hr); + hr = IMFSample_SetSampleDuration(sample, 333333); + ok(hr == S_OK, "SetSampleDuration returned %#lx.\n", hr); + hr = IMFSinkWriter_WriteSample(writer, 0, sample); + todo_wine + ok(hr == S_OK, "WriteSample returned %#lx.\n", hr); + IMFSample_Release(sample); + } + + /* Finalize. */ + hr = IMFSinkWriter_Finalize(writer); + todo_wine + ok(hr == S_OK, "Finalize returned %#lx.\n", hr); + + /* Check the output file. */ + file = CreateFileW(tmp_file, GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL); + todo_wine + ok(file != INVALID_HANDLE_VALUE, "CreateFileW failed.\n"); + size = GetFileSize(file, NULL); + todo_wine + ok(size != INVALID_FILE_SIZE && size > 0x400, "Unexpected file size %#lx.\n", size); + if (writer_ex) IMFSinkWriterEx_Release(writer_ex); DeleteFileW(tmp_file); -- GitLab https://gitlab.winehq.org/wine/wine/-/merge_requests/7125
Hi, It looks like your patch introduced the new failures shown below. Please investigate and fix them before resubmitting your patch. If they are not new, fixing them anyway would help a lot. Otherwise please ask for the known failures list to be updated. The full results can be found at: https://testbot.winehq.org/JobDetails.pl?Key=150837 Your paranoid android. === w7u_2qxl (32 bit report) === mfreadwrite: mfplat.c:1694: Test failed: QueryInterface returned 0x80004002. mfplat.c:1743: Test failed: SetInputMediaType returned 0xc00d36b4. mfplat.c:1748: Test failed: GetServiceForStream returned 0xc00d36ba. mfplat.c:1803: Test failed: WriteSample returned 0x8000ffff. mfplat.c:1803: Test failed: WriteSample returned 0x8000ffff. mfplat.c:1803: Test failed: WriteSample returned 0x8000ffff. mfplat.c:1803: Test failed: WriteSample returned 0x8000ffff. mfplat.c:1803: Test failed: WriteSample returned 0x8000ffff. mfplat.c:1803: Test failed: WriteSample returned 0x8000ffff. mfplat.c:1803: Test failed: WriteSample returned 0x8000ffff. mfplat.c:1803: Test failed: WriteSample returned 0x8000ffff. mfplat.c:1803: Test failed: WriteSample returned 0x8000ffff. mfplat.c:1803: Test failed: WriteSample returned 0x8000ffff. mfplat.c:1803: Test failed: WriteSample returned 0x8000ffff. mfplat.c:1803: Test failed: WriteSample returned 0x8000ffff. mfplat.c:1803: Test failed: WriteSample returned 0x8000ffff. mfplat.c:1803: Test failed: WriteSample returned 0x8000ffff. mfplat.c:1803: Test failed: WriteSample returned 0x8000ffff. mfplat.c:1803: Test failed: WriteSample returned 0x8000ffff. mfplat.c:1803: Test failed: WriteSample returned 0x8000ffff. mfplat.c:1803: Test failed: WriteSample returned 0x8000ffff. mfplat.c:1803: Test failed: WriteSample returned 0x8000ffff. mfplat.c:1803: Test failed: WriteSample returned 0x8000ffff. mfplat.c:1803: Test failed: WriteSample returned 0x8000ffff. mfplat.c:1803: Test failed: WriteSample returned 0x8000ffff. mfplat.c:1803: Test failed: WriteSample returned 0x8000ffff. mfplat.c:1803: Test failed: WriteSample returned 0x8000ffff. mfplat.c:1803: Test failed: WriteSample returned 0x8000ffff. mfplat.c:1803: Test failed: WriteSample returned 0x8000ffff. mfplat.c:1803: Test failed: WriteSample returned 0x8000ffff. mfplat.c:1803: Test failed: WriteSample returned 0x8000ffff. mfplat.c:1810: Test failed: Finalize returned 0x8000ffff. mfplat.c:1815: Test failed: CreateFileW failed. mfplat.c:1818: Test failed: Unexpected file size 0xffffffff. === w7u_adm (32 bit report) === mfreadwrite: mfplat.c:1694: Test failed: QueryInterface returned 0x80004002. mfplat.c:1743: Test failed: SetInputMediaType returned 0xc00d36b4. mfplat.c:1748: Test failed: GetServiceForStream returned 0xc00d36ba. mfplat.c:1803: Test failed: WriteSample returned 0x8000ffff. mfplat.c:1803: Test failed: WriteSample returned 0x8000ffff. mfplat.c:1803: Test failed: WriteSample returned 0x8000ffff. mfplat.c:1803: Test failed: WriteSample returned 0x8000ffff. mfplat.c:1803: Test failed: WriteSample returned 0x8000ffff. mfplat.c:1803: Test failed: WriteSample returned 0x8000ffff. mfplat.c:1803: Test failed: WriteSample returned 0x8000ffff. mfplat.c:1803: Test failed: WriteSample returned 0x8000ffff. mfplat.c:1803: Test failed: WriteSample returned 0x8000ffff. mfplat.c:1803: Test failed: WriteSample returned 0x8000ffff. mfplat.c:1803: Test failed: WriteSample returned 0x8000ffff. mfplat.c:1803: Test failed: WriteSample returned 0x8000ffff. mfplat.c:1803: Test failed: WriteSample returned 0x8000ffff. mfplat.c:1803: Test failed: WriteSample returned 0x8000ffff. mfplat.c:1803: Test failed: WriteSample returned 0x8000ffff. mfplat.c:1803: Test failed: WriteSample returned 0x8000ffff. mfplat.c:1803: Test failed: WriteSample returned 0x8000ffff. mfplat.c:1803: Test failed: WriteSample returned 0x8000ffff. mfplat.c:1803: Test failed: WriteSample returned 0x8000ffff. mfplat.c:1803: Test failed: WriteSample returned 0x8000ffff. mfplat.c:1803: Test failed: WriteSample returned 0x8000ffff. mfplat.c:1803: Test failed: WriteSample returned 0x8000ffff. mfplat.c:1803: Test failed: WriteSample returned 0x8000ffff. mfplat.c:1803: Test failed: WriteSample returned 0x8000ffff. mfplat.c:1803: Test failed: WriteSample returned 0x8000ffff. mfplat.c:1803: Test failed: WriteSample returned 0x8000ffff. mfplat.c:1803: Test failed: WriteSample returned 0x8000ffff. mfplat.c:1803: Test failed: WriteSample returned 0x8000ffff. mfplat.c:1803: Test failed: WriteSample returned 0x8000ffff. mfplat.c:1803: Test failed: WriteSample returned 0x8000ffff. mfplat.c:1810: Test failed: Finalize returned 0xc00d4a44. mfplat.c:1815: Test failed: CreateFileW failed. mfplat.c:1818: Test failed: Unexpected file size 0xffffffff. === w7u_el (32 bit report) === mfreadwrite: mfplat.c:1694: Test failed: QueryInterface returned 0x80004002. mfplat.c:1743: Test failed: SetInputMediaType returned 0xc00d36b4. mfplat.c:1748: Test failed: GetServiceForStream returned 0xc00d36ba. mfplat.c:1803: Test failed: WriteSample returned 0x8000ffff. mfplat.c:1803: Test failed: WriteSample returned 0x8000ffff. mfplat.c:1803: Test failed: WriteSample returned 0x8000ffff. mfplat.c:1803: Test failed: WriteSample returned 0x8000ffff. mfplat.c:1803: Test failed: WriteSample returned 0x8000ffff. mfplat.c:1803: Test failed: WriteSample returned 0x8000ffff. mfplat.c:1803: Test failed: WriteSample returned 0x8000ffff. mfplat.c:1803: Test failed: WriteSample returned 0x8000ffff. mfplat.c:1803: Test failed: WriteSample returned 0x8000ffff. mfplat.c:1803: Test failed: WriteSample returned 0x8000ffff. mfplat.c:1803: Test failed: WriteSample returned 0x8000ffff. mfplat.c:1803: Test failed: WriteSample returned 0x8000ffff. mfplat.c:1803: Test failed: WriteSample returned 0x8000ffff. mfplat.c:1803: Test failed: WriteSample returned 0x8000ffff. mfplat.c:1803: Test failed: WriteSample returned 0x8000ffff. mfplat.c:1803: Test failed: WriteSample returned 0x8000ffff. mfplat.c:1803: Test failed: WriteSample returned 0x8000ffff. mfplat.c:1803: Test failed: WriteSample returned 0x8000ffff. mfplat.c:1803: Test failed: WriteSample returned 0x8000ffff. mfplat.c:1803: Test failed: WriteSample returned 0x8000ffff. mfplat.c:1803: Test failed: WriteSample returned 0x8000ffff. mfplat.c:1803: Test failed: WriteSample returned 0x8000ffff. mfplat.c:1803: Test failed: WriteSample returned 0x8000ffff. mfplat.c:1803: Test failed: WriteSample returned 0x8000ffff. mfplat.c:1803: Test failed: WriteSample returned 0x8000ffff. mfplat.c:1803: Test failed: WriteSample returned 0x8000ffff. mfplat.c:1803: Test failed: WriteSample returned 0x8000ffff. mfplat.c:1810: Test failed: Finalize returned 0x8000ffff. mfplat.c:1815: Test failed: CreateFileW failed. mfplat.c:1818: Test failed: Unexpected file size 0xffffffff. === w7pro64 (64 bit report) === mfreadwrite: mfplat.c:1694: Test failed: QueryInterface returned 0x80004002. mfplat.c:1743: Test failed: SetInputMediaType returned 0xc00d36b4. mfplat.c:1748: Test failed: GetServiceForStream returned 0xc00d36ba. mfplat.c:1803: Test failed: WriteSample returned 0x8000ffff. mfplat.c:1803: Test failed: WriteSample returned 0x8000ffff. mfplat.c:1803: Test failed: WriteSample returned 0x8000ffff. mfplat.c:1803: Test failed: WriteSample returned 0x8000ffff. mfplat.c:1803: Test failed: WriteSample returned 0x8000ffff. mfplat.c:1803: Test failed: WriteSample returned 0x8000ffff. mfplat.c:1803: Test failed: WriteSample returned 0x8000ffff. mfplat.c:1803: Test failed: WriteSample returned 0x8000ffff. mfplat.c:1803: Test failed: WriteSample returned 0x8000ffff. mfplat.c:1803: Test failed: WriteSample returned 0x8000ffff. mfplat.c:1803: Test failed: WriteSample returned 0x8000ffff. mfplat.c:1803: Test failed: WriteSample returned 0x8000ffff. mfplat.c:1803: Test failed: WriteSample returned 0x8000ffff. mfplat.c:1803: Test failed: WriteSample returned 0x8000ffff. mfplat.c:1803: Test failed: WriteSample returned 0x8000ffff. mfplat.c:1803: Test failed: WriteSample returned 0x8000ffff. mfplat.c:1803: Test failed: WriteSample returned 0x8000ffff. mfplat.c:1803: Test failed: WriteSample returned 0x8000ffff. mfplat.c:1803: Test failed: WriteSample returned 0x8000ffff. mfplat.c:1803: Test failed: WriteSample returned 0x8000ffff. mfplat.c:1803: Test failed: WriteSample returned 0x8000ffff. mfplat.c:1803: Test failed: WriteSample returned 0x8000ffff. mfplat.c:1803: Test failed: WriteSample returned 0x8000ffff. mfplat.c:1803: Test failed: WriteSample returned 0x8000ffff. mfplat.c:1803: Test failed: WriteSample returned 0x8000ffff. mfplat.c:1803: Test failed: WriteSample returned 0x8000ffff. mfplat.c:1803: Test failed: WriteSample returned 0x8000ffff. mfplat.c:1803: Test failed: WriteSample returned 0x8000ffff. mfplat.c:1803: Test failed: WriteSample returned 0x8000ffff. mfplat.c:1803: Test failed: WriteSample returned 0x8000ffff. mfplat.c:1810: Test failed: Finalize returned 0xc00d4a44. mfplat.c:1815: Test failed: CreateFileW failed. mfplat.c:1818: Test failed: Unexpected file size 0xffffffff.
participants (3)
-
Marvin -
Ziqing Hui -
Ziqing Hui (@zhui)