From: Ziqing Hui zhui@codeweavers.com
--- dlls/mfreadwrite/tests/mfplat.c | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+)
diff --git a/dlls/mfreadwrite/tests/mfplat.c b/dlls/mfreadwrite/tests/mfplat.c index bd0196fe9c4..2a098e8a5fe 100644 --- a/dlls/mfreadwrite/tests/mfplat.c +++ b/dlls/mfreadwrite/tests/mfplat.c @@ -1498,6 +1498,31 @@ static void test_sink_writer_create(void) IMFAttributes_Release(attr); }
+static void test_sink_writer_mp4(void) +{ + WCHAR tmp_file[MAX_PATH]; + IMFSinkWriter *writer; + IMFMediaSink *sink; + HRESULT hr; + + GetTempPathW(ARRAY_SIZE(tmp_file), tmp_file); + wcscat(tmp_file, L"tmp.mp4"); + hr = MFCreateSinkWriterFromURL(tmp_file, NULL, NULL, &writer); + todo_wine + ok(hr == S_OK, "Unexpected hr %#lx.\n", hr); + if (hr != S_OK) + return; + + sink = (void *)0xdeadbeef; + hr = IMFSinkWriter_GetServiceForStream(writer, MF_SINK_WRITER_MEDIASINK, + &GUID_NULL, &IID_IMFMediaSink, (void **)&sink); + ok(hr == MF_E_UNSUPPORTED_SERVICE, "Unexpected hr %#lx.\n", hr); + ok(!sink, "Unexpected pointer %p.\n", sink); + + DeleteFileW(tmp_file); + IMFSinkWriter_Release(writer); +} + START_TEST(mfplat) { HRESULT hr; @@ -1513,6 +1538,7 @@ START_TEST(mfplat) test_source_reader_from_media_source(); test_reader_d3d9(); test_sink_writer_create(); + test_sink_writer_mp4();
hr = MFShutdown(); ok(hr == S_OK, "Unexpected hr %#lx.\n", hr);