On Wed, Jul 27, 2016 at 11:07 PM, wine-devel-request@winehq.org wrote:
---------- Forwarded message ---------- From: Nikolay Sivov bunglehead@gmail.com To: wine-devel@winehq.org Cc: Date: Wed, 27 Jul 2016 17:39:26 +0300 Subject: Re: [PATCH 1/6] amstream: Fix AMAudioData::QueryInterface. On 27.07.2016 15:51, Anton Baskanov wrote:
Signed-off-by: Anton Baskanov baskanov@gmail.com
dlls/amstream/audiodata.c | 1 - dlls/amstream/tests/Makefile.in | 3 +- dlls/amstream/tests/audiodata.c | 67
+++++++++++++++++++++++++++++++++++++++++
3 files changed, 69 insertions(+), 2 deletions(-) create mode 100755 dlls/amstream/tests/audiodata.c
Hi, Anton.
Please keep tests in existing amstream.c file.
+static void test_query_interface(void) +{
- IUnknown *unknown = create_audio_data();
- IMemoryData *memory_data = NULL;
- IAudioData *audio_data = NULL;
- HRESULT result = S_OK;
result initialization is not needed;
- result = IUnknown_QueryInterface(unknown, &IID_IMemoryData, (void
**)&memory_data);
- ok(E_NOINTERFACE == result, "got 0x%08x\n", result);
- if (S_OK == result)
- {
IMemoryData_Release(memory_data);
- }
If it always fails, there's no reason add conditional Release.
- result = IUnknown_QueryInterface(unknown, &IID_IAudioData, (void
**)&audio_data);
- ok(S_OK == result, "got 0x%08x\n", result);
- if (S_OK == result)
- {
IAudioData_Release(audio_data);
- }
- IUnknown_Release(unknown);
+}
Could you check if you can query IMemoryData from IAudioData? It seems really weird if parent interface is not supported at all.
Hi, Nikolay.
Thanks for the review!
I've checked QueryInterface from IAudioData, and it also fails with IID_IMemoryData.
I've fixed the issues and sent the updated patches.