mfplat: Add a helper to have readable attribute names in traces.

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-14 11:03:06 +03:00 committed by Alexandre Julliard
parent 73355cab96
commit c0e458eebb
1 changed files with 80 additions and 69 deletions

View File

@ -34,6 +34,7 @@
#include "wine/list.h" #include "wine/list.h"
#include "mfplat_private.h" #include "mfplat_private.h"
#include "mfreadwrite.h"
WINE_DEFAULT_DEBUG_CHANNEL(mfplat); WINE_DEFAULT_DEBUG_CHANNEL(mfplat);
@ -532,6 +533,62 @@ HRESULT WINAPI MFCopyImage(BYTE *dest, LONG deststride, const BYTE *src, LONG sr
return S_OK; return S_OK;
} }
struct guid_def
{
const GUID *guid;
const char *name;
};
static int debug_compare_guid(const void *a, const void *b)
{
const GUID *guid = a;
const struct guid_def *guid_def = b;
return memcmp(guid, guid_def->guid, sizeof(*guid));
}
static const char *debugstr_attr(const GUID *guid)
{
static const struct guid_def guid_defs[] =
{
#define X(g) { &(g), #g }
X(MF_READWRITE_MMCSS_CLASS),
X(MF_SINK_WRITER_ENCODER_CONFIG),
X(MF_READWRITE_ENABLE_HARDWARE_TRANSFORMS),
X(MF_MT_PIXEL_ASPECT_RATIO),
X(MF_MT_AVG_BITRATE),
X(MF_MT_ALL_SAMPLES_INDEPENDENT),
X(MF_MT_FRAME_SIZE),
X(MF_SINK_WRITER_ASYNC_CALLBACK),
X(MF_MT_FRAME_RATE_RANGE_MAX),
X(MF_MT_USER_DATA),
X(MF_READWRITE_DISABLE_CONVERTERS),
X(MF_READWRITE_MMCSS_PRIORITY_AUDIO),
X(MF_BYTESTREAM_ORIGIN_NAME),
X(MF_BYTESTREAM_CONTENT_TYPE),
X(MF_BYTESTREAM_DURATION),
X(MF_BYTESTREAM_LAST_MODIFIED_TIME),
X(MF_MT_FRAME_RATE_RANGE_MIN),
X(MF_BYTESTREAM_IFO_FILE_URI),
X(MF_BYTESTREAM_DLNA_PROFILE_ID),
X(MF_MT_MAJOR_TYPE),
X(MF_MT_SUBTYPE),
X(MF_SINK_WRITER_D3D_MANAGER),
X(MF_MT_INTERLACE_MODE),
X(MF_READWRITE_MMCSS_PRIORITY),
X(MF_SINK_WRITER_DISABLE_THROTTLING),
X(MF_READWRITE_D3D_OPTIONAL),
X(MF_READWRITE_MMCSS_CLASS_AUDIO),
X(MF_MT_FRAME_RATE),
#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 mfattributes *impl_from_IMFAttributes(IMFAttributes *iface) static inline mfattributes *impl_from_IMFAttributes(IMFAttributes *iface)
{ {
return CONTAINING_RECORD(iface, mfattributes, IMFAttributes_iface); return CONTAINING_RECORD(iface, mfattributes, IMFAttributes_iface);
@ -586,27 +643,21 @@ static ULONG WINAPI mfattributes_Release(IMFAttributes *iface)
static HRESULT WINAPI mfattributes_GetItem(IMFAttributes *iface, REFGUID key, PROPVARIANT *value) static HRESULT WINAPI mfattributes_GetItem(IMFAttributes *iface, REFGUID key, PROPVARIANT *value)
{ {
mfattributes *This = impl_from_IMFAttributes(iface); FIXME("%p, %s, %p.\n", iface, debugstr_attr(key), value);
FIXME("%p, %s, %p\n", This, debugstr_guid(key), value);
return E_NOTIMPL; return E_NOTIMPL;
} }
static HRESULT WINAPI mfattributes_GetItemType(IMFAttributes *iface, REFGUID key, MF_ATTRIBUTE_TYPE *type) static HRESULT WINAPI mfattributes_GetItemType(IMFAttributes *iface, REFGUID key, MF_ATTRIBUTE_TYPE *type)
{ {
mfattributes *This = impl_from_IMFAttributes(iface); FIXME("%p, %s, %p.\n", iface, debugstr_attr(key), type);
FIXME("%p, %s, %p\n", This, debugstr_guid(key), type);
return E_NOTIMPL; return E_NOTIMPL;
} }
static HRESULT WINAPI mfattributes_CompareItem(IMFAttributes *iface, REFGUID key, REFPROPVARIANT value, BOOL *result) static HRESULT WINAPI mfattributes_CompareItem(IMFAttributes *iface, REFGUID key, REFPROPVARIANT value, BOOL *result)
{ {
mfattributes *This = impl_from_IMFAttributes(iface); FIXME("%p, %s, %p, %p.\n", iface, debugstr_attr(key), value, result);
FIXME("%p, %s, %p, %p\n", This, debugstr_guid(key), value, result);
return E_NOTIMPL; return E_NOTIMPL;
} }
@ -623,45 +674,35 @@ static HRESULT WINAPI mfattributes_Compare(IMFAttributes *iface, IMFAttributes *
static HRESULT WINAPI mfattributes_GetUINT32(IMFAttributes *iface, REFGUID key, UINT32 *value) static HRESULT WINAPI mfattributes_GetUINT32(IMFAttributes *iface, REFGUID key, UINT32 *value)
{ {
mfattributes *This = impl_from_IMFAttributes(iface); FIXME("%p, %s, %p.\n", iface, debugstr_attr(key), value);
FIXME("%p, %s, %p\n", This, debugstr_guid(key), value);
return E_NOTIMPL; return E_NOTIMPL;
} }
static HRESULT WINAPI mfattributes_GetUINT64(IMFAttributes *iface, REFGUID key, UINT64 *value) static HRESULT WINAPI mfattributes_GetUINT64(IMFAttributes *iface, REFGUID key, UINT64 *value)
{ {
mfattributes *This = impl_from_IMFAttributes(iface); FIXME("%p, %s, %p.\n", iface, debugstr_attr(key), value);
FIXME("%p, %s, %p\n", This, debugstr_guid(key), value);
return E_NOTIMPL; return E_NOTIMPL;
} }
static HRESULT WINAPI mfattributes_GetDouble(IMFAttributes *iface, REFGUID key, double *value) static HRESULT WINAPI mfattributes_GetDouble(IMFAttributes *iface, REFGUID key, double *value)
{ {
mfattributes *This = impl_from_IMFAttributes(iface); FIXME("%p, %s, %p.\n", iface, debugstr_attr(key), value);
FIXME("%p, %s, %p\n", This, debugstr_guid(key), value);
return E_NOTIMPL; return E_NOTIMPL;
} }
static HRESULT WINAPI mfattributes_GetGUID(IMFAttributes *iface, REFGUID key, GUID *value) static HRESULT WINAPI mfattributes_GetGUID(IMFAttributes *iface, REFGUID key, GUID *value)
{ {
mfattributes *This = impl_from_IMFAttributes(iface); FIXME("%p, %s, %p.\n", iface, debugstr_attr(key), value);
FIXME("%p, %s, %p\n", This, debugstr_guid(key), value);
return E_NOTIMPL; return E_NOTIMPL;
} }
static HRESULT WINAPI mfattributes_GetStringLength(IMFAttributes *iface, REFGUID key, UINT32 *length) static HRESULT WINAPI mfattributes_GetStringLength(IMFAttributes *iface, REFGUID key, UINT32 *length)
{ {
mfattributes *This = impl_from_IMFAttributes(iface); FIXME("%p, %s, %p.\n", iface, debugstr_attr(key), length);
FIXME("%p, %s, %p\n", This, debugstr_guid(key), length);
return E_NOTIMPL; return E_NOTIMPL;
} }
@ -669,9 +710,7 @@ static HRESULT WINAPI mfattributes_GetStringLength(IMFAttributes *iface, REFGUID
static HRESULT WINAPI mfattributes_GetString(IMFAttributes *iface, REFGUID key, WCHAR *value, static HRESULT WINAPI mfattributes_GetString(IMFAttributes *iface, REFGUID key, WCHAR *value,
UINT32 size, UINT32 *length) UINT32 size, UINT32 *length)
{ {
mfattributes *This = impl_from_IMFAttributes(iface); FIXME("%p, %s, %p, %d, %p.\n", iface, debugstr_attr(key), value, size, length);
FIXME("%p, %s, %p, %d, %p\n", This, debugstr_guid(key), value, size, length);
return E_NOTIMPL; return E_NOTIMPL;
} }
@ -679,18 +718,14 @@ static HRESULT WINAPI mfattributes_GetString(IMFAttributes *iface, REFGUID key,
static HRESULT WINAPI mfattributes_GetAllocatedString(IMFAttributes *iface, REFGUID key, static HRESULT WINAPI mfattributes_GetAllocatedString(IMFAttributes *iface, REFGUID key,
WCHAR **value, UINT32 *length) WCHAR **value, UINT32 *length)
{ {
mfattributes *This = impl_from_IMFAttributes(iface); FIXME("%p, %s, %p, %p.\n", iface, debugstr_attr(key), value, length);
FIXME("%p, %s, %p, %p\n", This, debugstr_guid(key), value, length);
return E_NOTIMPL; return E_NOTIMPL;
} }
static HRESULT WINAPI mfattributes_GetBlobSize(IMFAttributes *iface, REFGUID key, UINT32 *size) static HRESULT WINAPI mfattributes_GetBlobSize(IMFAttributes *iface, REFGUID key, UINT32 *size)
{ {
mfattributes *This = impl_from_IMFAttributes(iface); FIXME("%p, %s, %p.\n", iface, debugstr_attr(key), size);
FIXME("%p, %s, %p\n", This, debugstr_guid(key), size);
return E_NOTIMPL; return E_NOTIMPL;
} }
@ -698,45 +733,35 @@ static HRESULT WINAPI mfattributes_GetBlobSize(IMFAttributes *iface, REFGUID key
static HRESULT WINAPI mfattributes_GetBlob(IMFAttributes *iface, REFGUID key, UINT8 *buf, static HRESULT WINAPI mfattributes_GetBlob(IMFAttributes *iface, REFGUID key, UINT8 *buf,
UINT32 bufsize, UINT32 *blobsize) UINT32 bufsize, UINT32 *blobsize)
{ {
mfattributes *This = impl_from_IMFAttributes(iface); FIXME("%p, %s, %p, %d, %p.\n", iface, debugstr_attr(key), buf, bufsize, blobsize);
FIXME("%p, %s, %p, %d, %p\n", This, debugstr_guid(key), buf, bufsize, blobsize);
return E_NOTIMPL; return E_NOTIMPL;
} }
static HRESULT WINAPI mfattributes_GetAllocatedBlob(IMFAttributes *iface, REFGUID key, UINT8 **buf, UINT32 *size) static HRESULT WINAPI mfattributes_GetAllocatedBlob(IMFAttributes *iface, REFGUID key, UINT8 **buf, UINT32 *size)
{ {
mfattributes *This = impl_from_IMFAttributes(iface); FIXME("%p, %s, %p, %p.\n", iface, debugstr_attr(key), buf, size);
FIXME("%p, %s, %p, %p\n", This, debugstr_guid(key), buf, size);
return E_NOTIMPL; return E_NOTIMPL;
} }
static HRESULT WINAPI mfattributes_GetUnknown(IMFAttributes *iface, REFGUID key, REFIID riid, void **ppv) static HRESULT WINAPI mfattributes_GetUnknown(IMFAttributes *iface, REFGUID key, REFIID riid, void **ppv)
{ {
mfattributes *This = impl_from_IMFAttributes(iface); FIXME("%p, %s, %s, %p.\n", iface, debugstr_attr(key), debugstr_guid(riid), ppv);
FIXME("%p, %s, %s, %p\n", This, debugstr_guid(key), debugstr_guid(riid), ppv);
return E_NOTIMPL; return E_NOTIMPL;
} }
static HRESULT WINAPI mfattributes_SetItem(IMFAttributes *iface, REFGUID key, REFPROPVARIANT Value) static HRESULT WINAPI mfattributes_SetItem(IMFAttributes *iface, REFGUID key, REFPROPVARIANT Value)
{ {
mfattributes *This = impl_from_IMFAttributes(iface); FIXME("%p, %s, %p.\n", iface, debugstr_attr(key), Value);
FIXME("%p, %s, %p\n", This, debugstr_guid(key), Value);
return E_NOTIMPL; return E_NOTIMPL;
} }
static HRESULT WINAPI mfattributes_DeleteItem(IMFAttributes *iface, REFGUID key) static HRESULT WINAPI mfattributes_DeleteItem(IMFAttributes *iface, REFGUID key)
{ {
mfattributes *This = impl_from_IMFAttributes(iface); FIXME("%p, %s.\n", iface, debugstr_attr(key));
FIXME("%p, %s\n", This, debugstr_guid(key));
return E_NOTIMPL; return E_NOTIMPL;
} }
@ -752,63 +777,49 @@ static HRESULT WINAPI mfattributes_DeleteAllItems(IMFAttributes *iface)
static HRESULT WINAPI mfattributes_SetUINT32(IMFAttributes *iface, REFGUID key, UINT32 value) static HRESULT WINAPI mfattributes_SetUINT32(IMFAttributes *iface, REFGUID key, UINT32 value)
{ {
mfattributes *This = impl_from_IMFAttributes(iface); FIXME("%p, %s, %d.\n", iface, debugstr_attr(key), value);
FIXME("%p, %s, %d\n", This, debugstr_guid(key), value);
return E_NOTIMPL; return E_NOTIMPL;
} }
static HRESULT WINAPI mfattributes_SetUINT64(IMFAttributes *iface, REFGUID key, UINT64 value) static HRESULT WINAPI mfattributes_SetUINT64(IMFAttributes *iface, REFGUID key, UINT64 value)
{ {
mfattributes *This = impl_from_IMFAttributes(iface); FIXME("%p, %s, %s.\n", iface, debugstr_attr(key), wine_dbgstr_longlong(value));
FIXME("%p, %s, %s\n", This, debugstr_guid(key), wine_dbgstr_longlong(value));
return E_NOTIMPL; return E_NOTIMPL;
} }
static HRESULT WINAPI mfattributes_SetDouble(IMFAttributes *iface, REFGUID key, double value) static HRESULT WINAPI mfattributes_SetDouble(IMFAttributes *iface, REFGUID key, double value)
{ {
mfattributes *This = impl_from_IMFAttributes(iface); FIXME("%p, %s, %f.\n", iface, debugstr_attr(key), value);
FIXME("%p, %s, %f\n", This, debugstr_guid(key), value);
return E_NOTIMPL; return E_NOTIMPL;
} }
static HRESULT WINAPI mfattributes_SetGUID(IMFAttributes *iface, REFGUID key, REFGUID value) static HRESULT WINAPI mfattributes_SetGUID(IMFAttributes *iface, REFGUID key, REFGUID value)
{ {
mfattributes *This = impl_from_IMFAttributes(iface); FIXME("%p, %s, %s.\n", iface, debugstr_attr(key), debugstr_guid(value));
FIXME("%p, %s, %s\n", This, debugstr_guid(key), debugstr_guid(value));
return E_NOTIMPL; return E_NOTIMPL;
} }
static HRESULT WINAPI mfattributes_SetString(IMFAttributes *iface, REFGUID key, const WCHAR *value) static HRESULT WINAPI mfattributes_SetString(IMFAttributes *iface, REFGUID key, const WCHAR *value)
{ {
mfattributes *This = impl_from_IMFAttributes(iface); FIXME("%p, %s, %s.\n", iface, debugstr_attr(key), debugstr_w(value));
FIXME("%p, %s, %s\n", This, debugstr_guid(key), debugstr_w(value));
return E_NOTIMPL; return E_NOTIMPL;
} }
static HRESULT WINAPI mfattributes_SetBlob(IMFAttributes *iface, REFGUID key, const UINT8 *buf, UINT32 size) static HRESULT WINAPI mfattributes_SetBlob(IMFAttributes *iface, REFGUID key, const UINT8 *buf, UINT32 size)
{ {
mfattributes *This = impl_from_IMFAttributes(iface); FIXME("%p, %s, %p, %u.\n", iface, debugstr_attr(key), buf, size);
FIXME("%p, %s, %p, %d\n", This, debugstr_guid(key), buf, size);
return E_NOTIMPL; return E_NOTIMPL;
} }
static HRESULT WINAPI mfattributes_SetUnknown(IMFAttributes *iface, REFGUID key, IUnknown *unknown) static HRESULT WINAPI mfattributes_SetUnknown(IMFAttributes *iface, REFGUID key, IUnknown *unknown)
{ {
mfattributes *This = impl_from_IMFAttributes(iface); FIXME("%p, %s, %p.\n", iface, debugstr_attr(key), unknown);
FIXME("%p, %s, %p\n", This, debugstr_guid(key), unknown);
return E_NOTIMPL; return E_NOTIMPL;
} }