mfplat: Implement MFCreateVideoMediaType.

This commit is contained in:
Rémi Bernon 2024-05-06 11:21:08 +02:00 committed by Alexandre Julliard
parent 9fac589765
commit bf64ae2627
4 changed files with 27 additions and 2 deletions

View file

@ -8,7 +8,7 @@
@ stub MFConvertToFP16Array @ stub MFConvertToFP16Array
@ stdcall -import MFCopyImage(ptr long ptr long long long) @ stdcall -import MFCopyImage(ptr long ptr long long long)
@ stdcall -import MFCreateDXSurfaceBuffer(ptr ptr long ptr) @ stdcall -import MFCreateDXSurfaceBuffer(ptr ptr long ptr)
@ stub MFCreateVideoMediaType @ stdcall -import MFCreateVideoMediaType(ptr ptr)
@ stub MFCreateVideoMediaTypeFromBitMapInfoHeader @ stub MFCreateVideoMediaTypeFromBitMapInfoHeader
@ stdcall -import MFCreateVideoMediaTypeFromSubtype(ptr ptr) @ stdcall -import MFCreateVideoMediaTypeFromSubtype(ptr ptr)
@ stub MFCreateVideoMediaTypeFromVideoInfoHeader2 @ stub MFCreateVideoMediaTypeFromVideoInfoHeader2

View file

@ -3759,6 +3759,30 @@ static const GUID * get_mf_subtype_for_am_subtype(const GUID *subtype)
return subtype; return subtype;
} }
HRESULT WINAPI MFCreateVideoMediaType(const MFVIDEOFORMAT *format, IMFVideoMediaType **media_type)
{
struct media_type *object;
HRESULT hr;
TRACE("%p, %p.\n", format, media_type);
if (!media_type)
return E_INVALIDARG;
if (FAILED(hr = create_media_type(&object)))
return hr;
if (FAILED(hr = MFInitMediaTypeFromMFVideoFormat(&object->IMFMediaType_iface, format, format->dwSize)))
{
IMFMediaType_Release(&object->IMFMediaType_iface);
return hr;
}
*media_type = &object->IMFVideoMediaType_iface;
return hr;
}
/*********************************************************************** /***********************************************************************
* MFCreateVideoMediaTypeFromVideoInfoHeader (mfplat.@) * MFCreateVideoMediaTypeFromVideoInfoHeader (mfplat.@)
*/ */

View file

@ -76,7 +76,7 @@
@ stdcall MFCreateTransformActivate(ptr) @ stdcall MFCreateTransformActivate(ptr)
@ stub MFCreateURLFromPath @ stub MFCreateURLFromPath
@ stub MFCreateUdpSockets @ stub MFCreateUdpSockets
@ stub MFCreateVideoMediaType @ stdcall MFCreateVideoMediaType(ptr ptr)
@ stub MFCreateVideoMediaTypeFromBitMapInfoHeader @ stub MFCreateVideoMediaTypeFromBitMapInfoHeader
@ stub MFCreateVideoMediaTypeFromBitMapInfoHeaderEx @ stub MFCreateVideoMediaTypeFromBitMapInfoHeaderEx
@ stdcall MFCreateVideoMediaTypeFromSubtype(ptr ptr) @ stdcall MFCreateVideoMediaTypeFromSubtype(ptr ptr)

View file

@ -556,6 +556,7 @@ HRESULT WINAPI MFCreateMediaTypeFromRepresentation(GUID guid_representation, voi
HRESULT WINAPI MFCreateSample(IMFSample **sample); HRESULT WINAPI MFCreateSample(IMFSample **sample);
HRESULT WINAPI MFCreateTempFile(MF_FILE_ACCESSMODE accessmode, MF_FILE_OPENMODE openmode, MF_FILE_FLAGS flags, HRESULT WINAPI MFCreateTempFile(MF_FILE_ACCESSMODE accessmode, MF_FILE_OPENMODE openmode, MF_FILE_FLAGS flags,
IMFByteStream **bytestream); IMFByteStream **bytestream);
HRESULT WINAPI MFCreateVideoMediaType(const MFVIDEOFORMAT *format, IMFVideoMediaType **media_type);
HRESULT WINAPI MFCreateVideoMediaTypeFromSubtype(const GUID *subtype, IMFVideoMediaType **media_type); HRESULT WINAPI MFCreateVideoMediaTypeFromSubtype(const GUID *subtype, IMFVideoMediaType **media_type);
#ifdef _KSMEDIA_ #ifdef _KSMEDIA_