Nikolay Sivov : mfplat: Set activation object attributes for enumeration results.
Alexandre Julliard
julliard at winehq.org
Tue Mar 3 16:24:53 CST 2020
Module: wine
Branch: master
Commit: 089da73865590a55ae5e9c44728871799ad4af64
URL: https://source.winehq.org/git/wine.git/?a=commit;h=089da73865590a55ae5e9c44728871799ad4af64
Author: Nikolay Sivov <nsivov at codeweavers.com>
Date: Tue Mar 3 12:22:44 2020 +0300
mfplat: Set activation object attributes for enumeration results.
Signed-off-by: Nikolay Sivov <nsivov at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>
---
dlls/mfplat/main.c | 22 +++++++++++++++++++++-
1 file changed, 21 insertions(+), 1 deletion(-)
diff --git a/dlls/mfplat/main.c b/dlls/mfplat/main.c
index e63b8fb9c2..d15bf00337 100644
--- a/dlls/mfplat/main.c
+++ b/dlls/mfplat/main.c
@@ -1265,7 +1265,27 @@ static HRESULT mft_enum(GUID category, UINT32 flags, const MFT_REGISTER_TYPE_INF
{
(*activate)[obj_count] = mft_activate;
- /* FIXME: set some attributes */
+ if (mft->flags & MFT_ENUM_FLAG_LOCALMFT)
+ {
+ IMFActivate_SetUINT32(mft_activate, &MFT_PROCESS_LOCAL_Attribute, 1);
+ }
+ else
+ {
+ if (mft->name)
+ IMFActivate_SetString(mft_activate, &MFT_FRIENDLY_NAME_Attribute, mft->name);
+ if (mft->input_types)
+ IMFActivate_SetBlob(mft_activate, &MFT_INPUT_TYPES_Attributes, (const UINT8 *)mft->input_types,
+ sizeof(*mft->input_types) * mft->input_types_count);
+ if (mft->output_types)
+ IMFActivate_SetBlob(mft_activate, &MFT_OUTPUT_TYPES_Attributes, (const UINT8 *)mft->output_types,
+ sizeof(*mft->output_types) * mft->output_types_count);
+ }
+
+ if (!mft->factory)
+ IMFActivate_SetGUID(mft_activate, &MFT_TRANSFORM_CLSID_Attribute, &mft->clsid);
+
+ IMFActivate_SetUINT32(mft_activate, &MF_TRANSFORM_FLAGS_Attribute, mft->flags);
+ IMFActivate_SetGUID(mft_activate, &MF_TRANSFORM_CATEGORY_Attribute, &mft->category);
obj_count++;
}
More information about the wine-cvs
mailing list