[PATCH 4/6] winegstreamer: Implement WMA decoder SetOutputType.

Zebediah Figura zfigura at codeweavers.com
Wed Feb 2 16:14:49 CST 2022


On 2/2/22 06:28, Rémi Bernon wrote:
> +    if (IsEqualGUID(&subtype, &MFAudioFormat_Float))
> +        sample_size = 32;
> +    else if (IsEqualGUID(&subtype, &MFAudioFormat_PCM))
> +        sample_size = 16;
> +    else
> +    {
> +        FIXME("Subtype %s not implemented!\n", debugstr_guid(&subtype));
> +        hr = E_NOTIMPL;
> +        return hr;
> +    }

This seems a bit redundant :-)

> +
> +    if (FAILED(IMFMediaType_SetUINT32(decoder->input_type, &MF_MT_AUDIO_BITS_PER_SAMPLE, sample_size)))
> +        return MF_E_INVALIDMEDIATYPE;
> +
> +    if (FAILED(IMFMediaType_GetItemType(type, &MF_MT_AUDIO_AVG_BYTES_PER_SECOND, &item_type)) ||
> +        item_type != MF_ATTRIBUTE_UINT32)
> +        return MF_E_INVALIDMEDIATYPE;
> +    if (FAILED(IMFMediaType_GetItemType(type, &MF_MT_AUDIO_BITS_PER_SAMPLE, &item_type)) ||
> +        item_type != MF_ATTRIBUTE_UINT32)
> +        return MF_E_INVALIDMEDIATYPE;
> +    if (FAILED(IMFMediaType_GetItemType(type, &MF_MT_AUDIO_NUM_CHANNELS, &item_type)) ||
> +        item_type != MF_ATTRIBUTE_UINT32)
> +        return MF_E_INVALIDMEDIATYPE;
> +    if (FAILED(IMFMediaType_GetItemType(type, &MF_MT_AUDIO_SAMPLES_PER_SECOND, &item_type)) ||
> +        item_type != MF_ATTRIBUTE_UINT32)
> +        return MF_E_INVALIDMEDIATYPE;
> +    if (FAILED(IMFMediaType_GetItemType(type, &MF_MT_AUDIO_BLOCK_ALIGNMENT, &item_type)) ||
> +        item_type != MF_ATTRIBUTE_UINT32)
> +        return MF_E_INVALIDMEDIATYPE;
> +
> +    if (!decoder->output_type && FAILED(hr = MFCreateMediaType(&decoder->output_type)))
> +        return hr;
> +
> +    if (FAILED(hr = IMFMediaType_CopyAllItems(type, (IMFAttributes *)decoder->output_type)))
> +        goto failed;

This also seems redundant, being the only user of this label.



More information about the wine-devel mailing list