Module: wine Branch: master Commit: 75a88146338d409489682bbc88cfc54224a93812 URL: http://source.winehq.org/git/wine.git/?a=commit;h=75a88146338d409489682bbc88...
Author: Dmitry Timoshkov dmitry@baikal.ru Date: Wed Jun 20 14:00:17 2012 +0900
windowscodecs: Implement MetadataHandler_GetMetadataFormat.
---
dlls/windowscodecs/metadatahandler.c | 28 +++++++++++++++++++--------- dlls/windowscodecs/tests/metadata.c | 2 -- 2 files changed, 19 insertions(+), 11 deletions(-)
diff --git a/dlls/windowscodecs/metadatahandler.c b/dlls/windowscodecs/metadatahandler.c index 80fd32d..f8b8fcb 100644 --- a/dlls/windowscodecs/metadatahandler.c +++ b/dlls/windowscodecs/metadatahandler.c @@ -133,15 +133,6 @@ static ULONG WINAPI MetadataHandler_Release(IWICMetadataWriter *iface) return ref; }
-static HRESULT WINAPI MetadataHandler_GetMetadataFormat(IWICMetadataWriter *iface, - GUID *pguidMetadataFormat) -{ - if (!pguidMetadataFormat) return E_INVALIDARG; - - FIXME("(%p,%s): stub\n", iface, debugstr_guid(pguidMetadataFormat)); - return E_NOTIMPL; -} - static HRESULT WINAPI MetadataHandler_GetMetadataHandlerInfo(IWICMetadataWriter *iface, IWICMetadataHandlerInfo **ppIHandler) { @@ -161,6 +152,25 @@ static HRESULT WINAPI MetadataHandler_GetMetadataHandlerInfo(IWICMetadataWriter return hr; }
+static HRESULT WINAPI MetadataHandler_GetMetadataFormat(IWICMetadataWriter *iface, + GUID *pguidMetadataFormat) +{ + HRESULT hr; + IWICMetadataHandlerInfo *metadata_info; + + TRACE("%p,%p\n", iface, pguidMetadataFormat); + + if (!pguidMetadataFormat) return E_INVALIDARG; + + hr = MetadataHandler_GetMetadataHandlerInfo(iface, &metadata_info); + if (FAILED(hr)) return hr; + + hr = IWICMetadataHandlerInfo_GetMetadataFormat(metadata_info, pguidMetadataFormat); + IWICMetadataHandlerInfo_Release(metadata_info); + + return hr; +} + static HRESULT WINAPI MetadataHandler_GetCount(IWICMetadataWriter *iface, UINT *pcCount) { diff --git a/dlls/windowscodecs/tests/metadata.c b/dlls/windowscodecs/tests/metadata.c index cf00f1f..e746c89 100644 --- a/dlls/windowscodecs/tests/metadata.c +++ b/dlls/windowscodecs/tests/metadata.c @@ -418,9 +418,7 @@ static void test_metadata_IFD(void) IWICEnumMetadataItem_Release(enumerator);
hr = IWICMetadataReader_GetMetadataFormat(reader, &format); -todo_wine ok(hr == S_OK, "GetMetadataFormat error %#x\n", hr); -todo_wine ok(IsEqualGUID(&format, &GUID_MetadataFormatIfd), "unexpected format %s\n", debugstr_guid(&format));
hr = IWICMetadataReader_GetMetadataFormat(reader, NULL);