Commit 43e70580 authored by Nikolay Sivov's avatar Nikolay Sivov Committed by Alexandre Julliard

mfplat/tests: Add some tests for legacy media type conersion functions.

parent 9eaeebf0
...@@ -12,7 +12,7 @@ ...@@ -12,7 +12,7 @@
@ stub MFCreateVideoMediaTypeFromBitMapInfoHeader @ stub MFCreateVideoMediaTypeFromBitMapInfoHeader
@ stdcall -import MFCreateVideoMediaTypeFromSubtype(ptr ptr) @ stdcall -import MFCreateVideoMediaTypeFromSubtype(ptr ptr)
@ stub MFCreateVideoMediaTypeFromVideoInfoHeader2 @ stub MFCreateVideoMediaTypeFromVideoInfoHeader2
@ stub MFCreateVideoMediaTypeFromVideoInfoHeader @ stdcall -import MFCreateVideoMediaTypeFromVideoInfoHeader(ptr long long long long int64 ptr ptr)
@ stdcall MFCreateVideoMixer(ptr ptr ptr ptr) @ stdcall MFCreateVideoMixer(ptr ptr ptr ptr)
@ stdcall MFCreateVideoMixerAndPresenter(ptr ptr ptr ptr ptr ptr) @ stdcall MFCreateVideoMixerAndPresenter(ptr ptr ptr ptr ptr ptr)
@ stub MFCreateVideoOTA @ stub MFCreateVideoOTA
......
...@@ -3557,3 +3557,37 @@ HRESULT WINAPI MFInitVideoFormat_RGB(MFVIDEOFORMAT *format, DWORD width, DWORD h ...@@ -3557,3 +3557,37 @@ HRESULT WINAPI MFInitVideoFormat_RGB(MFVIDEOFORMAT *format, DWORD width, DWORD h
return S_OK; return S_OK;
} }
/***********************************************************************
* MFCreateVideoMediaTypeFromVideoInfoHeader (mfplat.@)
*/
HRESULT WINAPI MFCreateVideoMediaTypeFromVideoInfoHeader(const KS_VIDEOINFOHEADER *vih, DWORD size, DWORD pixel_aspect_ratio_x,
DWORD pixel_aspect_ratio_y, MFVideoInterlaceMode interlace_mode, QWORD video_flags, const GUID *subtype,
IMFVideoMediaType **ret)
{
FIXME("%p, %lu, %lu, %lu, %d, %I64x, %s, %p.\n", vih, size, pixel_aspect_ratio_x, pixel_aspect_ratio_y, interlace_mode,
video_flags, debugstr_guid(subtype), ret);
return E_NOTIMPL;
}
/***********************************************************************
* MFInitMediaTypeFromVideoInfoHeader (mfplat.@)
*/
HRESULT WINAPI MFInitMediaTypeFromVideoInfoHeader(IMFMediaType *media_type, const VIDEOINFOHEADER *vih, UINT32 size,
const GUID *subtype)
{
FIXME("%p, %p, %u, %s.\n", media_type, vih, size, debugstr_guid(subtype));
return E_NOTIMPL;
}
/***********************************************************************
* MFInitMediaTypeFromAMMediaType (mfplat.@)
*/
HRESULT WINAPI MFInitMediaTypeFromAMMediaType(IMFMediaType *media_type, const AM_MEDIA_TYPE *am_type)
{
FIXME("%p, %p.\n", media_type, am_type);
return E_NOTIMPL;
}
...@@ -81,7 +81,7 @@ ...@@ -81,7 +81,7 @@
@ stub MFCreateVideoMediaTypeFromBitMapInfoHeaderEx @ stub MFCreateVideoMediaTypeFromBitMapInfoHeaderEx
@ stdcall MFCreateVideoMediaTypeFromSubtype(ptr ptr) @ stdcall MFCreateVideoMediaTypeFromSubtype(ptr ptr)
@ stub MFCreateVideoMediaTypeFromVideoInfoHeader2 @ stub MFCreateVideoMediaTypeFromVideoInfoHeader2
@ stub MFCreateVideoMediaTypeFromVideoInfoHeader @ stdcall MFCreateVideoMediaTypeFromVideoInfoHeader(ptr long long long long int64 ptr ptr)
@ stdcall MFCreateVideoSampleAllocatorEx(ptr ptr) @ stdcall MFCreateVideoSampleAllocatorEx(ptr ptr)
@ stdcall MFCreateWaveFormatExFromMFMediaType(ptr ptr ptr long) @ stdcall MFCreateWaveFormatExFromMFMediaType(ptr ptr ptr long)
@ stub MFDeserializeAttributesFromStream @ stub MFDeserializeAttributesFromStream
...@@ -119,12 +119,12 @@ ...@@ -119,12 +119,12 @@
@ stdcall MFHeapFree(ptr) @ stdcall MFHeapFree(ptr)
@ stub MFInitAMMediaTypeFromMFMediaType @ stub MFInitAMMediaTypeFromMFMediaType
@ stdcall MFInitAttributesFromBlob(ptr ptr long) @ stdcall MFInitAttributesFromBlob(ptr ptr long)
@ stub MFInitMediaTypeFromAMMediaType @ stdcall MFInitMediaTypeFromAMMediaType(ptr ptr)
@ stub MFInitMediaTypeFromMFVideoFormat @ stub MFInitMediaTypeFromMFVideoFormat
@ stub MFInitMediaTypeFromMPEG1VideoInfo @ stub MFInitMediaTypeFromMPEG1VideoInfo
@ stub MFInitMediaTypeFromMPEG2VideoInfo @ stub MFInitMediaTypeFromMPEG2VideoInfo
@ stub MFInitMediaTypeFromVideoInfoHeader2 @ stub MFInitMediaTypeFromVideoInfoHeader2
@ stub MFInitMediaTypeFromVideoInfoHeader @ stdcall MFInitMediaTypeFromVideoInfoHeader(ptr ptr long ptr)
@ stdcall MFInitMediaTypeFromWaveFormatEx(ptr ptr long) @ stdcall MFInitMediaTypeFromWaveFormatEx(ptr ptr long)
@ stub MFInitVideoFormat @ stub MFInitVideoFormat
@ stdcall MFInitVideoFormat_RGB(ptr long long long) @ stdcall MFInitVideoFormat_RGB(ptr long long long)
......
...@@ -143,4 +143,29 @@ typedef struct _tagKSJACK_DESCRIPTION2 ...@@ -143,4 +143,29 @@ typedef struct _tagKSJACK_DESCRIPTION2
typedef struct _tagKSJACK_DESCRIPTION2 *PKSJACK_DESCRIPTION2; typedef struct _tagKSJACK_DESCRIPTION2 *PKSJACK_DESCRIPTION2;
typedef struct tagKS_BITMAPINFOHEADER
{
DWORD biSize;
LONG biWidth;
LONG biHeight;
WORD biPlanes;
WORD biBitCount;
DWORD biCompression;
DWORD biSizeImage;
LONG biXPelsPerMeter;
LONG biYPelsPerMeter;
DWORD biClrUsed;
DWORD biClrImportant;
} KS_BITMAPINFOHEADER, *PKS_BITMAPINFOHEADER;
typedef struct tagKS_VIDEOINFOHEADER
{
RECT rcSource;
RECT rcTarget;
DWORD dwBitRate;
DWORD dwBitErrorRate;
REFERENCE_TIME AvgTimePerFrame;
KS_BITMAPINFOHEADER bmiHeader;
} KS_VIDEOINFOHEADER, *PKS_VIDEOINFOHEADER;
#endif /* _KSMEDIA_ */ #endif /* _KSMEDIA_ */
...@@ -222,6 +222,13 @@ typedef enum _EAllocationType ...@@ -222,6 +222,13 @@ typedef enum _EAllocationType
eAllocationTypeIgnore eAllocationTypeIgnore
} EAllocationType; } EAllocationType;
typedef enum _MFVideoDRMFlags
{
MFVideoDRMFlag_None = 0,
MFVideoDRMFlag_AnalogProtected,
MFVideoDRMFlag_DigitallyProtected,
} MFVideoDRMFlags;
#ifdef MF_INIT_GUIDS #ifdef MF_INIT_GUIDS
#include <initguid.h> #include <initguid.h>
#endif #endif
...@@ -497,6 +504,9 @@ typedef enum ...@@ -497,6 +504,9 @@ typedef enum
#define MF_E_DXGI_NEW_VIDEO_DEVICE ((HRESULT)0x80041001) #define MF_E_DXGI_NEW_VIDEO_DEVICE ((HRESULT)0x80041001)
#define MF_E_DXGI_VIDEO_DEVICE_LOCKED ((HRESULT)0x80041002) #define MF_E_DXGI_VIDEO_DEVICE_LOCKED ((HRESULT)0x80041002)
struct tagVIDEOINFOHEADER;
typedef struct tagVIDEOINFOHEADER VIDEOINFOHEADER;
HRESULT WINAPI MFAddPeriodicCallback(MFPERIODICCALLBACK callback, IUnknown *context, DWORD *key); HRESULT WINAPI MFAddPeriodicCallback(MFPERIODICCALLBACK callback, IUnknown *context, DWORD *key);
HRESULT WINAPI MFAllocateSerialWorkQueue(DWORD target_queue, DWORD *queue); HRESULT WINAPI MFAllocateSerialWorkQueue(DWORD target_queue, DWORD *queue);
HRESULT WINAPI MFAllocateWorkQueue(DWORD *queue); HRESULT WINAPI MFAllocateWorkQueue(DWORD *queue);
...@@ -538,6 +548,13 @@ HRESULT WINAPI MFCreateSample(IMFSample **sample); ...@@ -538,6 +548,13 @@ 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 MFCreateVideoMediaTypeFromSubtype(const GUID *subtype, IMFVideoMediaType **media_type); HRESULT WINAPI MFCreateVideoMediaTypeFromSubtype(const GUID *subtype, IMFVideoMediaType **media_type);
#ifdef _KSMEDIA_
HRESULT WINAPI MFCreateVideoMediaTypeFromVideoInfoHeader(const KS_VIDEOINFOHEADER *vih, DWORD size, DWORD pixel_aspect_ratio_x,
DWORD pixel_aspect_ratio_y, MFVideoInterlaceMode interlace_mode, QWORD video_flags, const GUID *subtype,
IMFVideoMediaType **media_type);
#endif
HRESULT WINAPI MFCreateVideoSampleAllocatorEx(REFIID riid, void **allocator); HRESULT WINAPI MFCreateVideoSampleAllocatorEx(REFIID riid, void **allocator);
HRESULT WINAPI MFCreateMemoryBuffer(DWORD max_length, IMFMediaBuffer **buffer); HRESULT WINAPI MFCreateMemoryBuffer(DWORD max_length, IMFMediaBuffer **buffer);
HRESULT WINAPI MFCreateWaveFormatExFromMFMediaType(IMFMediaType *type, WAVEFORMATEX **format, UINT32 *size, UINT32 flags); HRESULT WINAPI MFCreateWaveFormatExFromMFMediaType(IMFMediaType *type, WAVEFORMATEX **format, UINT32 *size, UINT32 flags);
...@@ -567,6 +584,9 @@ HRESULT WINAPI MFTGetInfo(CLSID clsid, WCHAR **name, MFT_REGISTER_TYPE_INFO **in ...@@ -567,6 +584,9 @@ HRESULT WINAPI MFTGetInfo(CLSID clsid, WCHAR **name, MFT_REGISTER_TYPE_INFO **in
MFT_REGISTER_TYPE_INFO **output_types, UINT32 *output_types_count, IMFAttributes **attributes); MFT_REGISTER_TYPE_INFO **output_types, UINT32 *output_types_count, IMFAttributes **attributes);
BOOL WINAPI MFIsFormatYUV(DWORD format); BOOL WINAPI MFIsFormatYUV(DWORD format);
HRESULT WINAPI MFInitAttributesFromBlob(IMFAttributes *attributes, const UINT8 *buffer, UINT size); HRESULT WINAPI MFInitAttributesFromBlob(IMFAttributes *attributes, const UINT8 *buffer, UINT size);
HRESULT WINAPI MFInitMediaTypeFromAMMediaType(IMFMediaType *mediatype, const AM_MEDIA_TYPE *am_type);
HRESULT WINAPI MFInitMediaTypeFromVideoInfoHeader(IMFMediaType *media_type, const VIDEOINFOHEADER *vih,
UINT32 size, const GUID *subtype);
HRESULT WINAPI MFInitMediaTypeFromWaveFormatEx(IMFMediaType *mediatype, const WAVEFORMATEX *format, UINT32 size); HRESULT WINAPI MFInitMediaTypeFromWaveFormatEx(IMFMediaType *mediatype, const WAVEFORMATEX *format, UINT32 size);
HRESULT WINAPI MFInitVideoFormat_RGB(MFVIDEOFORMAT *format, DWORD width, DWORD height, DWORD d3dformat); HRESULT WINAPI MFInitVideoFormat_RGB(MFVIDEOFORMAT *format, DWORD width, DWORD height, DWORD d3dformat);
HRESULT WINAPI MFInvokeCallback(IMFAsyncResult *result); HRESULT WINAPI MFInvokeCallback(IMFAsyncResult *result);
......
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