winegstreamer: Implement Get(Input/Output)CurrentType functions for audio converter transform.
Signed-off-by: Derek Lesho <dlesho@codeweavers.com> Signed-off-by: Zebediah Figura <zfigura@codeweavers.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
parent
8771d06b94
commit
f7230992cc
|
@ -423,16 +423,64 @@ static HRESULT WINAPI audio_converter_SetOutputType(IMFTransform *iface, DWORD i
|
|||
|
||||
static HRESULT WINAPI audio_converter_GetInputCurrentType(IMFTransform *iface, DWORD id, IMFMediaType **type)
|
||||
{
|
||||
FIXME("%p, %u, %p.\n", iface, id, type);
|
||||
struct audio_converter *converter = impl_audio_converter_from_IMFTransform(iface);
|
||||
IMFMediaType *ret;
|
||||
HRESULT hr;
|
||||
|
||||
return E_NOTIMPL;
|
||||
TRACE("%p, %u, %p.\n", converter, id, type);
|
||||
|
||||
if (id != 0)
|
||||
return MF_E_INVALIDSTREAMNUMBER;
|
||||
|
||||
if (FAILED(hr = MFCreateMediaType(&ret)))
|
||||
return hr;
|
||||
|
||||
EnterCriticalSection(&converter->cs);
|
||||
|
||||
if (converter->input_type)
|
||||
hr = IMFMediaType_CopyAllItems(converter->input_type, (IMFAttributes *)ret);
|
||||
else
|
||||
hr = MF_E_TRANSFORM_TYPE_NOT_SET;
|
||||
|
||||
LeaveCriticalSection(&converter->cs);
|
||||
|
||||
if (SUCCEEDED(hr))
|
||||
*type = ret;
|
||||
else
|
||||
IMFMediaType_Release(ret);
|
||||
|
||||
return hr;
|
||||
}
|
||||
|
||||
static HRESULT WINAPI audio_converter_GetOutputCurrentType(IMFTransform *iface, DWORD id, IMFMediaType **type)
|
||||
{
|
||||
FIXME("%p, %u, %p.\n", iface, id, type);
|
||||
struct audio_converter *converter = impl_audio_converter_from_IMFTransform(iface);
|
||||
IMFMediaType *ret;
|
||||
HRESULT hr;
|
||||
|
||||
return E_NOTIMPL;
|
||||
TRACE("%p, %u, %p.\n", converter, id, type);
|
||||
|
||||
if (id != 0)
|
||||
return MF_E_INVALIDSTREAMNUMBER;
|
||||
|
||||
if (FAILED(hr = MFCreateMediaType(&ret)))
|
||||
return hr;
|
||||
|
||||
EnterCriticalSection(&converter->cs);
|
||||
|
||||
if (converter->output_type)
|
||||
hr = IMFMediaType_CopyAllItems(converter->output_type, (IMFAttributes *)ret);
|
||||
else
|
||||
hr = MF_E_TRANSFORM_TYPE_NOT_SET;
|
||||
|
||||
LeaveCriticalSection(&converter->cs);
|
||||
|
||||
if (SUCCEEDED(hr))
|
||||
*type = ret;
|
||||
else
|
||||
IMFMediaType_Release(ret);
|
||||
|
||||
return hr;
|
||||
}
|
||||
|
||||
static HRESULT WINAPI audio_converter_GetInputStatus(IMFTransform *iface, DWORD id, DWORD *flags)
|
||||
|
|
Loading…
Reference in New Issue