Commit 182ae5b1 authored by Davide Beatrici's avatar Davide Beatrici Committed by Alexandre Julliard

winepulse: Move AudioClient's GetCurrentPadding, GetStreamLatency, GetBufferSize into mmdevapi.

parent be356451
......@@ -244,6 +244,69 @@ const IAudioCaptureClientVtbl AudioCaptureClient_Vtbl =
capture_GetNextPacketSize
};
HRESULT WINAPI client_GetBufferSize(IAudioClient3 *iface, UINT32 *out)
{
struct audio_client *This = impl_from_IAudioClient3(iface);
struct get_buffer_size_params params;
TRACE("(%p)->(%p)\n", This, out);
if (!out)
return E_POINTER;
if (!This->stream)
return AUDCLNT_E_NOT_INITIALIZED;
params.stream = This->stream;
params.frames = out;
WINE_UNIX_CALL(get_buffer_size, &params);
return params.result;
}
HRESULT WINAPI client_GetStreamLatency(IAudioClient3 *iface, REFERENCE_TIME *latency)
{
struct audio_client *This = impl_from_IAudioClient3(iface);
struct get_latency_params params;
TRACE("(%p)->(%p)\n", This, latency);
if (!latency)
return E_POINTER;
if (!This->stream)
return AUDCLNT_E_NOT_INITIALIZED;
params.stream = This->stream;
params.latency = latency;
WINE_UNIX_CALL(get_latency, &params);
return params.result;
}
HRESULT WINAPI client_GetCurrentPadding(IAudioClient3 *iface, UINT32 *out)
{
struct audio_client *This = impl_from_IAudioClient3(iface);
struct get_current_padding_params params;
TRACE("(%p)->(%p)\n", This, out);
if (!out)
return E_POINTER;
if (!This->stream)
return AUDCLNT_E_NOT_INITIALIZED;
params.stream = This->stream;
params.padding = out;
WINE_UNIX_CALL(get_current_padding, &params);
return params.result;
}
HRESULT WINAPI client_IsFormatSupported(IAudioClient3 *iface, AUDCLNT_SHAREMODE mode,
const WAVEFORMATEX *fmt, WAVEFORMATEX **out)
{
......
......@@ -796,62 +796,14 @@ static HRESULT WINAPI AudioClient_Initialize(IAudioClient3 *iface,
return S_OK;
}
static HRESULT WINAPI AudioClient_GetBufferSize(IAudioClient3 *iface,
UINT32 *out)
{
ACImpl *This = impl_from_IAudioClient3(iface);
struct get_buffer_size_params params;
TRACE("(%p)->(%p)\n", This, out);
if (!out)
return E_POINTER;
if (!This->stream)
return AUDCLNT_E_NOT_INITIALIZED;
params.stream = This->stream;
params.frames = out;
pulse_call(get_buffer_size, &params);
return params.result;
}
static HRESULT WINAPI AudioClient_GetStreamLatency(IAudioClient3 *iface,
REFERENCE_TIME *latency)
{
ACImpl *This = impl_from_IAudioClient3(iface);
struct get_latency_params params;
TRACE("(%p)->(%p)\n", This, latency);
extern HRESULT WINAPI client_GetBufferSize(IAudioClient3 *iface,
UINT32 *out);
if (!latency)
return E_POINTER;
if (!This->stream)
return AUDCLNT_E_NOT_INITIALIZED;
params.stream = This->stream;
params.latency = latency;
pulse_call(get_latency, &params);
return params.result;
}
static HRESULT WINAPI AudioClient_GetCurrentPadding(IAudioClient3 *iface,
UINT32 *out)
{
ACImpl *This = impl_from_IAudioClient3(iface);
struct get_current_padding_params params;
TRACE("(%p)->(%p)\n", This, out);
if (!out)
return E_POINTER;
if (!This->stream)
return AUDCLNT_E_NOT_INITIALIZED;
extern HRESULT WINAPI client_GetStreamLatency(IAudioClient3 *iface,
REFERENCE_TIME *latency);
params.stream = This->stream;
params.padding = out;
pulse_call(get_current_padding, &params);
return params.result;
}
extern HRESULT WINAPI client_GetCurrentPadding(IAudioClient3 *iface,
UINT32 *out);
extern HRESULT WINAPI client_IsFormatSupported(IAudioClient3 *iface,
AUDCLNT_SHAREMODE mode, const WAVEFORMATEX *fmt,
......@@ -902,9 +854,9 @@ static const IAudioClient3Vtbl AudioClient3_Vtbl =
AudioClient_AddRef,
AudioClient_Release,
AudioClient_Initialize,
AudioClient_GetBufferSize,
AudioClient_GetStreamLatency,
AudioClient_GetCurrentPadding,
client_GetBufferSize,
client_GetStreamLatency,
client_GetCurrentPadding,
client_IsFormatSupported,
client_GetMixFormat,
client_GetDevicePeriod,
......
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