Gabriel Ivăncescu : qedit: Retrieve the pin media type using a helper function.
Module: wine Branch: master Commit: ef00425a9c73e92da7bd1129d0c188243eba3c93 URL: https://source.winehq.org/git/wine.git/?a=commit;h=ef00425a9c73e92da7bd1129d... Author: Gabriel Ivăncescu <gabrielopcode(a)gmail.com> Date: Mon Apr 27 14:14:03 2020 -0500 qedit: Retrieve the pin media type using a helper function. Signed-off-by: Gabriel Ivăncescu <gabrielopcode(a)gmail.com> Signed-off-by: Zebediah Figura <z.figura12(a)gmail.com> Signed-off-by: Alexandre Julliard <julliard(a)winehq.org> --- dlls/qedit/mediadet.c | 38 +++++++++++++++++++------------------- 1 file changed, 19 insertions(+), 19 deletions(-) diff --git a/dlls/qedit/mediadet.c b/dlls/qedit/mediadet.c index 392320560b..3c00a85b9e 100644 --- a/dlls/qedit/mediadet.c +++ b/dlls/qedit/mediadet.c @@ -103,6 +103,24 @@ static HRESULT get_filter_info(IMoniker *moniker, GUID *clsid, VARIANT *var) return hr; } +static HRESULT get_pin_media_type(IPin *pin, AM_MEDIA_TYPE *out) +{ + IEnumMediaTypes *enummt; + AM_MEDIA_TYPE *pmt; + HRESULT hr; + + if (FAILED(hr = IPin_EnumMediaTypes(pin, &enummt))) + return hr; + hr = IEnumMediaTypes_Next(enummt, 1, &pmt, NULL); + IEnumMediaTypes_Release(enummt); + if (hr != S_OK) + return E_NOINTERFACE; + + *out = *pmt; + CoTaskMemFree(pmt); + return S_OK; +} + static HRESULT find_splitter(MediaDetImpl *detector) { IPin *source_pin, *splitter_pin; @@ -611,9 +629,6 @@ static HRESULT WINAPI MediaDet_get_StreamMediaType(IMediaDet* iface, AM_MEDIA_TYPE *pVal) { MediaDetImpl *This = impl_from_IMediaDet(iface); - IEnumMediaTypes *types; - AM_MEDIA_TYPE *pmt; - HRESULT hr; TRACE("(%p)\n", This); @@ -623,22 +638,7 @@ static HRESULT WINAPI MediaDet_get_StreamMediaType(IMediaDet* iface, if (!This->cur_pin) return E_INVALIDARG; - hr = IPin_EnumMediaTypes(This->cur_pin, &types); - if (SUCCEEDED(hr)) - { - hr = (IEnumMediaTypes_Next(types, 1, &pmt, NULL) == S_OK - ? S_OK - : E_NOINTERFACE); - IEnumMediaTypes_Release(types); - } - - if (SUCCEEDED(hr)) - { - *pVal = *pmt; - CoTaskMemFree(pmt); - } - - return hr; + return get_pin_media_type(This->cur_pin, pVal); } static HRESULT WINAPI MediaDet_GetSampleGrabber(IMediaDet* iface,
participants (1)
-
Alexandre Julliard