Commit 5626c163 authored by Alistair Leslie-Hughes's avatar Alistair Leslie-Hughes Committed by Alexandre Julliard

xactengine3_7: Implement IXACT3Engine PrepareWave.

parent ea3096bd
...@@ -995,8 +995,35 @@ static HRESULT WINAPI IXACT3EngineImpl_PrepareWave(IXACT3Engine *iface, ...@@ -995,8 +995,35 @@ static HRESULT WINAPI IXACT3EngineImpl_PrepareWave(IXACT3Engine *iface,
IXACT3Wave **ppWave) IXACT3Wave **ppWave)
{ {
XACT3EngineImpl *This = impl_from_IXACT3Engine(iface); XACT3EngineImpl *This = impl_from_IXACT3Engine(iface);
FIXME("(%p): stub!\n", This); XACT3WaveImpl *wave;
return E_NOTIMPL; FACTWave *fwave = NULL;
UINT ret;
TRACE("(%p)->(0x%08x, %s, %d, %d, %d, %d, %p)\n", This, dwFlags, debugstr_a(szWavePath),
wStreamingPacketSize, dwAlignment, dwPlayOffset, nLoopCount, ppWave);
ret = FACTAudioEngine_PrepareWave(This->fact_engine, dwFlags, szWavePath, wStreamingPacketSize,
dwAlignment, dwPlayOffset, nLoopCount, &fwave);
if(ret != 0 || !fwave)
{
ERR("Failed to CreateWave: %d (%p)\n", ret, fwave);
return E_FAIL;
}
wave = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(*wave));
if (!wave)
{
FACTWave_Destroy(fwave);
return E_OUTOFMEMORY;
}
wave->IXACT3Wave_iface.lpVtbl = &XACT3Wave_Vtbl;
wave->fact_wave = fwave;
*ppWave = &wave->IXACT3Wave_iface;
TRACE("Created Wave: %p\n", wave);
return S_OK;
} }
enum { enum {
......
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