mfplat: Add tracing for media formats guids.

Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
Nikolay Sivov 2019-03-25 10:43:00 +03:00 committed by Alexandre Julliard
parent 1d6634b2b2
commit 65e369444d
4 changed files with 272 additions and 2 deletions

View File

@ -686,6 +686,136 @@ static const char *debugstr_attr(const GUID *guid)
return ret ? wine_dbg_sprintf("%s", ret->name) : wine_dbgstr_guid(guid);
}
static const char *debugstr_mf_guid(const GUID *guid)
{
static const struct guid_def guid_defs[] =
{
#define X(g) { &(g), #g }
X(MFAudioFormat_ADTS),
X(MFAudioFormat_PCM),
X(MFAudioFormat_PCM_HDCP),
X(MFAudioFormat_Float),
X(MFAudioFormat_DTS),
X(MFAudioFormat_DRM),
X(MFAudioFormat_MSP1),
X(MFAudioFormat_Vorbis),
X(MFAudioFormat_AAC),
X(MFVideoFormat_RGB24),
X(MFVideoFormat_ARGB32),
X(MFVideoFormat_RGB32),
X(MFVideoFormat_RGB565),
X(MFVideoFormat_RGB555),
X(MFVideoFormat_A2R10G10B10),
X(MFMediaType_Script),
X(MFMediaType_Image),
X(MFMediaType_HTML),
X(MFMediaType_Binary),
X(MFVideoFormat_MPEG2),
X(MFMediaType_FileTransfer),
X(MFVideoFormat_RGB8),
X(MFAudioFormat_Dolby_AC3),
X(MFVideoFormat_L8),
X(MFAudioFormat_LPCM),
X(MFVideoFormat_420O),
X(MFVideoFormat_AI44),
X(MFVideoFormat_AV1),
X(MFVideoFormat_AYUV),
X(MFVideoFormat_H263),
X(MFVideoFormat_H264),
X(MFVideoFormat_H265),
X(MFVideoFormat_HEVC),
X(MFVideoFormat_HEVC_ES),
X(MFVideoFormat_I420),
X(MFVideoFormat_IYUV),
X(MFVideoFormat_M4S2),
X(MFVideoFormat_MJPG),
X(MFVideoFormat_MP43),
X(MFVideoFormat_MP4S),
X(MFVideoFormat_MP4V),
X(MFVideoFormat_MPG1),
X(MFVideoFormat_MSS1),
X(MFVideoFormat_MSS2),
X(MFVideoFormat_NV11),
X(MFVideoFormat_NV12),
X(MFVideoFormat_ORAW),
X(MFAudioFormat_Opus),
X(MFVideoFormat_D16),
X(MFAudioFormat_MPEG),
X(MFVideoFormat_P010),
X(MFVideoFormat_P016),
X(MFVideoFormat_P210),
X(MFVideoFormat_P216),
X(MFVideoFormat_L16),
X(MFAudioFormat_MP3),
X(MFVideoFormat_UYVY),
X(MFVideoFormat_VP10),
X(MFVideoFormat_VP80),
X(MFVideoFormat_VP90),
X(MFVideoFormat_WMV1),
X(MFVideoFormat_WMV2),
X(MFVideoFormat_WMV3),
X(MFVideoFormat_WVC1),
X(MFVideoFormat_Y210),
X(MFVideoFormat_Y216),
X(MFVideoFormat_Y410),
X(MFVideoFormat_Y416),
X(MFVideoFormat_Y41P),
X(MFVideoFormat_Y41T),
X(MFVideoFormat_Y42T),
X(MFVideoFormat_YUY2),
X(MFVideoFormat_YV12),
X(MFVideoFormat_YVU9),
X(MFVideoFormat_YVYU),
X(MFAudioFormat_WMAudioV8),
X(MFAudioFormat_ALAC),
X(MFAudioFormat_AMR_NB),
X(MFMediaType_Audio),
X(MFAudioFormat_WMAudioV9),
X(MFAudioFormat_AMR_WB),
X(MFAudioFormat_WMAudio_Lossless),
X(MFAudioFormat_AMR_WP),
X(MFAudioFormat_WMASPDIF),
X(MFVideoFormat_DV25),
X(MFVideoFormat_DV50),
X(MFVideoFormat_DVC),
X(MFVideoFormat_DVH1),
X(MFVideoFormat_DVHD),
X(MFVideoFormat_DVSD),
X(MFVideoFormat_DVSL),
X(MFVideoFormat_A16B16G16R16F),
X(MFVideoFormat_v210),
X(MFVideoFormat_v216),
X(MFVideoFormat_v410),
X(MFMediaType_Video),
X(MFAudioFormat_AAC_HDCP),
X(MFAudioFormat_Dolby_AC3_HDCP),
X(MFMediaType_Subtitle),
X(MFMediaType_Stream),
X(MFAudioFormat_Dolby_AC3_SPDIF),
X(MFAudioFormat_Float_SpatialObjects),
X(MFMediaType_SAMI),
X(MFAudioFormat_ADTS_HDCP),
X(MFAudioFormat_FLAC),
X(MFAudioFormat_Dolby_DDPlus),
X(MFMediaType_MultiplexedFrames),
X(MFAudioFormat_Base_HDCP),
X(MFVideoFormat_Base_HDCP),
X(MFVideoFormat_H264_HDCP),
X(MFVideoFormat_HEVC_HDCP),
X(MFMediaType_Default),
X(MFMediaType_Protected),
X(MFVideoFormat_H264_ES),
X(MFMediaType_Perception),
#undef X
};
struct guid_def *ret = NULL;
if (guid)
ret = bsearch(guid, guid_defs, ARRAY_SIZE(guid_defs), sizeof(*guid_defs), debug_compare_guid);
return ret ? wine_dbg_sprintf("%s", ret->name) : wine_dbgstr_guid(guid);
}
static inline struct attributes *impl_from_IMFAttributes(IMFAttributes *iface)
{
return CONTAINING_RECORD(iface, struct attributes, IMFAttributes_iface);
@ -1311,7 +1441,7 @@ static HRESULT WINAPI mfattributes_SetGUID(IMFAttributes *iface, REFGUID key, RE
struct attributes *attributes = impl_from_IMFAttributes(iface);
PROPVARIANT attrval;
TRACE("%p, %s, %s.\n", iface, debugstr_attr(key), debugstr_guid(value));
TRACE("%p, %s, %s.\n", iface, debugstr_attr(key), debugstr_mf_guid(value));
InitPropVariantFromCLSID(value, &attrval);
return attributes_set_item(attributes, key, &attrval);

View File

@ -48,6 +48,7 @@ extern "C" {
DEFINE_GUID(name, format, 0x0000, 0x0010, 0x80, 0x00, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71);
#ifndef DIRECT3D_VERSION
#define LOCAL_D3DFMT_DEFINES 1
#define D3DFMT_R8G8B8 20
#define D3DFMT_A8R8G8B8 21
#define D3DFMT_X8R8G8B8 22
@ -55,10 +56,13 @@ extern "C" {
#define D3DFMT_X1R5G5B5 24
#define D3DFMT_A2B10G10R10 31
#define D3DFMT_P8 41
#define D3DFMT_L8 50
#define D3DFMT_D16 80
#define D3DFMT_L16 81
#define D3DFMT_A16B16G16R16F 113
#endif
DEFINE_MEDIATYPE_GUID(MFVideoFormat_WMV3, MAKEFOURCC('W','M','V','3'));
DEFINE_MEDIATYPE_GUID(MFVideoFormat_Base, 0);
DEFINE_MEDIATYPE_GUID(MFVideoFormat_RGB8, D3DFMT_P8);
DEFINE_MEDIATYPE_GUID(MFVideoFormat_RGB555, D3DFMT_X1R5G5B5);
DEFINE_MEDIATYPE_GUID(MFVideoFormat_RGB565, D3DFMT_R5G6B5);
@ -67,6 +71,121 @@ DEFINE_MEDIATYPE_GUID(MFVideoFormat_RGB32, D3DFMT_X8R8G8B8);
DEFINE_MEDIATYPE_GUID(MFVideoFormat_ARGB32, D3DFMT_A8R8G8B8);
DEFINE_MEDIATYPE_GUID(MFVideoFormat_A2R10G10B10, D3DFMT_A2B10G10R10);
DEFINE_MEDIATYPE_GUID(MFVideoFormat_A16B16G16R16F, D3DFMT_A16B16G16R16F);
DEFINE_MEDIATYPE_GUID(MFVideoFormat_L8, D3DFMT_L8);
DEFINE_MEDIATYPE_GUID(MFVideoFormat_L16, D3DFMT_L16);
DEFINE_MEDIATYPE_GUID(MFVideoFormat_D16, D3DFMT_D16);
DEFINE_MEDIATYPE_GUID(MFVideoFormat_420O, MAKEFOURCC('4','2','0','O'));
DEFINE_MEDIATYPE_GUID(MFVideoFormat_DVSL, MAKEFOURCC('d','v','s','l'));
DEFINE_MEDIATYPE_GUID(MFVideoFormat_DVSD, MAKEFOURCC('d','v','s','d'));
DEFINE_MEDIATYPE_GUID(MFVideoFormat_DVHD, MAKEFOURCC('d','v','h','d'));
DEFINE_MEDIATYPE_GUID(MFVideoFormat_DV25, MAKEFOURCC('d','v','2','5'));
DEFINE_MEDIATYPE_GUID(MFVideoFormat_DV50, MAKEFOURCC('d','v','5','0'));
DEFINE_MEDIATYPE_GUID(MFVideoFormat_DVH1, MAKEFOURCC('d','v','h','1'));
DEFINE_MEDIATYPE_GUID(MFVideoFormat_DVC, MAKEFOURCC('d','v','c',' '));
DEFINE_MEDIATYPE_GUID(MFVideoFormat_v210, MAKEFOURCC('v','2','1','0'));
DEFINE_MEDIATYPE_GUID(MFVideoFormat_v216, MAKEFOURCC('v','2','1','6'));
DEFINE_MEDIATYPE_GUID(MFVideoFormat_v410, MAKEFOURCC('v','4','1','0'));
DEFINE_MEDIATYPE_GUID(MFVideoFormat_AI44, MAKEFOURCC('A','I','4','4'));
DEFINE_MEDIATYPE_GUID(MFVideoFormat_AV1, MAKEFOURCC('A','V','0','1'));
DEFINE_MEDIATYPE_GUID(MFVideoFormat_AYUV, MAKEFOURCC('A','Y','U','V'));
DEFINE_MEDIATYPE_GUID(MFVideoFormat_H263, MAKEFOURCC('H','2','6','3'));
DEFINE_MEDIATYPE_GUID(MFVideoFormat_H264, MAKEFOURCC('H','2','6','4'));
DEFINE_MEDIATYPE_GUID(MFVideoFormat_H265, MAKEFOURCC('H','2','6','5'));
DEFINE_MEDIATYPE_GUID(MFVideoFormat_HEVC, MAKEFOURCC('H','E','V','C'));
DEFINE_MEDIATYPE_GUID(MFVideoFormat_HEVC_ES, MAKEFOURCC('H','E','V','S'));
DEFINE_MEDIATYPE_GUID(MFVideoFormat_I420, MAKEFOURCC('I','4','2','0'));
DEFINE_MEDIATYPE_GUID(MFVideoFormat_IYUV, MAKEFOURCC('I','Y','U','V'));
DEFINE_MEDIATYPE_GUID(MFVideoFormat_M4S2, MAKEFOURCC('M','4','S','2'));
DEFINE_MEDIATYPE_GUID(MFVideoFormat_MJPG, MAKEFOURCC('M','J','P','G'));
DEFINE_MEDIATYPE_GUID(MFVideoFormat_MP43, MAKEFOURCC('M','P','4','3'));
DEFINE_MEDIATYPE_GUID(MFVideoFormat_MP4S, MAKEFOURCC('M','P','4','S'));
DEFINE_MEDIATYPE_GUID(MFVideoFormat_MP4V, MAKEFOURCC('M','P','4','V'));
DEFINE_MEDIATYPE_GUID(MFVideoFormat_MPG1, MAKEFOURCC('M','P','G','1'));
DEFINE_MEDIATYPE_GUID(MFVideoFormat_MSS1, MAKEFOURCC('M','S','S','1'));
DEFINE_MEDIATYPE_GUID(MFVideoFormat_MSS2, MAKEFOURCC('M','S','S','2'));
DEFINE_MEDIATYPE_GUID(MFVideoFormat_NV11, MAKEFOURCC('N','V','1','1'));
DEFINE_MEDIATYPE_GUID(MFVideoFormat_NV12, MAKEFOURCC('N','V','1','2'));
DEFINE_MEDIATYPE_GUID(MFVideoFormat_ORAW, MAKEFOURCC('O','R','A','W'));
DEFINE_MEDIATYPE_GUID(MFVideoFormat_P010, MAKEFOURCC('P','0','1','0'));
DEFINE_MEDIATYPE_GUID(MFVideoFormat_P016, MAKEFOURCC('P','0','1','6'));
DEFINE_MEDIATYPE_GUID(MFVideoFormat_P210, MAKEFOURCC('P','2','1','0'));
DEFINE_MEDIATYPE_GUID(MFVideoFormat_P216, MAKEFOURCC('P','2','1','6'));
DEFINE_MEDIATYPE_GUID(MFVideoFormat_UYVY, MAKEFOURCC('U','Y','V','Y'));
DEFINE_MEDIATYPE_GUID(MFVideoFormat_VP10, MAKEFOURCC('V','P','1','0'));
DEFINE_MEDIATYPE_GUID(MFVideoFormat_VP80, MAKEFOURCC('V','P','8','0'));
DEFINE_MEDIATYPE_GUID(MFVideoFormat_VP90, MAKEFOURCC('V','P','9','0'));
DEFINE_MEDIATYPE_GUID(MFVideoFormat_Y210, MAKEFOURCC('Y','2','1','0'));
DEFINE_MEDIATYPE_GUID(MFVideoFormat_Y216, MAKEFOURCC('Y','2','1','6'));
DEFINE_MEDIATYPE_GUID(MFVideoFormat_Y410, MAKEFOURCC('Y','4','1','0'));
DEFINE_MEDIATYPE_GUID(MFVideoFormat_Y416, MAKEFOURCC('Y','4','1','6'));
DEFINE_MEDIATYPE_GUID(MFVideoFormat_Y41P, MAKEFOURCC('Y','4','1','P'));
DEFINE_MEDIATYPE_GUID(MFVideoFormat_Y41T, MAKEFOURCC('Y','4','1','T'));
DEFINE_MEDIATYPE_GUID(MFVideoFormat_Y42T, MAKEFOURCC('Y','4','2','T'));
DEFINE_MEDIATYPE_GUID(MFVideoFormat_YUY2, MAKEFOURCC('Y','U','Y','2'));
DEFINE_MEDIATYPE_GUID(MFVideoFormat_YV12, MAKEFOURCC('Y','V','1','2'));
DEFINE_MEDIATYPE_GUID(MFVideoFormat_YVYU, MAKEFOURCC('Y','V','Y','U'));
DEFINE_MEDIATYPE_GUID(MFVideoFormat_YVU9, MAKEFOURCC('Y','V','U','9'));
DEFINE_MEDIATYPE_GUID(MFVideoFormat_WMV1, MAKEFOURCC('W','M','V','1'));
DEFINE_MEDIATYPE_GUID(MFVideoFormat_WMV2, MAKEFOURCC('W','M','V','2'));
DEFINE_MEDIATYPE_GUID(MFVideoFormat_WMV3, MAKEFOURCC('W','M','V','3'));
DEFINE_MEDIATYPE_GUID(MFVideoFormat_WVC1, MAKEFOURCC('W','V','C','1'));
DEFINE_GUID(MFVideoFormat_Base_HDCP, 0xeac3b9d5, 0xbd14, 0x4237, 0x8f, 0x1f, 0xba, 0xb4, 0x28, 0xe4, 0x93, 0x12);
DEFINE_GUID(MFVideoFormat_H264_ES, 0x3f40f4f0, 0x5622, 0x4ff8, 0xb6, 0xd8, 0xa1, 0x7a, 0x58, 0x4b, 0xee, 0x5e);
DEFINE_GUID(MFVideoFormat_H264_HDCP, 0x5d0ce9dd, 0x9817, 0x49da, 0xbd, 0xfd, 0xf5, 0xf5, 0xb9, 0x8f, 0x18, 0xa6);
DEFINE_GUID(MFVideoFormat_HEVC_HDCP, 0x3cfe0fe6, 0x05c4, 0x47dc, 0x9d, 0x70, 0x4b, 0xdb, 0x29, 0x59, 0x72, 0x0f);
DEFINE_GUID(MFVideoFormat_MPEG2, 0xe06d8026, 0xdb46, 0x11cf, 0xb4, 0xd1, 0x00, 0x80, 0x5f, 0x6c, 0xbb, 0xea);
#define MFVideoFormat_MPG2 MFVideoFormat_MPEG2
#ifdef LOCAL_D3DFMT_DEFINES
#undef D3DFMT_R8G8B8
#undef D3DFMT_A8R8G8B8
#undef D3DFMT_X8R8G8B8
#undef D3DFMT_R5G6B5
#undef D3DFMT_X1R5G5B5
#undef D3DFMT_A2B10G10R10
#undef D3DFMT_P8
#undef D3DFMT_L8
#undef D3DFMT_D16
#undef D3DFMT_L16
#undef D3DFMT_A16B16G16R16F
#undef LOCAL_D3DFMT_DEFINES
#endif
DEFINE_MEDIATYPE_GUID(MFAudioFormat_Base, 0);
DEFINE_MEDIATYPE_GUID(MFAudioFormat_AAC, WAVE_FORMAT_MPEG_HEAAC);
DEFINE_MEDIATYPE_GUID(MFAudioFormat_ADTS, WAVE_FORMAT_MPEG_ADTS_AAC);
DEFINE_MEDIATYPE_GUID(MFAudioFormat_ALAC, WAVE_FORMAT_ALAC);
DEFINE_MEDIATYPE_GUID(MFAudioFormat_AMR_NB, WAVE_FORMAT_AMR_NB);
DEFINE_MEDIATYPE_GUID(MFAudioFormat_AMR_WB, WAVE_FORMAT_AMR_WB);
DEFINE_MEDIATYPE_GUID(MFAudioFormat_AMR_WP, WAVE_FORMAT_AMR_WP);
DEFINE_MEDIATYPE_GUID(MFAudioFormat_Dolby_AC3_SPDIF, WAVE_FORMAT_DOLBY_AC3_SPDIF);
DEFINE_MEDIATYPE_GUID(MFAudioFormat_DRM, WAVE_FORMAT_DRM);
DEFINE_MEDIATYPE_GUID(MFAudioFormat_DTS, WAVE_FORMAT_DTS);
DEFINE_MEDIATYPE_GUID(MFAudioFormat_Float, WAVE_FORMAT_IEEE_FLOAT);
DEFINE_MEDIATYPE_GUID(MFAudioFormat_FLAC, WAVE_FORMAT_FLAC);
DEFINE_MEDIATYPE_GUID(MFAudioFormat_MP3, WAVE_FORMAT_MPEGLAYER3);
DEFINE_MEDIATYPE_GUID(MFAudioFormat_MPEG, WAVE_FORMAT_MPEG);
DEFINE_MEDIATYPE_GUID(MFAudioFormat_MSP1, WAVE_FORMAT_WMAVOICE9);
DEFINE_MEDIATYPE_GUID(MFAudioFormat_Opus, WAVE_FORMAT_OPUS);
DEFINE_MEDIATYPE_GUID(MFAudioFormat_PCM, WAVE_FORMAT_PCM);
DEFINE_MEDIATYPE_GUID(MFAudioFormat_WMAudioV8, WAVE_FORMAT_WMAUDIO2);
DEFINE_MEDIATYPE_GUID(MFAudioFormat_WMAudioV9, WAVE_FORMAT_WMAUDIO3);
DEFINE_MEDIATYPE_GUID(MFAudioFormat_WMAudio_Lossless, WAVE_FORMAT_WMAUDIO_LOSSLESS);
DEFINE_MEDIATYPE_GUID(MFAudioFormat_WMASPDIF, WAVE_FORMAT_WMASPDIF);
DEFINE_GUID(MFAudioFormat_AAC_HDCP, 0x419bce76, 0x8b72, 0x400f, 0xad, 0xeb, 0x84, 0xb5, 0x7d, 0x63, 0x48, 0x4d);
DEFINE_GUID(MFAudioFormat_ADTS_HDCP, 0xda4963a3, 0x14d8, 0x4dcf, 0x92, 0xb7, 0x19, 0x3e, 0xb8, 0x43, 0x63, 0xdb);
DEFINE_GUID(MFAudioFormat_Base_HDCP, 0x3884b5bc, 0xe277, 0x43fd, 0x98, 0x3d, 0x03, 0x8a, 0xa8, 0xd9, 0xb6, 0x05);
DEFINE_GUID(MFAudioFormat_Dolby_AC3, 0xe06d802c, 0xdb46, 0x11cf, 0xb4, 0xd1, 0x00, 0x80, 0x5f, 0x6c, 0xbb, 0xea);
DEFINE_GUID(MFAudioFormat_Dolby_AC3_HDCP, 0x97663a80, 0x8ffb, 0x4445, 0xa6, 0xba, 0x79, 0x2d, 0x90, 0x8f, 0x49, 0x7f);
DEFINE_GUID(MFAudioFormat_Dolby_DDPlus, 0xa7fb87af, 0x2d02, 0x42fb, 0xa4, 0xd4, 0x05, 0xcd, 0x93, 0x84, 0x3b, 0xdd);
DEFINE_GUID(MFAudioFormat_Float_SpatialObjects, 0xfa39cd94, 0xbc64, 0x4ab1, 0x9b, 0x71, 0xdc, 0xd0, 0x9d, 0x5a, 0x7e, 0x7a);
DEFINE_GUID(MFAudioFormat_LPCM, 0xe06d8032, 0xdb46, 0x11cf, 0xb4, 0xd1, 0x00, 0x80, 0x5f, 0x6c, 0xbb, 0xea);
DEFINE_GUID(MFAudioFormat_PCM_HDCP, 0xa5e7ff01, 0x8411, 0x4acc, 0xa8, 0x65, 0x5f, 0x49, 0x41, 0x28, 0x8d, 0x80);
DEFINE_GUID(MFAudioFormat_Vorbis, 0x8d2fd10b, 0x5841, 0x4a6b, 0x89, 0x05, 0x58, 0x8f, 0xec, 0x1a, 0xde, 0xd9);
#if defined(__cplusplus) && !defined(CINTERFACE)
typedef struct tagMFASYNCRESULT : public IMFAsyncResult {

View File

@ -77,11 +77,17 @@ typedef struct _WAVEFORMATEX {
/* WAVE form wFormatTag IDs */
#define WAVE_FORMAT_UNKNOWN 0x0000 /* Microsoft Corporation */
#ifndef WAVE_FORMAT_PCM
#define WAVE_FORMAT_PCM 0x0001
#endif
#define WAVE_FORMAT_ADPCM 0x0002 /* Microsoft Corporation */
#define WAVE_FORMAT_IEEE_FLOAT 0x0003 /* Microsoft Corporation */
#define WAVE_FORMAT_IBM_CVSD 0x0005 /* IBM Corporation */
#define WAVE_FORMAT_ALAW 0x0006 /* Microsoft Corporation */
#define WAVE_FORMAT_MULAW 0x0007 /* Microsoft Corporation */
#define WAVE_FORMAT_DTS 0x0008
#define WAVE_FORMAT_DRM 0x0009
#define WAVE_FORMAT_WMAVOICE9 0x000a
#define WAVE_FORMAT_OKI_ADPCM 0x0010 /* OKI */
#define WAVE_FORMAT_DVI_ADPCM 0x0011 /* Intel Corporation */
#define WAVE_FORMAT_IMA_ADPCM (WAVE_FORMAT_DVI_ADPCM) /* Intel Corporation */
@ -110,6 +116,11 @@ typedef struct _WAVEFORMATEX {
#define WAVE_FORMAT_MPEG 0x0050 /* Microsoft Corporation */
#define WAVE_FORMAT_MPEGLAYER3 0x0055
#define WAVE_FORMAT_MSRT24 0x0082 /* Microsoft Corporation */
#define WAVE_FORMAT_DOLBY_AC3_SPDIF 0x0092
#define WAVE_FORMAT_WMAUDIO2 0x0161
#define WAVE_FORMAT_WMAUDIO3 0x0162
#define WAVE_FORMAT_WMAUDIO_LOSSLESS 0x0163
#define WAVE_FORMAT_WMASPDIF 0x0164
#define WAVE_FORMAT_CREATIVE_ADPCM 0x0200 /* Creative Labs, Inc */
#define WAVE_FORMAT_CREATIVE_FASTSPEECH8 0x0202 /* Creative Labs, Inc */
#define WAVE_FORMAT_CREATIVE_FASTSPEECH10 0x0203 /* Creative Labs, Inc */
@ -119,6 +130,14 @@ typedef struct _WAVEFORMATEX {
#define WAVE_FORMAT_OLICELP 0x1002 /* Ing C. Olivetti & C., S.p.A. */
#define WAVE_FORMAT_OLISBC 0x1003 /* Ing C. Olivetti & C., S.p.A. */
#define WAVE_FORMAT_OLIOPR 0x1004 /* Ing C. Olivetti & C., S.p.A. */
#define WAVE_FORMAT_MPEG_ADTS_AAC 0x1600
#define WAVE_FORMAT_MPEG_HEAAC 0x1610
#define WAVE_FORMAT_ALAC 0x6c61
#define WAVE_FORMAT_OPUS 0x704f
#define WAVE_FORMAT_AMR_NB 0x7361
#define WAVE_FORMAT_AMR_WB 0x7362
#define WAVE_FORMAT_AMR_WP 0x7363
#define WAVE_FORMAT_FLAC 0xf1ac
#ifndef MM_MICROSOFT
#define MM_MICROSOFT 0x01

View File

@ -483,7 +483,9 @@ typedef struct waveformat_tag {
WORD nBlockAlign;
} WAVEFORMAT, *LPWAVEFORMAT;
#ifndef WAVE_FORMAT_PCM
#define WAVE_FORMAT_PCM 1
#endif
typedef struct pcmwaveformat_tag {
WAVEFORMAT wf;