[PATCH v2 1/4] winegstreamer: Introduce audio conversion transform.
Derek Lesho
dlesho at codeweavers.com
Tue Dec 1 15:57:16 CST 2020
On 12/1/20 3:00 PM, Zebediah Figura (she/her) wrote:
>
>> +HRESULT mfplat_DllRegisterServer(void)
>> +{
>> + unsigned int i;
>> + HRESULT hr;
>> +
>> + for (i = 0; i < ARRAY_SIZE(mfts); i++)
>> + {
>> + const struct mft *cur = &mfts[i];
>> +
>> + MFT_REGISTER_TYPE_INFO *input_types, *output_types;
>> + input_types = heap_alloc(cur->input_types_count * sizeof(input_types[0]));
>> + output_types = heap_alloc(cur->output_types_count * sizeof(output_types[0]));
> Separately, I think it'd be better just to use MFT_REGISTER_TYPE_INFO
> directly in your "struct mft", and avoid allocation. It'd have to be
> non-const (or duplicate GUID definitions), but I think that's less
> awkward on the whole.
I'm trying to implement this now, but I'm having trouble with it.
MFT_REGISTER_TYPE_INFO consists of GUID value fields, not GUID pointer
fields. I'm not sure if there's a clean way to fill GUID fields of a
struct in an initialization list, even when the array is not const. I
definitely don't want to duplicate the GUID definitions, that would be
ugly. Also, I'm not sure I necessarily I agree this solution is better
than just having some heap allocations in DllRegisterServer, it's not in
what I would call a hotpath.
More information about the wine-devel
mailing list