Commit 6010ebb2 authored by Anton Baskanov's avatar Anton Baskanov Committed by Alexandre Julliard

amstream: Implement AMAudioData::GetInfo.

parent 4a0db156
......@@ -30,6 +30,9 @@ WINE_DEFAULT_DEBUG_CHANNEL(amstream);
typedef struct {
IAudioData IAudioData_iface;
LONG ref;
DWORD size;
BYTE *data;
DWORD actual_data;
} AMAudioDataImpl;
static inline AMAudioDataImpl *impl_from_IAudioData(IAudioData *iface)
......@@ -87,9 +90,29 @@ static HRESULT WINAPI IAudioDataImpl_SetBuffer(IAudioData* iface, DWORD size, BY
static HRESULT WINAPI IAudioDataImpl_GetInfo(IAudioData* iface, DWORD *length, BYTE **data, DWORD *actual_data)
{
FIXME("(%p)->(%p,%p,%p): stub\n", iface, length, data, actual_data);
AMAudioDataImpl *This = impl_from_IAudioData(iface);
return E_NOTIMPL;
TRACE("(%p)->(%p,%p,%p)\n", iface, length, data, actual_data);
if (!This->data)
{
return MS_E_NOTINIT;
}
if (length)
{
*length = This->size;
}
if (data)
{
*data = This->data;
}
if (actual_data)
{
*actual_data = This->actual_data;
}
return S_OK;
}
static HRESULT WINAPI IAudioDataImpl_SetActual(IAudioData* iface, DWORD data_valid)
......
......@@ -626,6 +626,30 @@ static void test_audiodata_query_interface(void)
IUnknown_Release(unknown);
}
static void test_audiodata_get_info(void)
{
IUnknown *unknown = create_audio_data();
IAudioData *audio_data = NULL;
HRESULT result;
result = IUnknown_QueryInterface(unknown, &IID_IAudioData, (void **)&audio_data);
if (FAILED(result))
{
/* test_audiodata_query_interface handles this case */
skip("No IAudioData\n");
goto out_unknown;
}
result = IAudioData_GetInfo(audio_data, NULL, NULL, NULL);
ok(MS_E_NOTINIT == result, "got 0x%08x\n", result);
IAudioData_Release(audio_data);
out_unknown:
IUnknown_Release(unknown);
}
START_TEST(amstream)
{
HANDLE file;
......@@ -645,6 +669,7 @@ START_TEST(amstream)
}
test_audiodata_query_interface();
test_audiodata_get_info();
CoUninitialize();
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment