From: Ziqing Hui zhui@codeweavers.com
--- dlls/mfreadwrite/tests/mfplat.c | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+)
diff --git a/dlls/mfreadwrite/tests/mfplat.c b/dlls/mfreadwrite/tests/mfplat.c index 116910e66c1..372b0927922 100644 --- a/dlls/mfreadwrite/tests/mfplat.c +++ b/dlls/mfreadwrite/tests/mfplat.c @@ -1494,6 +1494,34 @@ static void test_sink_writer_create(void) ok(!writer, "Unexpected pointer %p.\n", writer); }
+static void test_sink_writer_mp4(void) +{ + WCHAR tmp_file[MAX_PATH]; + IMFSinkWriter *writer; + IMFMediaSink *sink; + HRESULT hr; + + /* Create writer. */ + 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; + + /* Test GetService. */ + sink = (void *)0xdeadbeef; + hr = IMFSinkWriter_GetServiceForStream(writer, MF_SINK_WRITER_MEDIASINK, + &GUID_NULL, &IID_IMFMediaSink, (void **)&sink); + todo_wine + ok(hr == MF_E_UNSUPPORTED_SERVICE, "Unexpected hr %#lx.\n", hr); + todo_wine + ok(!sink, "Unexpected pointer %p.\n", sink); + + IMFSinkWriter_Release(writer); +} + START_TEST(mfplat) { HRESULT hr; @@ -1509,6 +1537,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);