From: Santino Mazza smazza@codeweavers.com
--- dlls/mf/tests/mf.c | 212 ++++++++++++++++++++++----------------------- 1 file changed, 106 insertions(+), 106 deletions(-)
diff --git a/dlls/mf/tests/mf.c b/dlls/mf/tests/mf.c index 1e46897bac8..71845772a64 100644 --- a/dlls/mf/tests/mf.c +++ b/dlls/mf/tests/mf.c @@ -1647,23 +1647,25 @@ static const IMFMediaTypeHandlerVtbl test_handler_vtbl =
static const struct test_handler test_handler = {.IMFMediaTypeHandler_iface.lpVtbl = &test_handler_vtbl};
-struct test_media_sink +struct test_stream_sink { - IMFMediaSink IMFMediaSink_iface; - BOOL shutdown; + IMFStreamSink IMFStreamSink_iface; + IMFMediaTypeHandler *handler; + IMFMediaSink *media_sink; };
-static struct test_media_sink *impl_from_IMFMediaSink(IMFMediaSink *iface) +static struct test_stream_sink *impl_from_IMFStreamSink(IMFStreamSink *iface) { - return CONTAINING_RECORD(iface, struct test_media_sink, IMFMediaSink_iface); + return CONTAINING_RECORD(iface, struct test_stream_sink, IMFStreamSink_iface); }
-static HRESULT WINAPI test_media_sink_QueryInterface(IMFMediaSink *iface, REFIID riid, void **obj) +static HRESULT WINAPI test_stream_sink_QueryInterface(IMFStreamSink *iface, REFIID riid, void **obj) { - if (IsEqualIID(riid, &IID_IMFMediaSink) + if (IsEqualIID(riid, &IID_IMFStreamSink) + || IsEqualIID(riid, &IID_IMFMediaEventGenerator) || IsEqualIID(riid, &IID_IUnknown)) { - IMFMediaSink_AddRef((*obj = iface)); + IMFStreamSink_AddRef((*obj = iface)); return S_OK; }
@@ -1671,110 +1673,132 @@ static HRESULT WINAPI test_media_sink_QueryInterface(IMFMediaSink *iface, REFIID return E_NOINTERFACE; }
-static ULONG WINAPI test_media_sink_AddRef(IMFMediaSink *iface) +static ULONG WINAPI test_stream_sink_AddRef(IMFStreamSink *iface) { return 2; }
-static ULONG WINAPI test_media_sink_Release(IMFMediaSink *iface) +static ULONG WINAPI test_stream_sink_Release(IMFStreamSink *iface) { return 1; }
-static HRESULT WINAPI test_media_sink_GetCharacteristics(IMFMediaSink *iface, DWORD *characteristics) +static HRESULT WINAPI test_stream_sink_GetEvent(IMFStreamSink *iface, DWORD flags, IMFMediaEvent **event) { - *characteristics = 0; - return S_OK; + ok(0, "Unexpected call.\n"); + return E_NOTIMPL; }
-static HRESULT WINAPI test_media_sink_AddStreamSink(IMFMediaSink *iface, - DWORD stream_sink_id, IMFMediaType *media_type, IMFStreamSink **stream_sink) +static HRESULT WINAPI test_stream_sink_BeginGetEvent(IMFStreamSink *iface, IMFAsyncCallback *callback, IUnknown *state) { ok(0, "Unexpected call.\n"); return E_NOTIMPL; }
-static HRESULT WINAPI test_media_sink_RemoveStreamSink(IMFMediaSink *iface, DWORD stream_sink_id) +static HRESULT WINAPI test_stream_sink_EndGetEvent(IMFStreamSink *iface, IMFAsyncResult *result, + IMFMediaEvent **event) { ok(0, "Unexpected call.\n"); return E_NOTIMPL; }
-static HRESULT WINAPI test_media_sink_GetStreamSinkCount(IMFMediaSink *iface, DWORD *count) +static HRESULT WINAPI test_stream_sink_QueueEvent(IMFStreamSink *iface, MediaEventType event_type, + REFGUID ext_type, HRESULT hr, const PROPVARIANT *value) { ok(0, "Unexpected call.\n"); return E_NOTIMPL; }
-static HRESULT WINAPI test_media_sink_GetStreamSinkByIndex(IMFMediaSink *iface, DWORD index, IMFStreamSink **sink) +static HRESULT WINAPI test_stream_sink_GetMediaSink(IMFStreamSink *iface, IMFMediaSink **sink) { + struct test_stream_sink *impl = impl_from_IMFStreamSink(iface); + + if (impl->media_sink) + { + IMFMediaSink_AddRef((*sink = impl->media_sink)); + return S_OK; + } + + todo_wine ok(0, "Unexpected call.\n"); return E_NOTIMPL; }
-static HRESULT WINAPI test_media_sink_GetStreamSinkById(IMFMediaSink *iface, DWORD stream_sink_id, IMFStreamSink **sink) +static HRESULT WINAPI test_stream_sink_GetIdentifier(IMFStreamSink *iface, DWORD *id) { ok(0, "Unexpected call.\n"); return E_NOTIMPL; }
-static HRESULT WINAPI test_media_sink_SetPresentationClock(IMFMediaSink *iface, IMFPresentationClock *clock) +static HRESULT WINAPI test_stream_sink_GetMediaTypeHandler(IMFStreamSink *iface, IMFMediaTypeHandler **handler) +{ + struct test_stream_sink *impl = impl_from_IMFStreamSink(iface); + + if (impl->handler) + { + IMFMediaTypeHandler_AddRef((*handler = impl->handler)); + return S_OK; + } + + ok(0, "Unexpected call.\n"); + return E_NOTIMPL; +} + +static HRESULT WINAPI test_stream_sink_ProcessSample(IMFStreamSink *iface, IMFSample *sample) { ok(0, "Unexpected call.\n"); return E_NOTIMPL; }
-static HRESULT WINAPI test_media_sink_GetPresentationClock(IMFMediaSink *iface, IMFPresentationClock **clock) +static HRESULT WINAPI test_stream_sink_PlaceMarker(IMFStreamSink *iface, MFSTREAMSINK_MARKER_TYPE marker_type, + const PROPVARIANT *marker_value, const PROPVARIANT *context) { ok(0, "Unexpected call.\n"); return E_NOTIMPL; }
-static HRESULT WINAPI test_media_sink_Shutdown(IMFMediaSink *iface) +static HRESULT WINAPI test_stream_sink_Flush(IMFStreamSink *iface) { - struct test_media_sink *sink = impl_from_IMFMediaSink(iface); - ok(!sink->shutdown, "Unexpected call.\n"); - sink->shutdown = TRUE; - return S_OK; + ok(0, "Unexpected call.\n"); + return E_NOTIMPL; }
-static const IMFMediaSinkVtbl test_media_sink_vtbl = +static const IMFStreamSinkVtbl test_stream_sink_vtbl = { - test_media_sink_QueryInterface, - test_media_sink_AddRef, - test_media_sink_Release, - test_media_sink_GetCharacteristics, - test_media_sink_AddStreamSink, - test_media_sink_RemoveStreamSink, - test_media_sink_GetStreamSinkCount, - test_media_sink_GetStreamSinkByIndex, - test_media_sink_GetStreamSinkById, - test_media_sink_SetPresentationClock, - test_media_sink_GetPresentationClock, - test_media_sink_Shutdown, + test_stream_sink_QueryInterface, + test_stream_sink_AddRef, + test_stream_sink_Release, + test_stream_sink_GetEvent, + test_stream_sink_BeginGetEvent, + test_stream_sink_EndGetEvent, + test_stream_sink_QueueEvent, + test_stream_sink_GetMediaSink, + test_stream_sink_GetIdentifier, + test_stream_sink_GetMediaTypeHandler, + test_stream_sink_ProcessSample, + test_stream_sink_PlaceMarker, + test_stream_sink_Flush, };
-static const struct test_media_sink test_media_sink = {.IMFMediaSink_iface.lpVtbl = &test_media_sink_vtbl}; +static const struct test_stream_sink test_stream_sink = {.IMFStreamSink_iface.lpVtbl = &test_stream_sink_vtbl};
-struct test_stream_sink +struct test_media_sink { - IMFStreamSink IMFStreamSink_iface; - IMFMediaTypeHandler *handler; - IMFMediaSink *media_sink; + IMFMediaSink IMFMediaSink_iface; + BOOL shutdown; };
-static struct test_stream_sink *impl_from_IMFStreamSink(IMFStreamSink *iface) +static struct test_media_sink *impl_from_IMFMediaSink(IMFMediaSink *iface) { - return CONTAINING_RECORD(iface, struct test_stream_sink, IMFStreamSink_iface); + return CONTAINING_RECORD(iface, struct test_media_sink, IMFMediaSink_iface); }
-static HRESULT WINAPI test_stream_sink_QueryInterface(IMFStreamSink *iface, REFIID riid, void **obj) +static HRESULT WINAPI test_media_sink_QueryInterface(IMFMediaSink *iface, REFIID riid, void **obj) { - if (IsEqualIID(riid, &IID_IMFStreamSink) - || IsEqualIID(riid, &IID_IMFMediaEventGenerator) + if (IsEqualIID(riid, &IID_IMFMediaSink) || IsEqualIID(riid, &IID_IUnknown)) { - IMFStreamSink_AddRef((*obj = iface)); + IMFMediaSink_AddRef((*obj = iface)); return S_OK; }
@@ -1782,114 +1806,90 @@ static HRESULT WINAPI test_stream_sink_QueryInterface(IMFStreamSink *iface, REFI return E_NOINTERFACE; }
-static ULONG WINAPI test_stream_sink_AddRef(IMFStreamSink *iface) +static ULONG WINAPI test_media_sink_AddRef(IMFMediaSink *iface) { return 2; }
-static ULONG WINAPI test_stream_sink_Release(IMFStreamSink *iface) +static ULONG WINAPI test_media_sink_Release(IMFMediaSink *iface) { return 1; }
-static HRESULT WINAPI test_stream_sink_GetEvent(IMFStreamSink *iface, DWORD flags, IMFMediaEvent **event) -{ - ok(0, "Unexpected call.\n"); - return E_NOTIMPL; -} - -static HRESULT WINAPI test_stream_sink_BeginGetEvent(IMFStreamSink *iface, IMFAsyncCallback *callback, IUnknown *state) +static HRESULT WINAPI test_media_sink_GetCharacteristics(IMFMediaSink *iface, DWORD *characteristics) { - ok(0, "Unexpected call.\n"); - return E_NOTIMPL; + *characteristics = 0; + return S_OK; }
-static HRESULT WINAPI test_stream_sink_EndGetEvent(IMFStreamSink *iface, IMFAsyncResult *result, - IMFMediaEvent **event) +static HRESULT WINAPI test_media_sink_AddStreamSink(IMFMediaSink *iface, + DWORD stream_sink_id, IMFMediaType *media_type, IMFStreamSink **stream_sink) { ok(0, "Unexpected call.\n"); return E_NOTIMPL; }
-static HRESULT WINAPI test_stream_sink_QueueEvent(IMFStreamSink *iface, MediaEventType event_type, - REFGUID ext_type, HRESULT hr, const PROPVARIANT *value) +static HRESULT WINAPI test_media_sink_RemoveStreamSink(IMFMediaSink *iface, DWORD stream_sink_id) { ok(0, "Unexpected call.\n"); return E_NOTIMPL; }
-static HRESULT WINAPI test_stream_sink_GetMediaSink(IMFStreamSink *iface, IMFMediaSink **sink) +static HRESULT WINAPI test_media_sink_GetStreamSinkCount(IMFMediaSink *iface, DWORD *count) { - struct test_stream_sink *impl = impl_from_IMFStreamSink(iface); - - if (impl->media_sink) - { - IMFMediaSink_AddRef((*sink = impl->media_sink)); - return S_OK; - } - - todo_wine ok(0, "Unexpected call.\n"); return E_NOTIMPL; }
-static HRESULT WINAPI test_stream_sink_GetIdentifier(IMFStreamSink *iface, DWORD *id) +static HRESULT WINAPI test_media_sink_GetStreamSinkByIndex(IMFMediaSink *iface, DWORD index, IMFStreamSink **sink) { ok(0, "Unexpected call.\n"); return E_NOTIMPL; }
-static HRESULT WINAPI test_stream_sink_GetMediaTypeHandler(IMFStreamSink *iface, IMFMediaTypeHandler **handler) +static HRESULT WINAPI test_media_sink_GetStreamSinkById(IMFMediaSink *iface, DWORD stream_sink_id, IMFStreamSink **sink) { - struct test_stream_sink *impl = impl_from_IMFStreamSink(iface); - - if (impl->handler) - { - IMFMediaTypeHandler_AddRef((*handler = impl->handler)); - return S_OK; - } - ok(0, "Unexpected call.\n"); return E_NOTIMPL; }
-static HRESULT WINAPI test_stream_sink_ProcessSample(IMFStreamSink *iface, IMFSample *sample) +static HRESULT WINAPI test_media_sink_SetPresentationClock(IMFMediaSink *iface, IMFPresentationClock *clock) { ok(0, "Unexpected call.\n"); return E_NOTIMPL; }
-static HRESULT WINAPI test_stream_sink_PlaceMarker(IMFStreamSink *iface, MFSTREAMSINK_MARKER_TYPE marker_type, - const PROPVARIANT *marker_value, const PROPVARIANT *context) +static HRESULT WINAPI test_media_sink_GetPresentationClock(IMFMediaSink *iface, IMFPresentationClock **clock) { ok(0, "Unexpected call.\n"); return E_NOTIMPL; }
-static HRESULT WINAPI test_stream_sink_Flush(IMFStreamSink *iface) +static HRESULT WINAPI test_media_sink_Shutdown(IMFMediaSink *iface) { - ok(0, "Unexpected call.\n"); - return E_NOTIMPL; + struct test_media_sink *sink = impl_from_IMFMediaSink(iface); + ok(!sink->shutdown, "Unexpected call.\n"); + sink->shutdown = TRUE; + return S_OK; }
-static const IMFStreamSinkVtbl test_stream_sink_vtbl = +static const IMFMediaSinkVtbl test_media_sink_vtbl = { - test_stream_sink_QueryInterface, - test_stream_sink_AddRef, - test_stream_sink_Release, - test_stream_sink_GetEvent, - test_stream_sink_BeginGetEvent, - test_stream_sink_EndGetEvent, - test_stream_sink_QueueEvent, - test_stream_sink_GetMediaSink, - test_stream_sink_GetIdentifier, - test_stream_sink_GetMediaTypeHandler, - test_stream_sink_ProcessSample, - test_stream_sink_PlaceMarker, - test_stream_sink_Flush, + test_media_sink_QueryInterface, + test_media_sink_AddRef, + test_media_sink_Release, + test_media_sink_GetCharacteristics, + test_media_sink_AddStreamSink, + test_media_sink_RemoveStreamSink, + test_media_sink_GetStreamSinkCount, + test_media_sink_GetStreamSinkByIndex, + test_media_sink_GetStreamSinkById, + test_media_sink_SetPresentationClock, + test_media_sink_GetPresentationClock, + test_media_sink_Shutdown, };
-static const struct test_stream_sink test_stream_sink = {.IMFStreamSink_iface.lpVtbl = &test_stream_sink_vtbl}; +static const struct test_media_sink test_media_sink = {.IMFMediaSink_iface.lpVtbl = &test_media_sink_vtbl};
struct test_callback {